Image scaling by seam carving

Jordan Kaye - 10/16/10

Successful results

Original 75 seams removed 150 seams removed

Vertical seams taken

Horizontal seams taken

The images that were successfully carved had large spaces of innocuous background that could be easily found and removed by the gradient energy function.
The puppies are very well preserved; nearly no artifacts can be seen in any of the scalings.
The kittens have a small artifact in the depression of the bed and a small change in one of the kittens, but neither of these are strongly noticeable and the scaling was successful overall.

Unsuccessful result

Original 150 seams removed vertically 150 seams removed horizontally

The unsuccessful result failed because there is no easily identifiable background that can be removed. Althought the trees are the focal point of the image, the flowers complicate the gradient function. This results in strange deformations of the trees that are glaring artifacts. Neither horizontal nor vertical seams can be taken as demonstrated in the table.

Seam maps for all carvings

The seam maps can be somewhat deceiving. Because the seams are calculated on the image as it changes, the original seam map is not truly reflective of the seams that were removed. For example, a seam was never taken from the puppies, but the seam map shows multiple seams running through a puppy. However, the difference between the successful results and the unsuccessful result is easily noticeable: the unsuccessful result has seams taken from all over the image, while the successful results have discrete groups of seams that could be effectively removed from the background.

Source code

getSeam.m
seamCarve.m