Wednesday, August 29, 2007

Content Aware Image Resizing - A Seam Carving GUI

I built a simple Seam Carving GUI as a GUI front end to the implementation of the Seam Carving algorithm by Andy Owen[1].

I ran into Andy's comment to the Slashdot article about Content-Aware Image Resizing[2] and decided his late night hack was worth looking into. And hey, it worked! After a few days of seeing the impressive demonstration video about the SIGGRAPH paper on seam carving I found myself going back to Andy's implementation to manually grind some images through his C code and began thinking, lets get some GUI going on here!

So there you have it, two nights of feverish coding later (one with a slightly hindering amount of wine consumed during a MythBusters viewing session) and I have something to ship.

Enjoy, if you have any questions or suffer from the undeniable urge to lavishly complement this quick hack of a GUI, or more likely would like bellow your complaints about something your getting for free, you can reach me at gaberudy+seamcarving at gmail.com

TODO:
  • Copy and Paste
  • Drag and Drop
  • Do any sort or optimization of Andy's image stuff
  • Do the bit where you mark parts of the image to preserve or make go away
  • Read the paper and make it really work!

DOWNLOAD:
  • Build instructions and screenshots: here

[1] Andy is the nicest (and only) Australian I've ever met on the internet, I got his permission to do a GUI around his resizing code and he was very supportive, even adding in a feature or two for the cause.

[2] His was actually one of two comments that had links to quickly written code, but it was plain to see that Andy's was the proper implementation to follow up on as it received a (+5 Interesting) vs. the(+4 Interesting). Tsk tsk, not to mention the other link was cold dead.

Update: The latest version is no longer based on Andy's implementation but CAIR. See the seam-carving-gui project page for more.