IP Library Granted Patent US 8,526,763
Granted Patent B2
US 8,526,763 · App. 13/118,189 · Granted Sep 3, 2013

Seamless image composition

Inventor: Vikas Yadav (Noida, IN)
Assignee: Adobe Systems Incorporated
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,526,763
App. No.
13/118,189
Granted
Sep 3, 2013
Kind
B2
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.

Claims (59)

1. 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.

2. The method of claim 1 , further comprising:

receiving input setting a modified blend parameter for at least one of the selected regions, wherein the modified blend parameter comprises a modified blend amount for the at least one of the selected regions; and

re-blending the plurality of images together into the composite image, wherein said re-blending comprises matching image gradients of the plurality of images across one or more seams of the composite image, wherein the image gradient corresponding to the at least one selected region is based on the modified blend parameter.

3. The method of claim 1 , wherein said generating includes matching the plurality of gradients of the composite image to the composite vector field in a least squares sense.

4. The method of claim 1 , wherein each one of the plurality of gradients of the composite image corresponds to a region of the composite image and is computed from a corresponding source image, wherein the corresponding source image for each one of the plurality of gradients is one of the one or more source images for regions of the composite image derived from the one of the one or more source images and is the base image for regions of the composite image derived from the base image.

5. The method of claim 1 , wherein one of the plurality of gradients lies at a boundary between two regions of the composite image, wherein the one of the plurality of gradients is computed by averaging gradients of two or more of the plurality of images forming the boundary.

6. The method of claim 1 , wherein one of the plurality of gradients corresponds to a region of the composite image composed of multiple source images, wherein the one of the plurality of gradients is computed from the modified image.

7. 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.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the program instructions are further computer-executable to implement:

receiving input setting a modified blend parameter for at least one of the selected regions, wherein the modified blend parameter comprises a modified blend amount for the at least one of the selected regions; and

re-blending the plurality of images together into the composite image, wherein said re-blending comprises matching image gradients of the plurality of images across one or more seams of the composite image, wherein the image gradient corresponding to the at least one selected region is based on the modified blend parameter.

9. The non-transitory computer-readable storage medium of claim 7 , wherein said generating includes matching the plurality of gradients of the composite image to the composite vector field in a least squares sense.

10. The non-transitory computer-readable storage medium of claim 7 , wherein each one of the plurality of gradients of the composite image corresponds to a region of the composite image and is computed from a corresponding source image, wherein each corresponding source image is one of the one or more source images for regions of the composite image derived from the one of the one or more source images and is the base image for regions of the composite image derived from the base image.

11. The non-transitory computer-readable storage medium of claim 7 , wherein one of the plurality of gradients lies at a boundary between two regions of the composite image, wherein the one of the plurality of gradients is computed by averaging gradients of two or more of the plurality of images forming the boundary.

12. The non-transitory computer-readable storage medium of claim 7 , wherein one of the plurality of gradients corresponds to a region of the composite image composed of multiple source images, wherein the one of the plurality of gradients is computed from the modified image.

13. 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.

14. The system of claim 13 , wherein the program instructions are further executable by the at least one processor to:

receive input to set a modified blend parameter for at least one of the selected regions, wherein the modified blend parameter comprises a modified blend amount for the at least one of the selected regions; and

re-blend the plurality of images together into the composite image, wherein said re-blending comprises matching image gradients of the plurality of images across one or more seams of the composite image, wherein the image gradient corresponding to the at least one selected region is based on the modified blend parameter.

15. The system of claim 13 , wherein said generating includes matching the plurality of gradients of the composite image to the composite vector field in a least squares sense.

16. The system of claim 13 , wherein each one of the plurality of gradients of the composite image corresponds to a region of the composite image and is computed from a corresponding source image, wherein each corresponding source image is one of the one or more source images for regions of the composite image derived from the one of the one or more source images and is the base image for regions of the composite image derived from the base image.

17. The system of claim 13 , wherein one of the plurality of gradients lies at a boundary between two regions of the composite image, wherein the one of the plurality of gradients is computed by averaging gradients of two or more of the plurality of images forming the boundary.

18. The system of claim 13 , wherein one of the plurality of gradients corresponds to a region of the composite image composed of multiple source images, wherein the one of the plurality of gradients is computed from the modified image.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2011
From: YADAV, VIKAS
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 026357/0921 →
Continuity (1)
Related Publication 20130121618A1 · May 16, 2013