15-463 Project 3: Seam Carving

Jason Israel (jaisrael)

For this project, the purpose was to apply the seam carving algorithm to images. The seam carving algorithm effectively refocuses images by removing or duplicating low priority areas when the image is resized.

My approach did not deviate far from what was recommended in the project description. I used a basic dynamic programming solution that looped through the rows, constructing partial solutions for each pixel. Once the last row is reached, the minimum solution for one of those pixels gives the seam. All images come from reddit image boards or were stock photos.

My biggest issue with this project was again with matlab. I had to look up all of the different functions to edit my matrices.

Initial Results

Garden of the Gods, Colorado, USA

garden_original garden_carved

Width removed: 100px, Height removed: 50px

Tarantula Nebula

nebula_original nebula_carved

Width removed: 200px, Height removed: 100px

Gold Coast, Queensland, Australia

surf_original surf_carved

Width removed: 200px, Height removed: 200px

Monte Brasil, Angra do Heroismo

brazil_original brazil_carved

Width removed: 100px, Height removed: 100px

Discovery Spaceship over Switzerland

spaceship_original spaceship_carved

Width removed: 300px, Height removed: 150px

Mulranny, Ireland

seaweed_original seaweed_carved

Poor Results

Resizing too Far

brazil_poor

Width Removed:200px, Height Removed:200px. Although the carving focuses on the village well, when too many pixels are removed the other features are removed too much. Although the village is still in focus, other attributes of the image make the village lose its context.

Distortions in a Crowd

crowd_original crowd_poor

Width Removed:150px, Height Removed:150px. The main problems with this image are that there is no clear thing to focus on, and distortions in faces are easily recognizable. In this image, most of the faces look really awkward.