Seam carving using seam energy re-computation in seam neighborhood
First Claim
1. A system, comprising:
- one or more processors; and
a memory coupled to the one or more processors and storing program instructions executable by the one or more processors to implement;
accessing data representing an image;
determining a respective energy value for each pixel of the image;
identifying a seam of the image having a lowest cost, wherein the cost of the seam is dependent on the respective energy values of pixels of the seam;
performing a resizing operation on the image along the seam identified as having the lowest cost to produce a resized version of the image;
subsequent to said performing a resizing operation on the image along the seam identified as having the lowest cost, updating the respective energy values for pixels in a neighborhood of the seam identified as having the lowest cost, the neighborhood of the seam;
including a number of pixels in one or more columns or one or more rows surrounding the seam that is less than the entire resized version of the image, andcomprising a number of neighbor pixels and an orientation of neighbor pixels with respect to pixels of the seam identified as having the lowest cost defined independent of an energy function used to determine the respective energy values;
identifying a next lowest cost seam of the image dependent on said updating; and
performing a resizing operation on the resized version of the image along the next lowest cost seam to produce a further resized version of the image.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer-readable storage media for resizing images using seam carving techniques are disclosed. The methods may facilitate efficient re-computation of the energy of an image between seam carving iterations in a resizing operation by re-computing only the energy of pixels and/or seams in the neighborhood of removed and/or replicated seams. The neighborhood and pixels for which energy values are updated may be dependent on the energy function employed by the seam carving techniques. The efficient re-computation of image energy may facilitate the use of seam carving techniques in user-interactive environments. The methods may also be used to pre-compute a retargeting matrix, usable in performing retargeting operations on an input image without re-computing the energy and/or the lowest cost seam(s) of the image between iterations. The methods may be implemented as stand-alone applications or as program instructions implementing components of a graphics application, executable by a CPU and/or GPU.
86 Citations
28 Claims
-
1. A system, comprising:
-
one or more processors; and a memory coupled to the one or more processors and storing program instructions executable by the one or more processors to implement; accessing data representing an image; determining a respective energy value for each pixel of the image; identifying a seam of the image having a lowest cost, wherein the cost of the seam is dependent on the respective energy values of pixels of the seam; performing a resizing operation on the image along the seam identified as having the lowest cost to produce a resized version of the image; subsequent to said performing a resizing operation on the image along the seam identified as having the lowest cost, updating the respective energy values for pixels in a neighborhood of the seam identified as having the lowest cost, the neighborhood of the seam; including a number of pixels in one or more columns or one or more rows surrounding the seam that is less than the entire resized version of the image, and comprising a number of neighbor pixels and an orientation of neighbor pixels with respect to pixels of the seam identified as having the lowest cost defined independent of an energy function used to determine the respective energy values; identifying a next lowest cost seam of the image dependent on said updating; and performing a resizing operation on the resized version of the image along the next lowest cost seam to produce a further resized version of the image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage memory storing program instructions computer-executable to implement:
-
accessing data representing an image; determining a respective energy value for each pixel of the image; identifying a seam of the image having a lowest cost, wherein the cost of the seam is dependent on the respective energy values of pixels of the seam; performing a resizing operation on the image along the seam identified as having the lowest cost to produce a resized version of the image; subsequent to said performing a resizing operation on the image along the seam identified as having the lowest cost, updating the respective energy values for pixels in a neighborhood of the seam identified as having the lowest cost, the neighborhood of the seam including a number of pixels in one or more columns or one or more rows surrounding the seam that is less than the entire resized version of the image, the neighborhood of the seam comprising a number of neighbor pixels and an orientation of neighbor pixels with respect to pixels of the seam identified as having the lowest cost defined independent of an energy function used to determine the respective energy values; identifying a next lowest cost seam of the image dependent on said updating; and performing a resizing operation on the resized version of the image along the next lowest cost seam to produce a further resized version of the image. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A computer-implemented method, comprising:
-
accessing data representing an image; determining a respective energy value for each pixel of the image; identifying a seam of the image having a lowest cost, wherein the cost of the seam is dependent on the respective energy values of pixels of the seam; performing a resizing operation on the image along the seam identified as having the lowest cost to produce a resized version of the image; subsequent to said performing a resizing operation on the image along the seam identified as having the lowest cost, updating the respective energy values for the pixels in the neighborhood of the seam identified as having the lowest cost, the neighborhood of the seam including a number of pixels in one or more columns or one or more rows surrounding the seam that is less than the entire resized version of the image, the neighborhood of the seam comprising a number of neighbor pixels and an orientation of neighbor pixels with respect to pixels of the seam identified as having the lowest cost defined independent of an energy function used to determine the respective energy values; identifying a next lowest cost seam of the image dependent on said updating; and performing a resizing operation on the resized version of the image along the next lowest cost seam to produce a further resized version of the image. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification