Seamless image composition
AssigneeAdobe Systems Incorporated
InventorVikas Yadav
Life of this patent
Estimating the term…
Abstract
Seamless image compositions may be created. A plurality of images may be received, one image being a base image and the remaining image or images being source images. A selection may be received of one or more regions of one or more of the sources images to be copied onto the base image. An input may be received setting a blend parameter for each of the selected regions. The plurality of images may be blended together into a composite image by matching image gradients across one or more seams of the composite image. The image gradients may be based on the blend parameters. In one embodiment, input may be received to set a modified blend parameter for at least one of the selected regions and the plurality of images may be re-blended into a composite image in a similar manner but using the modified blend parameter.
Claims18
A method, comprising:
- receiving a plurality of images;
- receiving an indication of one of the plurality of images as a base image, wherein the remaining not indicated images comprise one or more source images;
- receiving a selection of one or more regions of the one or more source images to be copied onto the base image;
- receiving input setting a blend parameter for each of the selected regions, wherein the blend parameter for each selected region includes a blend amount for the selected region;
- and
- blending the plurality of images together into a composite image, wherein said blending comprises matching image gradients across one or more seams of the composite image, wherein the image gradients are based on the blend parameters,
- wherein said blending further comprises:
- storing image data in a buffer for each of the plurality of images;
- storing a blend map for each of the selected regions based on each selected region's corresponding blend parameter;
- computing modified image data based on the stored image data and stored blend maps for each of the selected regions;
- computing a composite vector field that includes an image gradient for:
- the base image, each region of the modified image data, and a plurality of boundaries that exist at a plurality of regions of the modified image data;
- and
- generating composite image data, wherein said generating includes matching a plurality of gradients of the composite image to the composite vector field.
A non-transitory computer-readable storage medium storing program instructions, wherein the program instructions are computer-executable to implement:
- receiving a plurality of images;
- receiving an indication of one of the plurality of images as a base image, wherein the remaining not indicated images comprise one or more source images;
- receiving a selection of one or more regions of the one or more source images to be copied onto the base image;
- receiving input setting a blend parameter for each of the selected regions, wherein the blend parameter for each selected region includes a blend amount for the selected region;
- and
- blending the plurality of images together into a composite image, wherein said blending comprises matching image gradients across one or more seams of the composite image, wherein the image gradients are based on the blend parameters,
- wherein the program instructions are further computer-executable to implement:
- storing image data in a buffer for each of the plurality of images;
- storing a blend map for each of the selected regions based on each selected region's corresponding blend parameter;
- computing modified image data based on the stored image data and stored blend maps for each of the selected regions;
- computing a composite vector field that includes an image gradient for:
- the base image, each region of the modified image data, and a plurality of boundaries that exist at a plurality of regions of the modified image data;
- and generating composite image data, wherein said generating includes matching a plurality of gradients of the composite image to the composite vector field.
A system, comprising:
- at least one processor;
- and
- a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to:
- receive a plurality of images;
- receive an indication of one of the plurality of images as a base image, wherein the remaining not indicated images comprise one or more source images;
- receive a selection of one or more regions of the one or more source images to be copied onto the base image;
- receive input to set a blend parameter for each of the selected regions, wherein the blend parameter for each selected region includes a blend amount for the selected region;
- and
- blend the plurality of images together into a composite image, wherein said blending comprises matching image gradients across one or more seams of the composite image, wherein the image gradients are based on the blend parameters,
- wherein the program instructions are further executable by the at least one processor to:
- store image data in a buffer for each of the plurality of images;
- store a blend map for each of the selected regions based on each selected region's corresponding blend parameter;
- compute modified image data based on the stored image data and stored blend maps for each of the selected regions;
- compute a composite vector field that includes an image gradient for:
- the base image, each region of the modified image data, and a plurality of boundaries that exist at a plurality of regions of the modified image data;
- and generate composite image data, wherein said generating includes matching a plurality of gradients of the composite image to the composite vector field.
Dependencies are inferred from the claim text.