Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Graphics Science

Content-Aware Image Resizing 174

An anonymous reader writes "At the SIGGRAPH 2007 conference in San Diego, two Israeli professors, Shai Avidan and Ariel Shamir, have demonstrated a new method to shrink images. The method is called 'Seam Carving for Content-Aware Image Resizing' (PDF paper here) and it figures out which parts of an image are less significant. This makes it possible to change the aspect ratio of an image without making the content look skewed or stretched out. There is a video demonstration up on YouTube."
This discussion has been archived. No new comments can be posted.

Content-Aware Image Resizing

Comments Filter:
  • The paper via ACM (Score:5, Informative)

    by xenocide2 ( 231786 ) on Saturday August 25, 2007 @07:38PM (#20357465) Homepage
    The author's website was pegged serving that 20MB PDF before slashdot got ahold of it, I doubt it'll survive now. The paper is also hosted by the ACM [acm.org], if you're a subscriber.
    • Re:The paper via ACM (Score:5, Informative)

      by spydir31 ( 312329 ) * <hastur@hastu[ ]n.com ['rku' in gap]> on Saturday August 25, 2007 @08:09PM (#20357685) Homepage
      The Coral Cache" [nyud.net] has it also.
    • Re:The paper via ACM (Score:5, Informative)

      by Anonymous Coward on Saturday August 25, 2007 @08:23PM (#20357763)
      I used a lossy compression algorithm on their paper and got this...

      Shrink image:
      Step 1: Run an edge detection algorithm.
      Step 2: Find minimal energy (least amount of edges crossed) path from top to bottom or left to right (graph-cut algorithm).
      Step 3: Remove pixels along that path.
      Step 4: Repeat steps 2 and 3 as necessary.

      Extend image:
      Step 1: Run an edge detection algorithm.
      Step 2: Find minimal energy (least amount of edges crossed) path from top to bottom or left to right (graph-cut algorithm).
      Step 3: Insert pixels along that path (interpolated from neighbors)
      Step 4: Repeat steps 2 and 3 as necessary.

      Remove objects:
      Step 1: Run an edge detection algorithm.
      Step 2: Mask object by giving its pixels low/negative energy values.
      Step 3: Find minimal energy (least amount of edges crossed) path from top to bottom or left to right (graph-cut algorithm).
      Step 4: Remove pixels along that path.
      Step 5: Repeat steps 3 and 4 as necessary.
      • by Anonymous Coward on Saturday August 25, 2007 @09:44PM (#20358119)
        I think you've got it except for a small detail in the "Remove objects", which the narrator alludes to around timestamp 4:01 of the video. You might want to add:

        Step 6: Extend image to match original size using the previous extend image algorithm

        (Of course, I leave the obligatory Profit step as an exercise for the reader).
    • Re: (Score:2, Informative)

      This excellent website http://trowley.org/sig2007.html [trowley.org] has a host of links to almost all of the papers presented at SIGGRAPH 2007.
    • by Tmack ( 593755 )
      Been up for a while now too, at least I saw it a few days ago...

      Clicky [youtube.com]

      Tm

  • Watching the video, this seems pretty impressive. It's also neat to see them use the same technology to remove items (people in this case) from an image with only about 10 seconds of work.
    • 10 Seconds of work there, most probably a good deal longer finding a picture that is easy to do it to...
    • by HTH NE1 ( 675604 )

      Watching the video, this seems pretty impressive. It's also neat to see them use the same technology to remove items (people in this case) from an image with only about 10 seconds of work.
      The real-time removal by manual resizing is only after a long image analysis phase beforehand to find the paths of least energy and index them. Once those numbers are crunched, it becomes a very simple operation to remove/insert along the paths of pixels.
  • nice! (Score:5, Interesting)

    by White Shade ( 57215 ) on Saturday August 25, 2007 @07:40PM (#20357485)
    It seems like a little bit of work is left to make it as completely automated as you would need to have it just "always work" on any platform or device, but it seems like they're already working on that...

    Other than that though, that's pretty awesome... I'm sure there's more instances where it doesn't look right than what they showed, but it's definitely cool how well it works as it stands!

    I can imagine it would be extremely useful for ex-boyfriends or ex-girlfriends; just load up all their photos of them and their ex, wave the magic eraser, and *boom* you don't have to delete all your old vacation shots ;)

    I wonder how well it would work for the porn industry too; nice automatic resizing of breasts without ruining the picture! Fetishists will be SO happy! :)
    • Re: (Score:2, Interesting)

      by Allicorn ( 175921 )

      It seems like a little bit of work is left to make it as completely automated as you would need to have it just "always work"

      Completely right, yes. The images in the video have been selected to show this technique in the best possible light. There's a great variety of images that'll really not work quite right with a completely automated treatment. Speaking from experience having implemented this last week.

      That said, as pointed out in the paper there's plenty of room for a higher level of analysis over the top of the basic seam-carving procedure. The function used to calculate the energy of a given pixel is easily swapped out wi

    • by ceoyoyo ( 59147 )
      Problem is you have to remember to keep some nice featureless space between you and your boy/girlfriend in case you want to erase them afterwards. Unless you don't mind becoming an amputee in your photos, that is.
    • Re:nice! (Score:5, Funny)

      by aliquis ( 678370 ) on Saturday August 25, 2007 @08:23PM (#20357757)
      I'd never understod this hate-your-ex-thing? The person where part of your life for some time but you have decided to hate it and want to erase it from it?
      Better never get a partner then at all if you are going to hate the person once it doesn't work longer.

      But then I'm a regular slashdot visitor and don't have any exs so what do I know.
      • Sometimes keeping a friendship after severing those types of ties can be hard as hell just because of all of the emotions involved -- it can be painful to see or hear about them. I only really understand the hate-the-ex thing in certain circumstances (cheating, being a total bitch/asshole/whatever) but in general if it's possible to keep a friend then keep a friend. It's just tough, which overall leads most people to just shut out their exes entirely... I'm currently trying to keep my friendship with my ex
      • I'd never understod this hate-your-ex-thing?

        Pay alimony for awhile and I'm sure you'll understand it much better.
        Most of the bitterness arises because you didn't get a good return on your investment of time/love/money/etc. You expected lifelong compatibility, but got a partner that has a significant personality change in the first few years of you relationship. I take more of a "high price of a lesson learned" view of relationships that ended badly, but then I just toss the photos and old cutesy stuff o
        • by aliquis ( 678370 )
          Do people really expect lifelong relationships? I thought one where supposed to get a lot back, if one doesn't one might rather quit it immediatly.

          Also regarding time I watched some TV program about it and how hormones worked and I got the impression that the first "fall in love" part only lasted for two years or whatever it was, but then it stops and people who stay rather do so because they have become so good friends and like eachother that way. But still, what do I know =P, some peoples attention only s
          • by hab136 ( 30884 )

            Do people really expect lifelong relationships? I thought one where supposed to get a lot back, if one doesn't one might rather quit it immediatly.

            He mentioned alimony and "first few years" - in other words, things were presumably good, he married her, and *then* she changed and they split. So yes, he did expect a lifelong relationship (that's what marriage is supposed to be). It's a very common story.
      • I'd never understod this hate-your-ex-thing? The person where part of your life for some time but you have decided to hate it and want to erase it from it? Better never get a partner then at all if you are going to hate the person once it doesn't work longer.

        Sometimes the reason it doesn't work any longer is because you've grown to hate the person.

        I don't think any reasonably adjusted person would culture hatred for a past parter just because the relationship didn't work out. People who do otherwise a

        • by Feanturi ( 99866 )
          It doesn't have to be hate that makes you throw out all the stuff that reminds you of them. The pictures, letters, knick-knacks, whatever, conjure memories of when you were happy with them. This brings much pain because it is a strong reminder that they are not there now and not coming back. I think a reasonably adjusted person would not wish to live in a shrine of lost memories. Get rid of it and you can get on with life all the sooner.
      • Better never get a partner then at all if you are going to hate the person once it doesn't work longer.
        It is better to have loved and lost than never to have loved at all... even if the bitch dumped you for some guy she met in a bar.
        • by aliquis ( 678370 )
          I guess, maybe, but that also well explained to me why people might hate their ex ;)

          I guess it's true with life in general, that it's better to have LIVED even if everything didn't turned out as expected/good, some things probably did. And for those people where it didn't, I feel sad for them.
      • by vux984 ( 928602 )
        I'd never understod this hate-your-ex-thing? The person where part of your life for some time but you have decided to hate it and want to erase it from it?

        There's nothing quite like the crushing anguish of being used, deceived, betrayed, lied to, and cheated on by someone you are in love with and trust implicitly.

        You can't easily 'cherish' the once happy memories because they are all tainted by your exes deceipt.

        Imagine your father or uncle died, and you have all these memories of going to the beach togethe
    • You'll notice most of their example images have generous amounts of low-detail "empty space" - sky, water, sand, etc. As they point out, it falls down wrt to higher level semantics, or in high detailed backgrounds. I doubt you would ever get this to a point where you could trust it to "just work" at any size or aspect ratio (at least not without a lot of prep working hinting the important parts of the image, as they show). I see it rather as a useful artist's tool in editing and manipulating images. You
  • Finally, a way to reduce the space between surgically augmented breasts and lengthen wangs on Flickr!
    • by AchiIIe ( 974900 )
      > Finally, a way to reduce the space between surgically augmented breasts and lengthen wangs on Flickr!

      I see your reduced breasts and raise you a 'Seam Carvied Content-Aware Resized Image' midget porn. Guess who Elizabeth Hurley looks like now.
  • Slightly Strange (Score:3, Interesting)

    by JamesRose ( 1062530 ) on Saturday August 25, 2007 @07:46PM (#20357531)
    Okay, I get that they remove the pixels with least energy, so the unimportant information is lost when shrinking, it kinda works, looks a bit strange, but it's okay. however, when they make an image larger they also add the least information so you end up with a large image- but the useful information is the same size and the extra/useless low energy or background gets duplicated- to me, I think thats kinda pointless, I mean, you're adding stuff you've analysed and found NOT to be the focus of the picture. This may work for pictures with no obvious background, but lanscapes like one of the examples, have such an obvious background that only that gets enlarged and just gives you more background. You may aswell just add a nice blue frame round the edge of the picture to make it fit.
    • Re: (Score:2, Interesting)

      by Anonymous Coward
      when they make an image larger they also add the least information so you end up with a large image- but the useful information is the same size and the extra/useless low energy or background gets duplicated- to me,

      According to the video, the added background information is actually the averaging of the extra "low energy" information around it. So it's not quite duplicated.

    • by Raenex ( 947668 )

      You may aswell just add a nice blue frame round the edge of the picture to make it fit.

      The whole point is to avoid artificial techniques that stand out, like frames. A trivial application would be expanding an image to fit as your desktop background. If you're trying to fit a picture into a rectangle with particular dimensions, you may want to both squeeze it one dimension *and* expand it in another to give you the most natural looking effect.

      For example, think how a 4:3 TV screen often displays wide-screen movies: They scale (shrink) the image to fit and put bars on the top and bottom. In

      • I just wish windows would support resizing an image for your desktop without changing the aspect ratio. I think they had this in Linux about 6 years ago. And I'm pretty sure it's still not in Windows Vista. Come on, it isn't that hard.
    • by Nutty_Irishman ( 729030 ) on Saturday August 25, 2007 @08:34PM (#20357821)
      I think you're missing the point of their method, which is to provide realistic images during rescaling that aren't corrupted by blind interpolation (equal averaging). In downscaling the images, it preserves parts of the images that would lose their information through downscaling (e.g. complex textures, people), while at the same time removing textures that would not lose information through downscaling (sky, water, sand). The sky, water and sand will still look like sky water and sand whether it's at 1/4 or 10x resolution, people however look much different if you try and downscale them or upscale them(they would appear blurry and hard to distinguish). The same works in reverse. The sky is still going to look like the sky whether you scale it to 10x or 5x-- it would still look natural. Tree's on the other hand, would not. Once you start to scale up the trees you would expect to be seeing different characteristics-- leaves, branches, etc. Any type of scaling up of a tree would make it seem very blurry and unnatural (lacking leaves, branches, etc.)-- you cannot create an additional information that isn't present in the original image. Therefore, the most natural looking image would be to increase the sky.

      It's not perfect of course. I'm guessing that if you had a picture of two people next to each other, one with a solid colored shirt, and the other with a striped colored shirt, that the solid colored shirt guy would get skinner than the striped when shrinking, and the reverse when enlarging. However, it's a neat idea, and I look forward to reading the paper.
  • by Aphrika ( 756248 ) on Saturday August 25, 2007 @07:47PM (#20357547)
    So does this mean you're taking some of those words away?

    There are probably a few situations where the 'unimportant' bits of an image are still as relevant as the rest. Sports photos for instance - especially those played on grass - would not give you a true picture (literally) of what's going on in the scene.

    This'd be good for reference photos - like the animals at the start of the YouTube video, but applications where precision and distance are required wouldn't benefit. Nice bit of work though and I reckon with some smart scaling embedded too (rather than its 'folding effect'), it'd cater for most image retargetting requirements.
    • just to clarify, this is good for fitting content into spaces where it would not fit otherwise, not just a method to reduct image size. on a pda phone for instance, one might prefer to see the modified image of a football scene rather than not be able to see it at all for lack of screen real-estate.
    • by Mal-2 ( 675116 )
      It's the Reader's Digest Abridged Version (Photo)!

      There are circumstances where it makes sense to abridge (or retarget) and others where it makes more sense to simply rescale. Since this appears to allow the content provider to choose the method that will be used, the overall effect should be fairly acceptable. For existing content, and future unmarked content, some guesswork will be necessary, and I would imagine this is going to be the hardest part. Computers still can't "see", so getting them to assign t
      • Exactly. I keep seeing this as an extension to HTML, and what I'm coming up with is this (or the same in CSS, actually):

        <img src='./file.jpg' retarget='1' scalebelow='40%' mask='./file.mask' />

        All the parameters should be automatic by default, especially scalebelow -- on auto, once the least-important path in the image exceeds a given complexity, the algorithm would switch to simply scaling down the previously-smallest retargeted image. All in all, pretty exciting stuff for web design. Especia

    • by Fred Ferrigno ( 122319 ) on Saturday August 25, 2007 @08:58PM (#20357923)
      It's not removing any more pixels than normal resizing or cropping would, it's just doing it such that the least important ones are removed first. Instead of:

      he uic bownfoxjumed verthelaz yelowdog

      You get:

      Th qik brwn fx jmpd ovr th lzy ylo dog

      Which reduces the total size by the same amount, but retains more information than treating every bit of information the same.
      • Wow, that's a great analogy. Which, for /., is nice!

        lol.
      • by GraZZ ( 9716 )
        /me wants a car analogy. This is /. afterall.
        • by Feanturi ( 99866 )
          Ok, so it's like you've got a car, and you find a line through it that doesn't have many intersections. So you take a cutting torch to that spot and slice through the car. And then you, uh... attempt to claim to your insurance company that this somehow happened in a car wash. Some new laser-operated one, yeah that's the ticket. And then you promise yourself to never make a bet while drunk ever ever again.
        • OK. Two people each want to make their car weigh 50kg less. Person A cuts his* car into 50cm slices, cuts the first 1cm off each slice, then welds them back together. That's the normal method; linear interpolation. Person B takes out the rear seats, sound insulation, and spare tyre. That's the new method; throw out the stuff you don't need while keeping the important stuff like driver's seat and pedals.
      • by random735 ( 102808 ) on Saturday August 25, 2007 @11:20PM (#20358559)
        while this is technically true, you're also rearranging the relative positioning of those pixels. cropping something out doesn't change the relationship of what is left in the photo (though it may remove critical details).

        if you have 3 people in a picture and you crop it down to 2, you've erased a person, but you haven't changed who is seated next to whom. if you use this method and the middle person is erased, you make it appear as though the outer two people were in fact seated next to each other when they weren't.

        we are used to the idea that a picture can be cropped (mentally considering what might be just outside the frame). We aren't yet used to the concept that the photo has effectively been cut and pasted together to create new relationships between the objects in the photo (though of course photoshop is getting us there).

        to continue your analogy, if we take:
        the quick brown fox jumped over the lazy dog

        and drop letters, we can create:
        the cow jumped over the dog

        whereas "cropping" might let us say:
        the quick brown fox jumped

        I think it's clear that one of these is more misleading than the other, though in both cases you're just removing information. (in one case, some of that information happens to be spaces between letters/words)

        • Re: (Score:3, Insightful)

          by zippthorne ( 748122 )
          I don't know whether I'm "used to it" or not, but after watching the video, I'm totally ready for more intelligent image resizing that isn't quite scaling. Most of the applications I see this being used in don't really require that the exact photographic position (which really isn't the same as what you'd see if you were there) relationships be maintained anyway.

          Hopefully someone will write a GIMP plugin and we can all experiment with it. Also a firefox plugin. Obviously some metadata will eventually nee
          • don't get me wrong, this is a very cool technology with plenty of legitimate uses. i just wanted to call out the difference between cropping and what this is doing, in terms of losing image information/context.

            given the choice of an image which is cropped, or an image which had this done to it, if i'm trying to use the image to reconstruct the "truth" of a scene, i want the cropped image. it's at least slightly less artificial.

            but for practical applications, such as browsing the web on a 320x320 screen, y
    • Re: (Score:3, Insightful)

      by pclminion ( 145572 )

      There are probably a few situations where the 'unimportant' bits of an image are still as relevant as the rest. Sports photos for instance - especially those played on grass - would not give you a true picture (literally) of what's going on in the scene.

      Sorry -- "true picture?" That assumes such a thing can exist in the first place. Take a color-blind viewer for instance. Can he (and I say he because statistically, most color-blind people are male) look at ANY image and say that he is seeing the "true i

      • by fbjon ( 692006 )
        The point of the sports example is that this type of smart resizing would change e.g. the positioning of players on a field, making the situation completely different.


        This brings to mind, what about resizing of video?

  • DP Approach (Score:4, Interesting)

    by xquark ( 649804 ) on Saturday August 25, 2007 @07:54PM (#20357589) Homepage
    This method is quiet interesting, though it falls over in situations where the detail level
    or entropy of the background is as great as the foreground. Also the paper doesn't go into
    too much details about the dynamic programming approach they used to find the path of least
    energy, I guess that aspect of it is patentable. Another thing they could investigate is the
    use of diagonal seams instead of just staggered vertical and horizontal seams.

    All in all a very interesting read.
    • Re: (Score:2, Insightful)

      I certainly hope it isn't patented, since by just watching the video once (without sound) I was able to to make my own implementation in C in under two hours. I completely agree that it is a cool idea, but I think the reason it is so cool is that the parts they used to build it are all so simple/well known - it is just a really novel combination of ideas that people have already come up with. The idea of a patent (I believe) is so that an inventor won't keep their invention to themselves, so that people can
      • I agree, the entire novelty here is in the idea, the implementation is a rather quite straightforward application of well known, generic techniques. Sounds like the problem statement would make a reasonable question on a introductory graduate algorithms class (using CLR as a text.)
    • Re: (Score:3, Informative)

      by pclminion ( 145572 )

      Also the paper doesn't go into too much details about the dynamic programming approach they used to find the path of least energy, I guess that aspect of it is patentable.

      Not so much patentable, as "Easy enough for the reader to implement that it deserves little mention."

  • Prior art (Score:2, Informative)

    by SamP2 ( 1097897 )
    The technique was already invented by the Soviets in the '30s:

    Before [wikipedia.org]

    After [wikipedia.org]

    Insignificant person removed.
    • Re: (Score:3, Informative)

      No, your images is just an often-cited example of what image inpainting could do. And image inpainting has nothing to do with the new resize algorithm talked about in the article, although similar effects are achieved in this specific case.
  • Whao (Score:5, Funny)

    by Arthur B. ( 806360 ) on Saturday August 25, 2007 @07:59PM (#20357629)
    Ths s rly gret !
  • Gimp! (Score:5, Interesting)

    by larry bagina ( 561269 ) on Saturday August 25, 2007 @08:13PM (#20357709) Journal
    Although they demonstrated on Windows, a friend of mine is one of their graduate students and was peripherally involved. He said it was originally developed as a GIMP plug in, but moved to a separate Windows app to show off the realtime resizing, etc. Hopefully they'll release the GIMP plugin? More likely Adobe will write them a check and license it to make sure that never happens.
    • by Anonymous Coward
      "More likely Adobe will write them a check and license it to make sure that never happens."

      Is that check going to cover the removal of their paper from above and the ACM archives, let alone OUR archives?
    • by Yvanhoe ( 564877 )
      The fact that this paper is publicly presented and not presented as patented technology makes me confident that these 2 persons are real researchers that only want to see their technology used as widely as possible.
  • by MarkovianChained ( 1143957 ) on Saturday August 25, 2007 @08:17PM (#20357735)
    Shrink the rest of your body, and increase you penis size by up to 20 pixels!
    • "Shrink the rest of your body, and increase you penis size by up to 20 pixels!"

      Open source alternative via the GIMP:

      1. use the "magic wand" tool to select your "magic wand tool"
      2. "convert selection to path"
      3. "stroke path"
      Feel free to experiment by repeatedly stroking with different values ...
  • by szyzyg ( 7313 ) on Saturday August 25, 2007 @08:25PM (#20357777)
    I find a small irony in the fact that the video is posted on youtube, a site which stretches and squeezes video to fit into a 4:3 aspect ratio
  • I TOLD you it's 10 inches! See? SEE???

    (Yes, I know, this thread is worthless without pictures)
  • This introduces very obvious artifacts, and looks worse than simply distorting the aspect ratio. At least in that case you can undo the distortion in your head. Here you are throwing away information at a much higher level than just the details of textures. I'm sure it would look even worse on images that weren't carefully chosen for the demo.
  • My Implementation (Score:5, Interesting)

    by The New Andy ( 873493 ) on Saturday August 25, 2007 @09:35PM (#20358081) Homepage Journal
    I thought it was pretty cool, so I made my own version after seeing the video. It obviously won't be as awesome as their one, but if you want to play around with it, you can get my C source [ultra-premium.com] and have a play around. It is GPL3.
  • Take a look to the end of the video, this one is an awesome method to remove objects from pics. Very interesting.
  • What about artistic photographs? Most photos in that sense are planned to have a certain layout, composition, empty spaces, etc. Say I make a nice panorama shot with a 6:1 aspect ratio. Now my photo that took careful planning is reduced to a 4:3 with all the 'unimportant' spaces removed? Maybe it's just me, but there seem to be lots more instances where this would hurt than help. Journalistic images? Sports photos? Oh, the image can't fit, let's get rid of everything between the 50 and 20 yard lines. There
    • by mce ( 509 )

      If you don't like it, don't use it. If you don't use it, nothing gets destroyed.

      It's not like cropping pictures was a new invention of the digital age either. Good old analoge photographers have been cropping and "zooming during development" (as opposed to while taking the picture) for ages as well in order to improve the artistic aspects of their work, especially for "action" pictures. And newspapers most definitely have been cropping for decades.

      In short, the artistic argument is nonsense. Much more

    • Adobe put out a lot f advertisements targeting artists pushing PDF as a superior format to HTML because with PDF the reader can't mess with your layout.

      When I looked at those ads my thought was "man, the PDF version is unreadable at this resolution, but the HTML might look ugly but I can read all of it".

      As PDF came into use my fears were realized. PDF documents are all too often unreadable on anything but the largest screens, and I sometimes have to blow them up even on my 23" cinema display.

      When it comes t
  • Higher quality mov video here [nyud.net](direct link) if you're interested. (Or you know,if you just want to completely hose their server...)
    ---
    Contronyms: for people who are chuffed by antonyms
    ---
  • because Youtube has outstanding video quality. I mean, Youtube does to video what the Playstation does to audio.
  • By far the most intersting part of the youtube video was the removal of the two out of five runners on the beach. I realize the removal would probably be a lot more noticeable if the image was higher detail, (what we get to look at on youtube is very low res compared to many practical applications) but it's still pretty stunning how easily and quickly the images could be altered. Very little post-removal editing would be required to selectively and convincingly remove content.

    There's no reason why they co
    • The easiest way to insert additional content would seem to be to paste an image of the additional runner in with a similar background, then mark the seam as "unimportant". Similarly, to improve gluing together panoramas you could mark the seams between individual photos as unimportant.
  • Ariel Shamir (Score:3, Informative)

    by Schraegstrichpunkt ( 931443 ) on Sunday August 26, 2007 @12:32AM (#20359121) Homepage
    ... not to be confused with Adi Shamir [wikipedia.org] (the cryptographer).
  • some code (Score:4, Interesting)

    by Arthur B. ( 806360 ) on Sunday August 26, 2007 @12:51AM (#20359241)
    Too much caffeine in the blog, couldn't sleep... I can't get my hand on the paper but the youtube presentation was extremely clear and I just wrote this C code based on libgd2. Basically it lowers the height of an image by 1 pixel, you can run it multiple time to remove more line.

    http://rafb.net/p/jinioy45.html [rafb.net]

    (yeah my coding sucks but it produces awesome results and I reversed engineered the algorithm from youtube so please grovel...)

    I'll improve it soon to remove an arbitrary number of line, horizontally or vertically
      - no recalculation of gradient, only the gradient near the line needs to be recomputed
      - precomputes a file that store the order of the pixel needing to be removed

    I need help with something though, I understand how the algorithm can precompute a file which says in which order pixel should be removed, but I don't see how this can work in *both* direction. Suppose you want to reduce vertically and horizontally at the same time, the horizontal change should completely break the precomputed vertical changes. How would you handle that?
  • ...as seen in the last part of the video: just separated ? Simply scan your favorite photographs and resize your ex away ! Great stuff, although - ofcourse - on Slashdot this would be a bit useless ;=)
  • I see a lot of bitching and moaning about loss of information, about context, etc. People, if you trust something made with pixels you are already way behind. The wise person must be a skeptic, of all things. This technology, like every other, has its place and will be suited for certain things and abused to do others. So I guess what I am saying is it surpises me that a community like Slashdot is getting so many comments point out the obvious. I thought we were progressive enough to avoid that.. guess
  • It's still impressive, but when you pause and examine the frames in the hi-res movie you see a lot of distortion. The people on the beach look like famine victims by the end of the sequence. Boosting the importance of the other figures would help.

One man's constant is another man's variable. -- A.J. Perlis

Working...