Dynamic Image Resizing
Patrick Elliott
Abstract
The goal of this project is to be able to resize an image without distorting any important
aspects of the image. Commons methods of resizing, including cropping and scaling,
remove or distort some of the image and are thus undesirable. By finding the least
important pixels and removing them, this dynamic resizing can be possible. These can be
found by finding the change of intensity of each pixel to the next and taking away the ones
with a very low change. Using this method, humans should be unable to tell if an image
has been altered.
Background
Edge detection is being researched heavily in modern times. Many teams are trying to
allow computers to see and identify objects. But there is also much research being
conducted about images and modifying them. There is one project called PhotoSynth
that is trying to take a large amount of images from the web, and from them, create a
3D model of whatever the images are of. There is also another project that is very
similar to what I am trying to do, although I have some ideas for my project that they
have not yet implemented.
Methods
Instead of cropping or scaling the image,
both of which would ruin certain aspects,
there is an algorithm that can find only the
least noticeable pixels and remove them so
that a human cannot tell the image has
been altered. This algorithm finds the
gradient magnitude of the image and
removes the pixels with the smallest
change of intensity.
To expand the image (bottom left), the
same method is used, except instead of
removing paths, the program adds a path
next to it with the average values of the
surrounding pixels.
Results
The image above is the original image. The one
below it has been modified by the program. You can
see both the butterfly and the flowers, both of which
look unaltered, whereas scaling would ruin these.
The unnecessary portions of the image have been
removed.