Tuesday, August 12, 2008

IDEA 2: More Uses for Seam Carving

This video comes from a SIGGRAPH 2007 presentation it describes the use of "Seam Carving" to intelligently resize raster data whilst still preserving the most important details. The algorithm can also be applied for object removal in raster data.


The algorithm uses a simple gradient magnitude filter to determine features in the imagery which have the most "energy" and are therefore likely to be important. Resizing involves removing or interpolating vertical and / or horizontal "seams" that have been identified by the image energy functions.

The algorithm has been implemented in GIMP as the "liquid re-scaler". I assume something similar has also been added to Photoshop. This is fine for the casual user who wants to crop his/her ex out of a photo or wants to resize a photo for their blogsite etc - but I believe there are applications beyond aesthetic image processing. Here are some ideas...
  1. Applied to dynamic resizing of video data - scale up to wide screen or down to standard ratios.
  2. Applied as a raster compression method - remove un-important seams from imagery and dynamically re-insert them using the up-scaling sub-algorithm.
  3. Up-scaling raster surfaces. Useful where rasters may contain data of hetergeneous sampling resolutions... null or low res' data could be interpolated using seam insertion (rather than the usual interpolation techniques which are usually quite un-natural). I'm thinking that this could be useful for multi-res terrain data.
  4. Intelligent object removal in terrain data or satellite imagery.
There's gotta be plenty more!

PTX 0.3
- Over

1 comment:

Anonymous said...

Well well well......