A brief overview of seam carving

Once each pixel has an energy, we can work out how to shrink the image by removing pixels with as little energy as possible. Imagine we are making an image narrower, as in Figure 2. We could sum the energies of the pixels in each column, and remove the column with the lowest total. Unfortunately this distorts the image too much. Instead we work with seams. A vertical seem is a path through the image from top to bottom, with one pixel on each row, such that pixels on adjacent rows are no more than one column distant from each other.

In practice this means a vertical seam is a wiggly line from top to bottom. There are lots of vertical seams in an image, but some are minimal vertical seams. The total energy of all the pixels in a minimal vertical seam is the lowest of any vertical seam in the image. Exactly the same idea in the other direction leads to a minimal horizontal seam. Seam carving proceeds by identifying a minimal vertical (or horizontal) seam, and removing it, leaving an image one pixel narrower (or shorter). This can be repeated as often as desired to produce an output image of any size.