Tuesday, October 23, 2007

New Backend for the Seam Carving GUI

The original seam carving algorithm implementation that I based the Seam Carving GUI on was written as a quick and dirty project by Andy Owen. Andy has moved onto other things and I got an email from Brain_Recall (Joe) who was working on a more true to the paper implementation of the algorithm with his own optimizations (called CAIR). Joe’s work as really matured into some nice optimized, mutli-threaded code and produced much nicer results. Most noticeable is the resizing images to larger dimensions than the original.

So I modified the GUI to use CAIR (newest version on sf.net) and take advantage of its new features. I also threw in some itch features.

New features

  • Can set a quality parameter that gives you a quality/time tradeoff when resizing
  • View algorithm metrics on the image: grayscale, edge, and energy
  • Can specify weights (intensities) for retain/remove regions
  • 2-3X faster (especially on multi-core machines)
  • Undo/Repeat
Here is a screenshot of the GUI:



To give you an idea of the quality of CAIR, here are some more resized versions of the ball image.





Download Links:
Update: Sorry for all the mess with the Mac version. First I didn't bundle in Qt, then my upload continuously failed to the static Goggle Pages host.

Update: The new mac build should include JPEG support. Get it at the download page linked above.