System and method for content aware hybrid cropping and seam carving of images
First Claim
1. A method, comprising:
- using a computer to perform;
accessing data representing an image;
receiving an input defining a bounding box of a portion of the image, the bounding box having one or more edges and corners;
receiving an input involving selection of the one or more edges or corners of the bounding box thereby indicating an amount by which the portion of the image defined by the bounding box is to be resized;
receiving an input indicating a relative priority of a particular edge or corner of the bounding box with respect to other edges or corners of the bounding box;
resizing the portion of the image based on the relative priority indicated by the input for the particular edge or corner with respect to the other edges or corners of the bounding box; and
generating a modified image comprising the resized portion of the image based on the relative priority.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing content aware cropping/expansion may be applied to resize an image or to resize a selected object therein. An image object may be selected using an approximate bounding box of the object. The system may receive input indicating a lowest priority edge or corner of the image or object to be resized (e.g., using a drag operation). Respective energy values for some pixels of the image and/or of the object to be resized may be weighted based on their distance from the lowest priority edge/corner and/or on a cropping or expansion graph, and relative costs may be determined for seams of the image dependent on the energy values. Low cost seams may be removed or replicated in different portions of the image and/or the object to modify the image. The selected object may be resized using interpolated scaling and patched over the modified image.
102 Citations
24 Claims
-
1. A method, comprising:
using a computer to perform; accessing data representing an image; receiving an input defining a bounding box of a portion of the image, the bounding box having one or more edges and corners; receiving an input involving selection of the one or more edges or corners of the bounding box thereby indicating an amount by which the portion of the image defined by the bounding box is to be resized; receiving an input indicating a relative priority of a particular edge or corner of the bounding box with respect to other edges or corners of the bounding box; resizing the portion of the image based on the relative priority indicated by the input for the particular edge or corner with respect to the other edges or corners of the bounding box; and generating a modified image comprising the resized portion of the image based on the relative priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A tangible computer-readable storage medium storing program instructions computer-executable to implement:
-
accessing data representing an image; receiving an input defining a bounding box of a portion of the image, the bounding box having one or more edges and corners; receiving input that includes selection of the one or more edges or corners of the bounding box thereby indicating an amount by which the portion of the image is to be resized; receiving input indicating a relative priority of a particular edge or corner of the bounding box with respect to other edges or corners of the bounding box of the portion of the image; determining respective energy values for pixels of the image, at least some of the energy values dependent on the input indicating the relative priority of the particular edge or corner of the portion of the image with respect to the other edges or corners of the portion of the image; determining relative costs of a plurality of seams of the image dependent on the respective energy values based on the relative priority indicated by the input for the particular edge or corner with respect to the other edges or corners of the bounding box; resizing at least the portion of the image by the indicated amount along one or more low cost seams of the portion of the image, said resizing including removing the one or more low cost seams of the portion of the image or replicating the one or more low cost seams of the portion of the image; and generating a modified image comprising the resized portion of the image. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. 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; receiving an input defining a bounding box of a portion of the image, the bounding box having one or more edges and corners; receiving an input involving selection of the one or more edges or corners of the bounding box thereby indicating an amount by which the portion of the image is to be resized; receiving an input indicating a relative priority of a particular edge or corner of the bounding box with respect to other edges or corners of the bounding box; resizing the portion of the image based on the relative priority indicated by the input for the particular edge or corner with respect to the other edges or corners of the bounding box; and generating a modified image comprising the resized portion of the image based on the relative priority. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification