Tool for extracting and manipulating components of warping transforms
AssigneeAdobe Systems Incorporated
InventorTodor G. Georgiev
Life of this patent
Estimating the term…
Abstract
Methods and products are disclosed concerning extraction of selected components of a warping of an image. Given a warped image and a distortion grid, the distortion at any point in the image may be viewed locally as a displacement and a linear transform. The linear transform can be manipulated to extract elements of the local distortion such as skew, rotation, magnification and combinations. The selected components may then be selectively applied at other locations of the same or a different image, using a variety of virtual paintbrushes for different effects.
Claims77
A method comprising:
- in response to user action on a canvas, selecting at least one area of a first image which relates to an area on a distortion grid;
- using a plurality of points local to the at least one area to calculate a distortion;
- extracting a rotation component of the distortion, wherein the extracting comprises calculating an affine transform from the plurality of points, the extraction of rotation comprising calculating an angle from the elements of a linear transform matrix;
- and
- applying the rotation component to a second area of the first image.
A method comprising:
- in response to user action on a canvas, selecting at least one area of a first image which relates to an area on a distortion grid;
- using a plurality of points local to the at least one area to calculate a distortion;
- extracting a scaling component of the distortion, wherein the extracting comprises calculating an affine transform from the plurality of points, the extraction of scaling comprising calculating a pair of eigenvalues of a linear transform matrix, wherein each eigenvalue represents the amount of scaling in a direction represented by a corresponding projection matrix;
- and
- applying the scaling component to a second area of the first image.
A method comprising:
- receiving a selection of one or more distortion components;
- receiving a selection of a first area of a first image, the first area relating to an area on a distortion grid, the first area of the first image including a first pre-existing distortion including one or more distortion components;
- extracting the one or more selected distortion components from the first pre-existing distortion;
- applying the one or more extracted distortion components to a second area of the first image;
- and
- applying the one or more extracted distortion components to a second image.
A computer program product, disposed in a computer readable medium, having instructions to cause a computer to:
- using a plurality of points surrounding a first area of an image related to an area in a distortion grid, calculate an angular rotation amount of a distortion at the first area;
- calculate an affine transform from the plurality of points;
- decompose the affine transform into a translation and a linear transform matrix and calculate an angle from the elements of the linear transform matrix;
- and
- apply the angular rotation amount of the distortion to a second area of the image.
A computer program product, disposed in a computer readable medium, having instructions to cause a computer to:
- using a plurality of points surrounding a first area of an image related to an area in a distortion grid, calculate a scaling amount of a distortion at the first area;
- calculate an affine transform from the plurality of points,
- decompose the affine transform into a translation and a linear transform matrix and calculate a pair of eigenvalues of the linear transform matrix, and wherein each eigenvalue represents the amount of scaling in a direction represented by a corresponding projection matrix;
- and
- apply the scaling amount of the distortion to a second area of the image.
A computer program product, disposed in a computer readable medium, having instructions to cause a computer to:
- receive a selection of one or more distortion components;
- receive a selection of a first area of a first image related to an area in a distortion grid, the first area of the first image including a first pre-existing distortion including one or more distortion components;
- extract the one or more selected distortion components from the first pre-existing distortion;
- apply the one or more extracted distortion components to a second area of the first image;
- and
- apply the one or more extracted distortion components to a second image.
A computer program product having instructions stored in a computer readable medium, containing instructions to cause a computer to:
- display a first image on a canvas, the first image being related to an area on a distortion grid;
- responsive to an input device controlled by a user, select an area of the first image, the selected area of the first image including a first pre-existing distortion including one or more distortion components;
- responsive to a selection by the user from a menu of one or more distortion components, extract at least one selected distortion component of the pre-existing distortion from the selected area of the first image;
- responsive to movement and location of a cursor controlled by the user, apply the at least one extracted distortion component to a second area of the first image;
- and
- responsive to movement and location of a cursor controlled by the user, apply the at least one extracted distortion component to a second image.
A system comprising:
- a user input device, a display, a memory device, and a programmable processor configured to perform operations including:
- in response to user action on a canvas, selecting at least one area of a first image which relates to an area on a distortion grid;
- using a plurality of points local to the at least one area to calculate a distortion;
- extracting a rotation component of the distortion, wherein the extracting comprises calculating an affine transform from the plurality of points, the extraction of rotation comprising calculating an angle from the elements of a linear transform matrix;
- and
- applying the rotation component to a second area of the first image.
A system comprising:
- a user input device, a display, a memory device, and a programmable processor configured to perform operations including:
- in response to user action on a canvas, selecting at least one area of a first image which relates to an area on a distortion grid;
- using a plurality of points local to the at least one area to calculate a distortion;
- extracting a scaling component of the distortion, wherein the extracting comprises calculating an affine transform from the plurality of points, the extraction of scaling comprising calculating a pair of eigenvalues of a linear transform matrix, wherein each eigenvalue represents the amount of scaling in a direction represented by a corresponding projection matrix;
- and
- applying the scaling component to a second area of the first image.
A system comprising:
- a user input device, a display, a memory device, and a programmable processor configured to perform operations including:
- receiving a selection of one or more distortion components;
- receiving a selection of a first area of a first image, the first area relating to an area on a distortion grid, the first area of the first image including a first pre-existing distortion including one or more distortion components;
- extracting the one or more selected distortion components from the first pre-existing distortion;
- applying the one or more extracted distortion components to a second area of the first image;
- and
- applying the one or more extracted distortion components to a second image.
Dependencies are inferred from the claim text.