Thursday, November 15, 2007

What's That? More Seam Carving Craziness?

They just don't stop coming: more for those in the liquid resizing/content aware image resizing/seam carving implementation scene.

Brain_Recall gets most of the credit for this one, as he modified his source and the GUI and sent me the update. I added some tool-tips, tried to make the GUI more user friendly and cleaned up some of the implementation.

New goodies:
  • HD Quality parameter which produces better results when decreases both dimensions of an image but is more computationally expensive.
  • Add Weight/Weight Scale parameters. These were hard coded before, now you can play around with them although the defaults should work in most cases.
  • Removed Marked button - will shrink an image enough to remove a red area marked for removal and then stretch it back to the original dimensions. The classic "get that guy out of my photo" solution.
As usual, get the latest source and binaries at the seam-carving-gui download page.

Sunday, November 4, 2007

Seam Carving GUI Updates

That's right folks even more updates. I really didn't expect this project to get so much attention, but I'm a sucker for making things the people use, and then making them better for the users.

Improvements:
  • Upgraded to CAIR 2.6.1 (considerably faster!)
  • Can view images horizontal energy function as well as vertical (in the View menu)
  • Created a cursor when hovering over the image to represent the mark area size
  • Retain/Remove mask is also shrunk with the image so you can see how effective it is and can resize in increments without re-marking the mask areas
  • You can select to erase areas marked green/red (retain/remove), i.e. an mask eraser tool
  • Mac build now includes JPEG support
Building a distributable package for the Mac turns out to be a non-trivial thing. Especially when you want independent Qt4 frameworks and image plugins loaded from within the application bundle. I wrote a script included in the source distribution that does the dirty work to make it easier in the future. It was really quite painfull to get it right, so maybe someone else can use this project as an example and save themselves some headache.

I've also created a Google Code project seam-carving-gui to host the binaries etc. Also I uploaded new screenshots at my static page. No use filling up space here.