I’m still fascinated by the seam carving approach to resizing images. I’ve been playing with it for the past week, making small strides, but want to dig deeper into the code to create new functionality and experiment with different ways of stretching and shrinking images, or specific elements within an image.
Here are a few experiments with expanding images.
I used faces because there are so many places that we see distinction, and where the computer would want to avoid creating a seam. The seam carver works incredibly well with landscapes or clusters of trees etc., but I thought faces would have some interesting results. To stretch the images, I created addColumn() in the seamCarver java file. There’s a lot more I want to do with this by creating new kinds of functions. The next step would be to isolate a part of the image, or object in an image and only stretch or constrain that element.
In this program, I attempted to get the seamCarver to ignore any seam it had done, and look for new seams, similarly to how the removeColumn is done. The only problem is that in removeColumn, a column used, is now gone, so the seamCarver has to be a new seam. In adding a column, the seamCarver will always be attracted to the same seam and stretch only that area.