Merging images to form a panoramic image
First Claim
Patent Images
1. A method for merging images, comprising:
- receiving images, each image representing a segment of a view;
receiving position information specifying positions of the images relative to each other;
for each image and based on the position information, identifying all other images that overlap the image;
grouping the images into pairs, wherein an image is grouped into a pair with each image identified as overlapping the image;
defining a transition band for each pair of images;
for each image in a pair of images, assigning a masking value for each pixel of the image, wherein the masking values specify complete visibility for each pixel in an area of the image that does not overlap the other image of the pair, the masking values specify partial visibility for pixels in the transition band, and the masking values specify complete invisibility for the remainder of the pixels in the image; and
merging the images using the calculated masking values.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of blending images of segments of a view includes determining the position of a second segment of the view represented by a second image relative to a first segment of the view represented by a first image; dividing the second image into a first section and a second section, based on the determined positions; drawing the first image on a canvas; and drawing the first section of the second image on the canvas at the determined position so that a portion of the first section masks out a portion of the first image.
97 Citations
18 Claims
-
1. A method for merging images, comprising:
-
receiving images, each image representing a segment of a view;
receiving position information specifying positions of the images relative to each other;
for each image and based on the position information, identifying all other images that overlap the image;
grouping the images into pairs, wherein an image is grouped into a pair with each image identified as overlapping the image;
defining a transition band for each pair of images;
for each image in a pair of images, assigning a masking value for each pixel of the image, wherein the masking values specify complete visibility for each pixel in an area of the image that does not overlap the other image of the pair, the masking values specify partial visibility for pixels in the transition band, and the masking values specify complete invisibility for the remainder of the pixels in the image; and
merging the images using the calculated masking values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
calculating intersection points between the outlines of images in the pair of images; and
calculating the longest line segment defined by the intersection points.
-
-
3. The method of claim 2, wherein:
-
defining a transition band further includes defining a region of pixels adjacent to the longest line segment as the transition band; and
for an image, assigning masking values to pixels in the transition band includes defining a gradient of masking values such that masking values transition smoothly from values specifying complete visibility at one edge of the transition band to values specifying complete invisibility at another edge of the transition band.
-
-
4. The method of claim 3, wherein:
-
specifying complete visibility includes setting a masking value of 1; and
specifying complete invisibility includes setting a masking value of 0.
-
-
5. The method of claim 1, wherein the receiving images includes:
receiving images representing segments that are arranged in an arbitrary arrangement.
-
6. The method of claim 1, wherein receiving position information includes:
determining a position of a first image relative to a second image.
-
7. The method of claim 6, wherein determining the position of an image includes:
-
selecting an item that is shown in the first and second images;
selecting a reference point in the first image; and
calculating horizontal and vertical displacement between the item and the reference point.
-
-
8. The method of claim 1, further comprising:
cumulatively updating the masking values for each pixel of an image.
-
9. The method of claim 1, wherein merging the images includes:
correcting a perspective of an image.
-
10. A computer program product, tangibly stored on a machine-readable medium, for merging images, comprising instructions operable to cause a programmable processor to:
-
receive images, each image representing a segment of a view;
receive position information specifying positions of the images relative to each other;
for each image and based on the position information, identify all other images that overlap the image;
group the images into pairs, wherein an image is grouped into a pair with each image identified as overlapping the image;
define a transition band for each pair of images;
for each image in a pair of images, assign a masking value for each pixel of the image, wherein the masking values specify complete visibility for each pixel in an area of the image that does not overlap the other image of the pair, the masking values specify partial visibility for pixels in the transition band, and the masking values specify complete invisibility for the remainder of the pixels in the image; and
merge the images using the calculated masking values. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
calculate intersection points between the outlines of images in the pair of images; and
calculate the longest line segment defined by the intersection points.
-
-
12. The computer program product of claim 11, wherein:
-
instructions to define a transition band further include instructions to define a region of pixels adjacent to the longest line segment as the transition band; and
instructions to assign masking values to pixels in the transition band include instructions to define a gradient of masking values such that masking values transition smoothly from values specifying complete visibility at one edge of the transition band to values specifying complete invisibility at another edge of the transition band.
-
-
13. The computer program product of claim 12, wherein:
-
instructions to specify complete visibility include instructions to set a masking value of 1; and
instructions to specify complete invisibility include instructions to set a masking value of 0.
-
-
14. The computer program product of claim 10, wherein the instructions to receive images include instructions to:
receive images representing segments that are arranged in an arbitrary arrangement.
-
15. The computer program product of claim 10, wherein instructions to receive position information include instructions to:
determine a position of a first image relative to a second image.
-
16. The computer program product of claim 15, wherein instructions to determine the position of an image include instructions to:
-
select an item that is shown in the first and second images;
select a reference point in the first image; and
calculate horizontal and vertical displacement between the item and the reference point.
-
-
17. The computer program product of claim 10, further comprising instructions to:
cumulatively update the masking values for each pixel of an image.
-
18. The computer program product of claim 10, wherein instructions to merge the images include instructions to:
correct a perspective of an image.
Specification