US20080074489A1 - Apparatus, method, and medium for generating panoramic image - Google Patents
Apparatus, method, and medium for generating panoramic image Download PDFInfo
- Publication number
- US20080074489A1 US20080074489A1 US11/902,648 US90264807A US2008074489A1 US 20080074489 A1 US20080074489 A1 US 20080074489A1 US 90264807 A US90264807 A US 90264807A US 2008074489 A1 US2008074489 A1 US 2008074489A1
- Authority
- US
- United States
- Prior art keywords
- image
- images
- captured image
- captured
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/20—Linear translation of whole images or parts thereof, e.g. panning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
Definitions
- Embodiments relate to an apparatus, method, and medium for generating a panoramic image, and more particularly, to an apparatus, method, and medium for generating a panoramic image by rapidly and precisely stitching a series of images captured in various directions.
- a panoramic image is a series of images taken in different directions and stitched in a predetermined manner. Such a panoramic image provides a wide field of view (FOV) of a scene as compared with an image captured in one direction. Thus, an extended view of a scene can be provided.
- FOV wide field of view
- Images having overlapped sections are captured for making a panoramic image.
- a trailing edge of an image is ideally identical with a leading edge of the previous image.
- a more realistic panoramic image can be obtained when the images are stitched with the overlapped sections of the images being precisely aligned.
- a conventional panoramic image generating apparatus can use a series of images taken by rotating a camera 360° on a tripod so as to generate a realistic panoramic image.
- the conventional panoramic image generating apparatus moves at least one of neighboring images in a predetermined direction so as to align overlapped (ideally identical) portions of the neighboring images.
- the conventional apparatus can provide a realistic panoramic image.
- a panoramic image generating apparatus and method that can be used for precisely aligning overlapped (ideally identical) sections of neighboring images even when the images are taken in different directions by moving a camera along a path that it was not intended to be moved along.
- a panoramic image generating apparatus and method that can be used for generating a panoramic image with less calculation load and time. Particularly, these needs may be great when a panoramic image generating apparatus is included in a portable terminal.
- Embodiments provide an apparatus for generating a panoramic image by stitching a series of images by precisely aligning and superimposing overlapping sections of the images.
- Embodiments provide a method of generating a panoramic image by stitching a series of images by precisely aligning and superimposing overlapping sections of the images.
- Embodiments provide a computer-readable recording medium storing a computer-readable program for executing a method of generating a panoramic image by stitching a series of images by precisely aligning and superimposing overlapping sections of the images.
- an apparatus for generating a panoramic image including: a mapping unit to map a previously captured image and a currently captured image onto a predetermined curved surface so as to form a first mapping image and a second mapping image, respectively; a calculation unit to calculate movement values in predetermined directions for maximizing a color similarity between overlapped sections of the first and second mapping images; and an image aligning unit to generate a panoramic image using the first and second mapping images and the calculated movement values.
- a method of generating a panoramic image including: projecting a previously captured image and a currently captured image onto a predetermined curved surface so as to form a first mapping image and a second mapping image, respectively; calculating movement values in predetermined directions for maximizing a color similarity between overlapped sections of the first and second mapping images; and generating a panoramic image using the first and second mapping images and the calculated movement values.
- a computer-readable recording medium storing a computer-readable program for executing a method of generating a panoramic image, the method including: projecting a previously captured image and a currently captured image onto a predetermined curved surface so as to form a first mapping image and a second mapping image, respectively; calculating movement values in predetermined directions for maximizing a color similarity between overlapped sections of the first and second mapping images; and generating a panoramic image using the first and second mapping images and the calculated movement values.
- At least one computer readable medium storing computer readable instructions to implement methods of embodiments.
- FIG. 1A is a perspective diagram illustrating a photographing device according to an exemplary embodiment
- FIGS. 1B , 1 C, and 1 D are diagrams for explaining a single-row (horizontal) panoramic image according to an exemplary embodiment
- FIGS. 1E and 1F are diagrams for explaining a multi-row (spherical) panoramic image according to an exemplary embodiment
- FIG. 2 is a block diagram illustrating a panoramic image generating apparatus according to an exemplary embodiment
- FIGS. 3A through 3E are diagrams for explaining operations of a display unit, a photographing unit, and a guide image generating unit of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment
- FIG. 4 is a reference diagram for explaining an operation of a mapping unit of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment
- FIG. 5 is a block diagram for explaining the mapping unit of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment
- FIG. 6 is a block diagram for explaining a calculation unit of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment
- FIG. 7 is a flowchart for explaining a method of generating a panoramic image according to an exemplary embodiment
- FIG. 8 is a flowchart for explaining, in more detail, operation 710 of the method of FIG. 7 , according to an exemplary embodiment
- FIGS. 9A and 9B are a flowcharts for explaining, in more detail, operation 720 of the method of FIG. 7 when a single-row panoramic image is generated according to an exemplary embodiment.
- FIGS. 10A and 10B are flowcharts for explaining, in more detail, operation 720 of the method of FIG. 7 when a multi-row panoramic image is generated according to an exemplary embodiment.
- FIG. 1A is a perspective diagram illustrating a photographing device 100 according to an exemplary embodiment.
- the photographing device 100 include a digital camera and other devices having a photographing function such as a portable phone. Accordingly, exemplary embodiments may include any device that can perform a photographing operation.
- a panoramic image is generated using a plurality of images (photographs) taken with the photographing device 100 .
- x, y, and z-axes may be orthogonal to one another. However, the x, y, and z-axes can be set in different directions.
- the z-axis denotes a photographing direction. That is, the z-axis may be a direction where a shutter 102 points.
- the x, y, and z-axes cross at an origin (O).
- Arrow 104 denotes the direction of pitching motion of the photographing device 100 around the x-axis
- arrow 106 denotes the direction of panning motion of the photographing device 100 around the y-axis
- Arrow 108 denotes the direction of rolling motion of the photographing device 100 around the z-axis.
- pitch angle denotes the amount of pitching motion of the photographing device 100 in the direction of arrow 104
- panning angle denotes the amount of panning motion of the photographing device 100 in the direction of arrow 106
- rolling angle denotes the amount of rolling motion of the photographing device 100 in the direction of arrow 108 .
- the positive directions of pitching, panning, and rolling motions of the photographing device 100 are the directions of arrows 104 , 106 , and 108 , respectively.
- FIGS. 1B , 1 C, and 1 D are diagrams for explaining a single-row (horizontal) panoramic image according to an exemplary embodiment
- FIGS. 1E and 1F are diagrams for explaining a multi-row (spherical) panoramic image according to an exemplary embodiment.
- a single-row (horizontal) panoramic image and a multi-row (spherical) panoramic image are examples of panoramic images that can be generated according to exemplary embodiments.
- the case of generating a single-row panoramic image will be described separately from the case of generating a multi-row panoramic image.
- single-row (horizontal) panoramic image is used herein to denote a panoramic image made using a series of images 110 , 112 , 114 , and 116 captured from a fixed point (C) at different horizontal angles (i.e., in different horizontal photographing directions) using the photographing device 100 .
- the photographing device 100 itself, a photographer holding the photographing device 100 , or a physical part (e.g., an arm) of the photographer may rotate around the fixed point (C) to capture the images 110 , 112 , 114 , and 116 .
- the images 110 , 112 , 114 , and 116 may be an m th captured image (where m is a natural number), an (m+1) th captured image, an (m+2) th captured image, and an (m+3) th captured image, respectively.
- the images 110 , 112 , 114 , and 116 can be an (m+3) th captured image, an (m+2) th captured image, an (m+1) th captured image, and an m th captured image, respectively.
- reference numerals 110 , 112 , 114 , and 116 denote first, second, third, and fourth captured images, respectively, unless they are referred to different meanings.
- the term “captured image” is used to denote a photograph
- the m th captured image denotes an m th image among a series of captured images.
- the fixed point (C) is a center point from which a series of images are captured at different angles.
- the tripod corresponds to the fixed point (C).
- the photographer specifically, a shoulder of the photographer functioning as a rotation center of the arm
- the fixed point (C) corresponds to the fixed point (C).
- reference numerals 111 , 113 , 115 , and 117 denote an m th projection image, an (m+1) th projection image, an (m+2) th projection image, and an (m+3) th projection image, respectively.
- the images 111 , 113 , 115 , and 117 can be an (m+3) th projection image, an (m+2) th projection image, an (m+1) th projection image, and an m th projection image, respectively.
- reference numerals 111 , 113 , 115 , and 117 denote first, second, third, and fourth projection images, respectively, unless they are referred to different meanings.
- mapping image is used to denote an image formed by projecting a captured image onto a predetermined curved surface
- an m th projection image denotes a mapping image formed by projecting the m th captured image on the predetermined curved surface
- the captured images 110 , 112 , 114 , and 116 are projected onto the predetermined curved surface to form the projection images 111 , 113 , 115 , and 117 . Then, the projection images 111 , 113 , 115 , and 117 are stitched (connected) together so as to create a single-row panoramic image.
- the predetermined curved surface is at least a portion of a side surface of a cylinder (hereinafter, referred to as a cylindrical surface).
- the cylinder can have a constant section as shown in FIG. 1C . However, the cylinder can have a non-constant section.
- a circle shown in FIG. 1D is a cross-section of the cylinder. As shown in FIG. 1D , centers of the captured images 110 , 112 , 114 , and 116 are placed on the circumference of the circle, and the projection images 111 , 113 , 115 , and 117 are entirely formed on the circumference of the circle.
- multi-row panoramic image is used herein to denote a panoramic image made using a series of images 150 , 152 , 154 , and 156 captured from a fixed point (C) at different spherical angles (i.e., in different spherical photographing directions) using the photographing device 100 .
- the photographing device 100 itself, a photographer holding the photographing device 100 , or a physical part (e.g., an arm) of the photographer may horizontally and vertically rotate centered on the fixed point (C) to capture the images 150 , 152 , 154 , and 156 .
- reference numerals 150 through 157 may denote an n th captured image, an n th projection image, an (n+1) th captured image, an (n+1) th projection image, an (n+2) th captured image, an (n+2) th projection image, an (n+3) th captured image, and an (n+3) th projection image, respectively.
- reference numerals 150 through 157 may denote an (n+1) th captured image, an (n+1) th projection image, an (n+2) th captured image, an (n+2) th projection image, an (n+3) th captured image, an (n+3) th projection image, an n th captured image, and an n th projection image, respectively.
- reference numerals 150 through 157 may denote an (n+2) th captured image, an (n+2) th projection image, an (n+3) th captured image, an (n+3) th projection image, an n th captured image, an n th projection image, an (n+1) th captured image, and an (n+1) th projection image, respectively.
- reference numerals 150 through 157 may denote an (n+3) th captured image, an (n+3) th projection image, an n th captured image, an n th projection image, an (n+1) th captured image, an (n+1) th projection image, an (n+2) th captured image, and an (n+2) th projection image, respectively.
- reference numerals 150 through 157 denote a first captured image, a first projection image, a second captured image, a second projection image, a third captured image, a third projection image, a fourth captured image, and a fourth projection image, respectively, unless specifically stated otherwise.
- a multi-row panoramic image is generated by projecting the captured images 150 , 152 , 154 , and 156 onto a predetermined curved surface to form the projection images 151 , 153 , 155 , and 157 and stitching the projection images 151 , 153 , 155 , and 157 .
- the predetermined surface is at least a portion of a surface of the sphere (hereinafter, referred to as a spherical surface). As shown in FIG.
- the centers P 1 , P 2 , P 3 , and P 4 of the captured images 150 , 152 , 154 , and 156 are placed on the spherical surface, and the projection images 151 , 153 , 155 , and 157 are entirely formed on the spherical.
- a fixed (center) point is denoted by the letter C like in FIGS. 1C and 1D .
- the uppermost point (an upper pole), the lowermost point (a lower pole), and the equator of a sphere are denoted using P, Q, and E, respectively.
- Reference characters V 1 and V 2 denote longitude lines of the sphere.
- Reference characters P 1 , P 2 , P 3 , and P 4 denote centers of the first captured image 150 (or the first projection image 151 ), the second captured image 152 (or the second projection image 153 ), the third captured image 154 (or the third projection image 155 ), and the fourth captured image 156 (or the fourth projection image 157 ), respectively.
- Reference character ( ⁇ ) denotes a panning angle between the second captured image 152 (or the second projection image 153 ) and the third captured image 154 (or the third projection image 155 ).
- Reference character ( ⁇ ) denotes a pitch angle between the first and second captured images 150 and 152 (or between the third and fourth captured images 154 and 156 ).
- the centers P 2 , and P 3 can be aligned with the equator (E), and the centers P 1 and P 4 can be aligned with a line parallel to the equator (E).
- the captured images 110 , 112 , 114 , and 116 of FIG. 1B will be used to explain a single-row panoramic image
- the captured images 150 , 152 , 154 , and 156 of FIG. 1E will be used to explain a multi-row panoramic image.
- other numbers of captured images can be used to generate a panoramic image.
- FIG. 2 is a block diagram illustrating a panoramic image generating apparatus according to an exemplary embodiment.
- the panoramic image generating apparatus may include a display unit 210 , a photographing unit 212 , an image storage unit 214 , a guide image generating unit 216 , an extraction unit 218 , a mapping unit 220 , a calculation unit 222 , an image aligning unit 224 , and an image deleting unit 226 .
- the units 210 through 226 may be included in the photographing device 100 shown FIG. 1A .
- the display unit 210 displays an image to be captured. Specifically, the display unit 210 displays an image (hereinafter, referred to as an original image) of a scene obtained through a lens (not shown).
- a photographer can find a desired image from images of a scene displayed on the display unit 210 . Then, the photographer can capture the desired image by manipulating a photographing button 101 (refer to FIG. 1A ).
- the photographing button 101 may be a press button or touch button.
- the photographing unit 212 captures the image displayed on the display unit 210 at the moment when the photographing button 101 is manipulated, and the image storage unit 214 stores the captured image.
- the guide image generating unit 216 generates a guide image using the latest image captured by the photographing unit 212 and outputs the guide image to the display unit 210 . Then, the display unit 210 displays the received guide image together with a current image that can be captured. Therefore, a photographer can easily determine the photographing orientation of the photographing unit 212 using the guide image displayed on the display unit 210 . In addition, when the photographing unit 212 captures an image displayed on the display unit 210 , the guide image displayed on the display unit 210 together with the captured image is not further captured.
- the extraction unit 218 extracts an image stored in the image storage unit 214 , and the mapping unit 220 generates a mapping image by projecting the extracted image onto a predetermined curved surface.
- the mapping unit 220 can directly generate a mapping image by receiving a captured image from the photographing unit 212 and projecting the captured image onto a predetermined curved surface.
- the predetermined curved surface can be a cylindrical surface or spherical surface.
- the mapping unit 220 generates a first mapping image and a second mapping image by projecting a previously captured image and a currently captured image onto a predetermined curved surface.
- the term first mapping image is used herein to denote a mapping image of a previously captured image
- the term second mapping image is used herein to denote a mapping image of a currently captured image.
- the previously captured image may be denoted by the term p th captured image (where p is a natural number)
- the currently captured image may be denoted by the term (p+1) th captured image.
- the first mapping image and the second mapping image denote a p th projection image and a (p+1) th projection image, respectively.
- the calculation unit 222 calculates movement values in predetermined directions so as to maximize the color similarity between overlapped sections of the first and second mapping images.
- the movement value can be calculated for a captured image or a mapping image. That is, at least one of the previously captured image and the currently captured image can be shifted by the movement value, or at least one of the first and second mapping images can be shifted by the movement value. It can be determined whether the movement value is for a captured image or a mapping image, depending on the direction in which the movement value is set.
- the calculation unit 222 calculates proper movement value for the previously captured image and the currently captured image after projecting one of the images onto a plane including the other.
- the image is projected regardless of the focal length of the photographing device 100 , and thus the shape and area of the image are not changed by the projection.
- Candidate movement values may be prepared in each predetermined direction.
- the calculation unit 222 shifts at least one of the previously captured image and the currently captured image (or at least one of the first and second mapping images) in each predetermined direction by a selected candidate movement value. Then, the calculation unit 222 calculates a color similarity between overlapped sections of the previously and currently captured images (or the first and second mapping images). The calculation unit 222 repeats these procedures for all the candidate movement values in each predetermined direction and determines one of the candidate movement values resulting in a maximum color similarity as a proper movement value.
- the maximum color similarity between overlapped sections of images is determined as follows: each time when at least one of the images moved by the candidate movement value, colors of respective pixels of the overlapped sections of the images are compared to calculate a color similarity between the overlapped sections of the images, that is, the color similarity is calculated for all pixels of the overlapped sections of the image; and the maximum of the color similarities calculated for the respective candidate movement values is selected as the maximum color similarity.
- the maximum color similarity can be determined based on the number of pixels of the overlapped sections having a color similarity higher than 90% or the mean value of the color similarities of the pixels of the overlapped sections.
- the calculation unit 222 selects a movement value from candidate movement values for each predetermined direction and moves the first and second mapping images by the selected proper movement value. Then, the calculation unit 222 calculates 100 color similarity values between the right-section 100 pixels and the left-section 100 pixels and finds a mean value of the 100 similarity values. In this way, the calculation unit 222 calculates mean values for all the candidate movement values and determines the maximum of the mean values as a proper movement value.
- the calculation unit 222 can calculate the same proper movement value for the previously and currently captured images or for the first and second mapping images. Alternatively, the calculation unit 222 can calculate different proper movement values for the previously and currently captured images or for the first and second mapping images.
- the calculation unit 222 calculates proper movement values for aligning the first captured image 110 or 150 and the second captured image 112 or 152 (or for a first projection image 111 or 151 and a second projection image 113 or 153 ). Then, when the photographing unit 212 captures a third image 114 or 154 , the calculation unit 222 calculates proper movement values for aligning the second captured image 112 or 152 and the third captured image 114 or 154 (or for aligning the second projection image 113 or 153 and a third projection image 115 or 155 ).
- the calculation unit 222 calculates proper movement values for aligning the third captured image 114 or 154 and the fourth captured image 116 or 156 (or for aligning the third projection image 115 or 155 and a fourth projection image 117 or 157 ).
- the proper movement value for the third captured image 114 or 154 is calculated again, the previous proper movement value is replaced with the current proper movement value.
- the calculation unit 222 can calculate a proper movement value only for the currently captured image or the second mapping image without calculating a proper movement value for the previously captured image or the first mapping image. That is, once a proper movement value is calculated for a captured image (or a mapping image), the calculation unit 222 may not calculate a proper movement value again for the same captured image (or the same mapping image).
- the calculation unit 222 calculates proper movement values for aligning the first captured image 110 or 150 and the second captured image 112 or 152 (or for aligning a first projection image 111 or 151 and a second projection image 113 or 153 ). Then, when the photographing unit 212 captures the third image 114 or 154 , the calculation unit 222 calculates a proper movement value for the third captured image 114 or 154 (or for a third projection image 115 or 155 ). Similarly, when the photographing unit 212 captures the fourth image 116 or 156 , the calculation unit 222 calculates a proper movement value for the fourth captured image 116 or 156 (or for a fourth projection image 117 or 157 ).
- the image aligning unit 224 respectively moves the first and second mapping images by the proper movement values. Then, the image aligning unit 224 stitches the first and second mapping images together so as to a panoramic image.
- the term “stitch” is used when images are connected or combined to generate a panoramic image.
- the image deleting unit 226 deletes the previously captured image stored in the image storage unit 214 .
- the image storage unit 214 , the extraction unit 218 , and the image deleting unit 226 are included in the panoramic image generating apparatus of FIG. 2 , the image storage unit 214 , the extraction unit 218 , and the image deleting unit 226 may be not included in the panoramic image generating apparatus according to another exemplary embodiment.
- mapping unit 220 Operations of the mapping unit 220 , the calculation unit 222 , and the image aligning unit 224 will now be more specifically described according to exemplary embodiments.
- Three exemplary embodiments below describe the operations of the mapping unit 220 , the calculation unit 222 , and the image aligning unit 224 in the case where a single-row panoramic image is generated, and two exemplary embodiments below describe the operations of the mapping unit 220 , the calculation unit 222 , and the image aligning unit 224 in the case where a multi-row panoramic image is generated.
- mapping unit 220 the operations of the mapping unit 220 , the calculation unit 222 , and the image aligning unit 224 are as follows.
- the calculation unit 222 calculates proper movement values in a predetermined direction for a previously captured image and a currently captured image (or a first mapping image and a second mapping image).
- the predetermined direction may be the direction of pitching, panning, or rolling motion of the photographing device 100 (refer to FIG. 1A ). That is, the movement values can be expressed as a combination of a pitch angle, a panning angle, and a rolling angle.
- a proper pitch angle denotes a pitch angle as a proper movement value
- a proper panning angle denotes a panning angle as a proper movement value
- a proper rolling angle denotes a rolling angle as a proper movement value.
- the calculation unit 222 calculates proper rolling angles and pitch angles for the previously captured image and the currently captured image. Furthermore, the calculation unit 222 calculates proper panning angles for the first and second mapping images, respectively.
- Pitch angle candidates, panning angle candidates, and rolling angle candidates are prepared beforehand as movement value candidates.
- Pitch angle candidates may be ⁇ 3°, ⁇ 2°, ⁇ 1°, 0°, 1°, 2°, and 3°.
- Panning angle candidates may be ⁇ 10°, ⁇ 9°, . . . , 0°, . . . , 9°, and 10°.
- Rolling angle candidates may be ⁇ 4°, ⁇ 3°, ⁇ 2°, ⁇ 1°, 0°, 1°, 2°, 3°, and 4°.
- the calculation unit 222 selects a proper rolling angle and a proper pitch angle from the candidates as follows.
- the calculation unit 222 projects one of the previously and currently captured images onto a plane of the other image. Then, the calculation unit 222 rotates each of the previously and currently captured images by a rolling angle and a pitch angle selected from the candidates, and calculates a color similarity value between overlapped sections of the previously and currently captured images. In this way, the calculation unit 222 calculates color similarity values between the overlapped sections for all the rolling angle candidates and the pitch angle candidates, and determines a rolling angle candidate and a pitch angle candidate that result in maximum color similarities as a proper rolling angle and a proper pitch angle.
- the image aligning unit 224 rotates each of the previously and currently captured images by the proper rolling angle and rotates each of the previously and currently captured images by the proper pitch angle.
- the mapping unit 220 projects the previously and currently captured images onto a predetermined curved surface so as to form a first mapping image and a second mapping image.
- the calculation unit 222 rotates each of the first and second mapping images by a panning angle selected from the candidates, and calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, the calculation unit 222 calculates color similarity values between the overlapped sections for all the panning candidates and determines a panning angle candidate resulting in the maximum color similarity as a proper panning angle. Then, the image aligning unit 224 rotates each of the first and second mapping angle by the proper panning angle. After that, the image aligning unit 224 stitches the first and second mapping images together to generate a panoramic image.
- mapping unit 220 the calculation unit 222 , and the image aligning unit 224 are operated as follows.
- the calculation unit 222 calculates proper movement values in predetermined directions for a previously captured image.
- the proper movement values can be expressed as a combination of a proper pitch angle, a proper panning angle, and a proper rolling angle.
- Pitch angle candidates, panning angle candidates, and rolling angle candidates are prepared beforehand as movement value candidates in the same manner as in the previous exemplary embodiment.
- the calculation unit 222 projects one of the previously captured images and a currently captured image onto a plane including the other image. Then, the calculation unit 222 selects one rolling angle candidate, one pitch angle candidate, and one panning angle candidate from the candidates. That is, the rolling, pitch, and panning angle candidates can be selected simultaneously from the candidates.
- the calculation unit 222 calculates a color similarity value between overlapped sections of the previously and currently captured images after rotating the previously capture image by the selected rolling angle (e.g., c), pitch angle (e.g., b), and panning angle (e.g., a).
- the selected rolling angle e.g., c
- pitch angle e.g., b
- panning angle e.g., a
- the pixel When a pixel of the previously captured image has a coordinate (x 1 , y 1 , z 1 ), the pixel may have a coordinate (x 2 , y 2 , z 2 ) after being rotated by (c, b, a).
- the xyz coordinate system used is an absolute coordinate system that is fixed regardless of the position or movement of the photographing device 100 .
- the xyz coordinate system can be explained by Equation 1 below.
- the calculation unit 222 rotates the previously captured image three times by (Rz(c), Ry(b), Rx(a)) and then calculates a color similarity value between overlapped sections of the previously captured image and the currently captured image.
- the calculation unit 222 may take considerable time for the calculation unit 222 to calculate the color similarity value after rotating the previously capture image three times.
- the current exemplary embodiment provides a method of calculating a proper movement value more rapidly by reducing the number of rotations from three times to two times as follows.
- Equation 2 The relationship between (a, b, c) and (w, Y 1 , Y 2 ) can be expressed by Equation 2 below.
- Equation 2 is obtained by Equation 3 below.
- Equation 4 the relationship between X 2 and X 1 can be expressed by Equation 4 below.
- Equation 4 Both sides of Equation 4 are multiplied by a matrix Rz, ⁇ 2 to obtain Equation 5 below.
- the calculation unit 222 rotates the previously captured image two times by (Ry,w*Rz, ⁇ 1 ) and simultaneously rotates the currently captured image one time by (Rz, ⁇ 2 ). Then, the calculation unit 222 can calculate a color similarity value between overlapped portions of the previously and currently captured images.
- the calculation unit 222 can calculate a color similarity value between overlapped portions of the previously and currently captured images after rotating the previously captured image three times by (Rz,c, Ry,b, Rx,a).
- the calculation unit 222 can calculate the color similarity value between the overlapped portions of the previously and currently captured images after rotating the previously captured two times by (Ry,w*Rz, ⁇ 1 ) and simultaneously rotating the currently capture image one time by (Rz, ⁇ 2 ). In the latter case, when the previously captured image is rotated two times, the currently captured image is already rotated one time.
- the time necessary for converting (c, b, a) into (w, Y 1 , Y 2 ) is negligible as compared with the time necessary for rotating the Ry,w*Rz, ⁇ 1 *X 1 as much as Rz, ⁇ 2 .
- the calculation unit 222 can calculate a proper movement value faster when using the Equation 5 than when using Equation 1.
- the image aligning unit 224 rotates the previously captured image by the proper rolling angle Y 1 in the rolling direction and the proper panning angle (w) in the panning direction. Then, the mapping unit 220 projects the previously captured image onto a predetermined curved surface to form a first mapping image.
- the image aligning unit 224 rotates the first captured image 110 by the proper rolling angle Y 1 - 1 and the proper panning angle w 1 .
- the mapping unit 220 forms a first projection image 111 using the first captured image 110 .
- Y 1 - i denotes a proper rolling angle for the i th captured image
- Y 2 - i denotes a proper rolling angle for the i th captured image
- the image aligning unit 224 rotates the second captured image 112 by the proper rolling angle Y 1 - 2 and the proper panning angle w 2 .
- the mapping unit 220 forms a second projection image 113 using the rotated second captured image 112 .
- the image aligning unit 224 rotates the third captured image 114 by the proper rolling angle Y 1 - 3 and the proper panning angle w 3 and rotates the fourth captured image 116 by the proper rolling angle Y 2 - 4 .
- the mapping unit 220 forms third and fourth projection images 115 and 117 using the rotated first and fourth captured images 114 and 116 .
- the image aligning unit 224 stitches the first and second projection images 111 and 113 , the second and third projection images 113 and 115 , and the third and fourth projection images 115 and 117 , thereby generating a panoramic image.
- the pitch direction 104 is considered in calculating a proper movement value. However, in the next exemplary embodiment, the pitch direction 104 is not considered.
- the trembling of the photographing device 100 in the pitch direction 104 may be negligible as compared with the trembling of the photographing device 100 in the panning direction 106 and the rolling direction 108 .
- the pitch direction 104 is not considered.
- mapping unit 220 the calculation unit 222 , and the image aligning unit 224 are operated as follows.
- the calculation unit 222 calculates proper movement values in a predetermined direction for a previously captured image and a currently captured image (or a first mapping image and a second mapping image).
- the predetermined direction may be a panning direction, a rolling direction, or a vertical direction.
- the vertical direction is a direction parallel with the vertical center axis of a cylinder (for example, refer to FIGS. 1C and 1D ).
- a vertical displacement i.e., a movement value in the vertical direction
- a proper vertical displacement denotes a proper movement value in the vertical direction.
- the calculation unit 222 calculates proper rolling angles for the previously captured image and the currently captured image. Furthermore, the calculation unit 222 calculates proper panning angles and proper vertical displacements for each of the first and second mapping images.
- Rolling angle candidates, panning angle candidates, and vertical displacement candidates are prepared beforehand as movement value candidates.
- rolling angle candidates may be ⁇ 4°, ⁇ 3°, ⁇ 2°, ⁇ 1°, 0°, 1°, 2°, 3°, and 4°.
- Panning angle candidates may be ⁇ 10°, ⁇ 9°, . . . , 0°, . . . , 9°, and 10°.
- Vertical displacement candidates may be a negative two-pixel length, a negative one-pixel length, 0, one-pixel length, and two-pixel length.
- the calculation unit 222 selects a proper rolling angle from the candidates as follows.
- the calculation unit 222 projects one of the previously and currently captured images onto a plane of the other image. Then, the calculation unit 222 rotates the previously and currently captured images by a rolling angle selected from the candidates, and calculates a color similarity value between overlapped sections of the previously and currently captured images. In this way, the calculation unit 222 calculates color similarity values between the overlapped sections for all the rolling angle candidates and determines a rolling angle candidate resulting in the maximum color similarity as a proper rolling angle.
- the image aligning unit 224 rotates each of the previously and currently captured images by the proper rolling angle.
- the mapping unit 220 projects the previously and currently captured images onto a predetermined curved surface so as to form a first mapping image and a second mapping image.
- the calculation unit 222 moves each of the first and second mapping images by a panning angle and a vertical displacement selected from the candidates, and calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, the calculation unit 222 calculates color similarity values between the overlapped sections for all the panning angle candidates and the vertical displacement candidates, and determines a panning angle candidate and a vertical displacement candidate that result in the maximum color similarity as a proper panning angle and a proper vertical displacement.
- the image aligning unit 224 moves each of the first and second mapping images by the proper panning angle and the proper vertical displacement. After that, the image aligning unit 224 stitches the first and second mapping images together to generate a panoramic image.
- the calculation unit 222 calculates proper rolling angles for first and second captured image 110 and 112 , and the image aligning unit 224 rotates the first and second captured images 110 and 112 by the proper rolling angles.
- the mapping unit 220 generates first and second projection images 111 and 113 using the first and second captured images 110 and 112 , and the calculation unit 222 calculates proper panning angles and proper vertical displacements for the first and second projection images 111 and 113 .
- the image aligning unit 224 rotates each of the first and second projection images 111 and 113 by the proper panning angle and moves each of the first and second projection images 111 and 113 by the proper vertical displacement.
- the calculation unit 222 may calculate proper rolling angles for the second captured image 112 and a third captured image 114 and calculate proper panning angles and proper vertical displacements for the second projection image 113 and a third projection image 115 . Further, the image aligning unit 224 may rotate the second and third captured images 112 and 114 by the proper rolling angles, and then rotate and move the second and third projection images 113 and 115 by the proper panning angles and the proper vertical displacements. As just described, although a proper movement value is already calculated for the second captured image 112 (or the second projection image 113 ), the calculation unit 222 can calculate another proper movement value for the second captured image 112 (or the second projection image 113 ). In this case, the former proper movement value for the second captured image 112 (or the second projection image 113 ) is replaced with the latter proper movement value.
- the calculation unit 222 may calculate proper rolling angles for the third captured image 114 and a fourth captured image 116 , and then calculate proper panning angles and proper vertical displacements for the third projection image 115 and a fourth projection image 117 . Further, the image aligning unit 224 may rotate the third and fourth captured images 114 and 116 by the proper rolling angles, and then rotate and move the third and fourth projection images 115 and 117 by the proper panning angles and the proper vertical displacements. Although a proper movement value is already calculated for the third captured image 114 (or the third projection image 115 ), the calculation unit 222 can calculate another proper movement value for the third captured image 114 (or the third projection image 115 ). In this case, the former proper movement value for the third captured image 114 (or the third projection image 115 ) is replaced with the latter proper movement value.
- the image aligning unit 224 stitches the first and second projection images 111 and 113 together, the second and third projection images 113 and 115 together, and the third and fourth projection images 115 and 117 together, thereby generating a panoramic image.
- the calculation unit 222 may not calculate a proper movement value again for a captured image (or a mapping image) once the calculation unit 222 has already calculated a proper movement value for a particular captured image (or mapping image). This case will now be described.
- the calculation unit 222 calculates proper rolling angles for first and second captured image 110 and 112 , and the image aligning unit 224 rotates the first and second captured images 110 and 112 by the proper rolling angles.
- the mapping unit 220 generates first and second projection images 111 and 113 using the first and second captured images 110 and 112 , and the calculation unit 222 calculates proper panning angles and proper vertical displacements for the first and second projection images 111 and 113 .
- the image aligning unit 224 rotates and moves the first and second projection images 111 and 113 by the proper panning angles and the proper vertical displacements. After that, the image aligning unit 224 stitches the first and second projection images 111 and 113 together.
- the calculation unit 222 calculates a proper rolling angle for a third captured image 114 , and the image aligning unit 224 rotates the third captured image 114 by the proper rolling angles.
- the mapping unit 220 generates a third projection image 115 using the third captured image 114
- the calculation unit 222 calculates a proper panning angle and a proper vertical displacement for the third projection image 115
- the image aligning unit 224 rotates and moves the third projection image 115 by the proper panning angle and the proper vertical displacement.
- the image aligning unit 224 stitches the second and third projection images 113 and 115 together.
- the calculation unit 222 calculates a proper rolling angle for a fourth captured image 116 , and the image aligning unit 224 rotates the fourth captured image 116 by the proper rolling angle.
- the mapping unit 220 generates a fourth projection image 117 using the fourth capture image 116 , and the calculation unit 222 calculates a proper panning angle and a proper vertical displacement for the fourth projection image 117 .
- the image aligning unit 224 rotates and moves the fourth projection image 117 by the proper panning angle and the proper vertical displacement. After that, the image aligning unit 224 stitches the third and fourth projection images 115 and 117 together.
- a panoramic image can be generated using the first through fourth captured images 110 through 116 .
- mapping unit 220 the calculation unit 222 , and the image aligning unit 224 are operated as follows.
- the mapping unit 220 generates first and second mapping images.
- the calculation unit 222 calculates proper movement values in predetermined directions for the first and second mapping images.
- the predetermined directions may be a pitch direction, a panning direction, and/or a rolling direction. That is, the proper movement values can be expressed as a combination of a pitch angle, a panning angle, and a rolling angle.
- Pitch angle candidates, panning angle candidates, and rolling angle candidates are prepared beforehand as movement value candidates.
- Pitch angle candidates may be ⁇ 3°, ⁇ 2°, ⁇ 1°, 0°, 1°, 2°, and 3°.
- Panning angle candidates may be ⁇ 10°, ⁇ 9°, . . . , 0°, . . . , 9°, and 10°.
- Rolling angle candidates may be ⁇ 4°, ⁇ 3°, ⁇ 2°, ⁇ 1°, 0°, 1°, 2°, 3°, and 4°.
- the calculation unit 222 selects a proper rolling angle from the candidates as follows.
- the calculation unit 222 selects one of the rolling angle candidates for each of the first and second mapping images and rotates each of the first and second mapping images by the selected rolling angle candidate. Then, the calculation unit 222 calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, the calculation unit 222 calculates color similarities between the overlapped sections of the first and second mapping images for all the rolling angle candidates, and determines one of the rolling angle candidates that results in the maximum color similarity value as a proper rolling angle.
- the image aligning unit 224 rotates each of the first and second mapping images by the proper rolling angle.
- the calculation unit 222 selects a proper pitch angle from the candidates. That is, the calculation unit 222 selects one of the pitch angle candidates for each of the first and second mapping images and rotates each of the first and second mapping images by the selected pitch angle candidate. Then, the calculation unit 222 calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, the calculation unit 222 calculates color similarities between the overlapped sections of the first and second mapping images for all pitch angle candidates, and determines one of the pitch angle candidates that results in the maximum color similarity value as a proper pitch angle.
- the image aligning unit 224 rotates each of the first and second mapping images by the proper pitch angle.
- the calculation unit 222 determines a proper panning angle. That is, after rotating each of the first and second mapping image by the panning angle candidates, the calculation unit 222 determines one of the panning angle candidates that results in the maximum color similarity value between the overlapped sections of the first and second mapping images.
- the image aligning unit 224 rotates each of the first and second mapping images by the proper panning angle and stitches the first and second mapping images together, thereby generating a panoramic image.
- the mapping unit 220 generates first through fourth projection images 151 through 157 , and the calculation unit 222 calculates proper movement values in predetermined directions for the first and second projection images 151 and 153 . Further, the calculation unit 222 calculates proper movement values in the predetermined directions for the second and third projection images 153 and 155 and calculates proper movement values in the predetermined directions for the third and fourth projection images 155 and 157 .
- the former proper movement value for the second projection image 153 is replaced with the latter proper movement value.
- the image aligning unit 224 stitches the first and second projection images 151 and 153 together, the second and third projection images 153 and 155 together, and the third and fourth projection images 155 and 157 together, thereby creating a panoramic image.
- the following exemplary embodiment provides a method of calculating a proper movement value with less time and calculation load in creating a panoramic image.
- mapping unit 220 the calculation unit 222 , and the image aligning unit 224 are operated as follows.
- the mapping unit 220 generates first and second partial images (not shown) by projecting first and second captured images 150 and 152 onto a first predetermined cylindrical surface.
- the first predetermined cylindrical surface is a lateral surface of a first predetermined cylinder
- the first predetermined cylinder is a cylinder having a longitudinal axis that is parallel with an axis (P-Q line) of a sphere (refer to FIGS. 1C , 1 D and 1 F).
- the center P 1 of the first captured image 150 may be located on one of lines perpendicular both to the longitudinal axis of the first predetermined cylinder and to the P-Q axis of the sphere
- the center P 2 of the second captured image 152 may be located on another of the perpendicular lines.
- an r th partial image (where r is a natural number) is a kind of mapping image.
- the mapping unit 220 generates third and fourth partial images (not shown) by projecting third and fourth captured images 154 and 156 onto a second predetermined cylindrical surface.
- the second predetermined cylindrical surface is a lateral surface of a second predetermined cylinder
- the second predetermined cylinder is a cylinder having a longitudinal axis that is parallel with the P-Q axis of the sphere.
- the center P 3 of the third captured image 154 may be located on one of lines perpendicular both to the longitudinal axis of the second predetermined cylinder and to the P-Q axis of the sphere
- the center P 4 of the fourth captured image 156 may be located on another of the perpendicular lines.
- the calculation unit 222 calculates proper movement values in a predetermined direction for the first and second partial images.
- the calculated proper movement values are used as first adjustment values for moving the first and second partial images on the first predetermined cylindrical surface in the predetermined direction.
- the predetermined direction may be a panning direction or a vertical direction.
- the calculation unit 222 calculates proper movement values in a predetermined direction for the third and fourth partial images.
- the calculated proper movement values are used as second adjustment values for moving the third and fourth partial images on the second predetermined cylindrical surface in the predetermined direction.
- the predetermined direction may be a panning direction or a vertical direction.
- the image aligning unit 224 moves the first and second partial images by the first adjustment values and stitches the first and second partial images together so as to create a first stitched image (not shown). Similarly, the image aligning unit 224 moves the third and fourth partial images by the second adjustment values and stitches the third and fourth partial images together so as to create a second stitched image (not shown).
- the mapping unit 220 After that, the mapping unit 220 generates a fifth partial image (not shown) by projecting the first stitched image onto a first adjustment plane.
- the first adjustment plane may be a plane perpendicular to a C-P 2 line of the sphere and on which the center P 2 of the second captured image 152 is located.
- the mapping unit 220 generates a sixth partial image (not shown) by projecting the second stitched image onto a second adjustment plane.
- the second adjustment plane may be a plane perpendicular to a C-P 3 line of the sphere and on which the center P 3 of the third captured image 154 is located.
- the fifth and sixth partial images are formed on a plane.
- the mapping unit 220 generates the seventh and eighth partial images (not shown) by projecting the fifth and sixth partial images onto a third predetermined cylindrical surface.
- the third predetermined cylindrical surface is a lateral surface of a third predetermined cylinder
- the third predetermined cylinder is a cylinder having a longitudinal axis parallel with the tangent line of the equator of the sphere.
- the calculation unit 222 calculates proper movement values in a predetermined direction for the seventh and eighth partial images.
- the calculated proper movement values are used as third adjustment values for shifting the seventh and eighth images on the third predetermined cylindrical surface in the predetermined direction.
- the predetermined direction may be a panning direction or a vertical direction.
- the image aligning unit 224 moves the seventh and eighth partial images by the third adjustment values and stitches the seventh and eighth partial images together so as to create a panoramic image (not shown).
- the proper movement values are calculated with respect to a cylindrical surface instead of a spherical surface. Therefore, according to the current exemplary embodiment, a panoramic image can be generated more rapidly than in the previous exemplary embodiment.
- FIGS. 3A through 3D are diagrams for explaining operations of the display unit 210 , the photographing unit 212 , and the guide image generating unit 216 of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment.
- the display unit 210 includes a liquid crystal display 310 .
- FIG. 3A shows original images 300 (a previously captured image 320 and a currently captured image 330 ) displayed on the liquid crystal display 310 .
- FIG. 3B is a diagram for explaining an operation of the guide image generating unit 216 according to an exemplary embodiment.
- the guide image generating unit 216 generates a guide image using the previously captured image 320 .
- the guide image generating unit 216 generates a guide image by selecting a predetermined section 340 from the previously captured image 320 and removing the other section from the previously captured image 320 .
- the size of the predetermined section 340 may be predetermined.
- the location of the predetermined section 340 in the previously captured image 320 may be determined based on the moving direction of the photographing device 100 (in other words, based on a change in the photographing orientation of the photographing device 100 ). For example, when the photographing device 100 moves from left to right after the photographing unit 212 captures the image 320 as shown in FIG. 3A , the guide image generating unit 216 selects a right section (predetermined section 340 ) having a predetermined size from the previously captured image 320 and removes the other section from the previously captured image 320 so as to form a guide image. Similarly, for example, when the photographing device 100 moves upward after the photographing unit 212 captures the image 320 unlike in FIG. 3A , the guide image generating unit 216 selects an upper section (predetermined section 340 ) having a predetermined size from the previously captured image 320 and removes the other section from the previously captured image 320 so as to form a guide image.
- the location of the predetermined section 340 in the previously captured image 320 can be determined regardless of the moving direction of the photographing device 100 (in other words, regardless of a change in the photographing direction of the photographing device 100 ).
- the guide image generating unit 216 when the photographing device 100 operates in single-row mode for generating a single-row (horizontal) panoramic image, the guide image generating unit 216 generates a guide image by selecting a predetermined section 340 (e.g., a right section) having a predetermined size from the previously captured image 320 and removing the other section from the previously captured image 320 . That is, in this case, a photographer is requested to photograph a plurality of images while moving the photographing device 100 to the right.
- a predetermined section 340 e.g., a right section
- the location of a predetermined section 340 in a captured image can vary in a predetermined manner each time the guide image generating unit 216 generates a guide image.
- the guide image generating unit 216 can select a lower section, a right section, and an upper section from a series of captured images, respectively, as predetermined sections 340 for generating guide images.
- the guide image generating unit 216 generates a first guide image by selecting a lower section having a predetermined size from a first captured image 150 and removing the other section from the first captured image 150 .
- the guide image generating unit 216 generates a second guide image by selecting a right section having a predetermined size from a second captured image 152 and removing the other section from the second captured image 15 . Further, the guide image generating unit 216 generates a third guide image by selecting a upper section having a predetermined size from a third captured image 154 and removing the other section from the third captured image 154 .
- FIGS. 3C and 3D are diagrams for explaining an operation of the display unit 210 that displays a preview image together with a guide image according to an exemplary embodiment.
- the display unit 210 displays a guide image in a first predetermined region 345 (or 347 ) of the liquid crystal display 310 and a preview image captured through a lens (not shown) in a second predetermined region 350 of the liquid crystal display 310 .
- the first predetermined region 345 is overlapped with the second predetermined region 350 , or the first predetermined region 347 is included in the second predetermined region 350 .
- the preview image captured through the lens is an image to be captured as the currently captured image 330 .
- the first predetermined region 345 and the predetermined section 340 (refer to FIG. 3B ) of the previously captured image 320 may have the same size, and the location of the first predetermined region 345 in the liquid crystal display 310 may correspond to the location of the predetermined section 340 .
- the predetermined section 340 is located on a right section (having a predetermined size) of the previously captured image 320 as shown in FIG.
- the first predetermined region 345 may be located on a left section of the liquid crystal display 310 , and the left section of the liquid crystal display 310 may have the same size as the right section of the previously captured image 320 as shown in FIG. 3C .
- the location of the predetermined region 345 on the liquid crystal display 310 may be determined based on a change in the photographing direction of the photographing device 100 . For example, when the photographing device 100 moves to the right after the photographing unit 212 takes an image as shown in FIG. 3A , the display unit 210 displays a guide image in a left region (having a predetermined size) of the liquid crystal display 310 .
- the location of the predetermined region 345 on the liquid crystal display 310 may be determined regardless of a change in the photographing direction of the photographing device 100 .
- the display unit 210 displays a guide image in a left region (having a predetermined size) of the liquid crystal display 310 .
- the display unit 210 can displays guide and preview images at brightness levels lower than original brightness levels of the guide and preview images.
- the display unit 210 displays only a portion of the guide image.
- the display unit 210 projects pixels of the guide image onto a conversion plane.
- the conversion plane is a plane on which an image (the currently captured image 330 ) is expected to be formed.
- the conversion plane is a plane of the previously captured image that is rotated by the panning angle (q).
- a pixel of the previously captured image originally has an XY coordinate (u 1 , v 1 )
- the XY coordinate of the pixel changes to (u 2 , v 2 ) on the conversion plane.
- Equation 6 The relationship between (u 1 , v 1 ) and (u 2 , v 2 ) is given by Equation 6 below.
- f denotes the focal length of the photographing device 100 .
- the display unit 210 calculates the coordinate (u 2 , v 2 ) using Equation 6 and determines where the calculated coordinate (u 2 , v 2 ) is included in the first predetermined region 347 . If the calculated coordinate (u 2 , v 2 ) is not included in the first predetermined region 347 , the display unit 210 does not display the pixel corresponding to the coordinate (u 2 , v 2 ). If the calculated coordinate (u 2 , v 2 ) is included in the first predetermined region 347 , the display unit 210 displays the pixel corresponding to the coordinate (u 2 , v 2 ).
- the location of the first predetermined region 345 on the liquid crystal display 310 is determined based on a change in the photographing direction of the photographing device 100 , or the first predetermined region 347 is located within the second predetermined region 350 .
- a plurality of images 150 , 152 , 154 , and 156 may be captured for creating a multi-row panoramic image as follows.
- the display unit 210 displays a guide image together with a preview image that is currently capturable, in consideration of the positional relationship between a previously captured image and the preview image (a current image to be captured). Therefore, when the positional relationship is complex, it is difficult for the display unit 210 to rapidly display the guide image.
- the image 152 can be captured after changing the position of the photographing device 100 in one direction (i.e., a pitch direction) from a position for the image 150 .
- the image 154 can be captured after changing the position of the photographing device 100 in one direction (i.e., a panning direction) from the position for the image 152
- the image 156 can be captured after changing the position of the photographing device 100 in one direction (i.e., a pitch direction) from the position for the image 154 .
- the image 156 (or the image 150 ) can be captured after changing position of the photographing device 100 in two directions (i.e., the panning and pitch directions) from the position for the image 150 (or the image 156 ). It is apparent to those of skill in the related art that the display unit 210 can display a guide image more rapidly when only one direction is involved than when two directions are involved.
- the display unit 210 can display a guide image more rapidly when the images 150 and 152 , the images 152 and 154 , or the images 154 and 156 are a previously captured image and a currently captured image, rather than when the images 156 and 150 are the previously and currently captured images.
- the display unit 210 can display a guide image more rapidly when the images 156 and 154 , the images 154 and 152 , or the images 152 and 150 are a previously captured image and a currently captured image, rather than when the images 150 and 156 are the previously and currently captured images.
- the images 150 , 152 , 154 , and 156 may be n th , (n+1) th , (n+2) th , and (n+3) th captured images, respectively, or (n+3) th , (n+2) th , (n+1) th , and n th captured images, respectively, rather than the images 150 , 152 , 154 , and 156 being (n+1) th , (n+2) th , (n+3) th , and n th captured images, respectively, or (n+2) th , (n+3) th , n th , and (n+1) th captured images, respectively.
- FIG. 4 is a reference diagram for explaining an operation of the mapping unit 220 of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment.
- the mapping unit 220 generates a mapping image 430 by projecting a captured image 410 on a predetermined curved surface (e.g., a cylindrical surface or a spherical surface).
- a predetermined curved surface e.g., a cylindrical surface or a spherical surface.
- the mapping unit 220 projects the captured image 410 in consideration of the focal length of the photographing device 100 . Therefore, although the captured image 410 is rectangular, the mapping image 430 may have an elliptical shape with tapered ends.
- the mapping unit 220 can also generate a mapping image by projecting an image from a curved surface onto a flat plane.
- the above-described fifth and sixth partial images are examples of such mapping images.
- FIG. 5 is a block diagram for explaining the mapping unit 220 of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment.
- the mapping unit 220 can include a position information storage 510 and a color allotter 520 .
- the mapping image 430 can be generated by calculation using the captured image 410 and the focal length of the photographing device 100 .
- the mapping unit 220 may be heavily loaded.
- the positions of all pixels of the captured image 410 can be matched beforehand to positions of corresponding pixels of the mapping image 430 to be formed on a projection curved surface 420 .
- the mapping unit 220 can automatically generate a mapping image 111 , 113 , 115 , or 117 without the above-described calculation by assigning color values of pixels of a captured image 110 , 112 , 114 , or 116 to the positions of the projection curved surface 420 that are matched to the positions of the pixels of the captured images 110 , 112 , 114 , or 116 .
- the predetermined curved surface 420 may be a portion of a predetermined curved surface (e.g., a cylindrical surface), and the size of the projection curved surface 420 may be the same as that of the captured image 410 .
- the position information storage 510 stores information about the positions of the pixels of the captured image 410 and the positions of the pixels of the mapping image 430 on the projection curved surface 420 that are matched to the positions of the pixels of the captured image 410 .
- the color information allotter 520 receives information about the position of pixels of a captured image 110 , 112 , 114 , or 116 from the photographing unit 212 or the extraction unit 218 through an input terminal IN 1 . Next, the color information allotter 520 reads information about positions matched to the positions of the pixels of the captured image 110 , 112 , 114 , or 116 from the color information storage 510 . Then, the color information allotter 520 assigns color values of the pixels of the captured image 110 , 112 , 114 , or 116 to the read positions.
- the color information allotter 520 assigns color values of all the pixels of the captured image 110 , 112 , 114 , or 116 to the read positions so as to generate a mapping image 111 , 113 , 115 , or 117 . After that, the color information allotter 520 outputs the mapping image 111 , 113 , 115 , or 117 to the calculation unit 222 or the image aligning unit 224 through an output terminal OUT 1 .
- FIG. 6 is a block diagram for explaining an operation of the calculation unit 222 of the panoramic image generating apparatus of FIG. 2 , according to an exemplary embodiment.
- the operation of the calculation unit 222 according to the current exemplary embodiment relates to the above-described exemplary embodiment in which the motion of the photographing device 100 in a pitch direction 104 is not considered.
- the calculation unit 222 can include a resolution converter 610 , a first movement value calculator 620 , and a second movement value calculator 630 .
- the resolution converter 610 may receive a captured image from the photographing unit 212 or the extraction unit 218 through an input terminal IN 2 , or a mapping image from the mapping unit 220 through the input terminal IN 2 .
- the resolution of the captured image or the mapping image received through the input terminal IN 2 will now be denoted by a K th resolution, where K is an integer larger than one.
- the resolution converter 610 processes the received captured image, or the mapping image, so as to reduce the resolution of the captured image from K th resolution to a k th resolution, where k is a natural number smaller than K (as such k th resolution ⁇ (k+1) th resolution).
- the first movement value calculator 620 calculates proper rolling angles (e.g., ⁇ 3°) for a previously captured image and a currently captured image that have a k th resolution.
- the second movement value calculator 630 calculates proper panning angles (e.g., 8°) and proper vertical displacements (e.g., one-pixel length) for first and second mapping images having a k th resolution.
- the resolution converter 610 processes the first and second mapping images so as to increase the resolution of the first and second mapping images from k th resolution to (k+1) th resolution, and the second movement value calculator 630 recalculates proper panning angles and proper vertical displacements for the first and second mapping images.
- the previously calculated proper panning angles e.g., 8°
- proper vertical displacements e.g., one-pixel length
- the second movement value calculator 630 can select one of 7.6°, 7.8°, 8°, 8.2°, and 8.4° and one of a 0.8-pixel length, a 1-pixel length, and a 1.2-pixel length as a proper panning angle and a proper vertical displacement for each of the first and second mapping images having the (k+1) th resolution.
- the second movement value calculator determines a proper combination of a panning angle (e.g., 8.2°) and a vertical displacement (e.g., 0.8-pixel length) for each of the first and second mapping images having the (k+1) th resolution from the fifteen possible combinations.
- the previously calculated proper panning angle (e.g., 8°) and vertical displacement (e.g., 1-pixel length) are replaced with the currently calculated proper panning angle (e.g., 8.2°) and vertical displacement (0.8-pixel length).
- the first and second movement value calculators 620 and 630 can calculate proper panning angles and proper vertical displacements in the same way as described above. That is, when the (k+1) th resolution is not equal to the K th resolution, the resolution converter 610 processes the first and second mapping images so as to increase the resolution of the first and second mapping images from (k+1) th resolution to (k+2) th resolution, and the second movement value calculator 630 recalculates proper panning angles and proper vertical displacements for the first and second mapping images having the (k+2) th resolution.
- the previously calculated proper panning angles (e.g., 8.2°) and vertical displacements (e.g., 0.8-pixel length) can be considered.
- FIG. 7 is a flowchart for explaining a method of generating a panoramic image according to an exemplary embodiment.
- the method may include operations 710 and 720 for capturing a plurality of images using guide images and generating a panoramic image using the captured images.
- the guide image generating unit 216 generates a guide image using a previously captured image, and the display unit 210 displays the guide image together with a preview image that can be currently captured. Then, a photographer can capture a desired image using the preview image and the guide image by manipulating the photographing button 101 .
- the mapping unit 220 generates first and second mapping images using the previously and currently captured images, and the calculation unit 222 calculates proper movement values for the first and second mapping images.
- the image aligning unit 224 moves the first and second mapping images by the proper movement values and then stitches the first and second mapping images so as to create a panoramic image.
- FIG. 8 is a flowchart for explaining, in more detail, operation 710 of the method of FIG. 7 , according to an exemplary embodiment.
- Operation 710 may include operations 810 through 870 for generating a guide image using a previously captured image.
- the photographing unit 212 captures a first image 110 or 150 (first captured image).
- the guide image generating unit 216 generates a first guide image using the first captured image 110 or 150 .
- an s th guide image is a guide image generated using an s th captured image, where s is a natural number.
- the liquid crystal display 310 displays the first guide image together with a preview image, and the photographing unit 212 captures a second image (second captured image) when the photographing button 101 is manipulated.
- the guide image generating unit 216 generates a second guide image using the second captured image captured.
- the liquid crystal display 310 displays the second guide image together with a preview image, and the photographing unit 212 captures a third image (third captured image) when the photographing button 101 is manipulated.
- the guide image generating unit 216 generates a third guide image using the third captured image captured.
- the liquid crystal display 310 displays the third guide image together with a preview image, and the photographing unit 212 captures a fourth image (fourth captured image) when the photographing button 101 is manipulated.
- FIGS. 9A and 9B are flowcharts for explaining, in more detail, operation 720 of the method illustrated with reference to FIG. 7 when a single-row (horizontal) panoramic image is generated according to an exemplary embodiment.
- Operation 720 may include operations 910 through 940 for generating a single-row panoramic image using first, second, third, and fourth captured images 110 , 112 , 114 , and 116 .
- the pitching motion (pitch angle) of the photographing device 100 is not considered for clarity.
- the calculation unit 222 calculates proper rolling angles for the first and second captured images 110 and 112 .
- the image aligning unit 224 rotates the first and second captured images 110 and 112 by the proper rolling angles calculated in operation 910 .
- the mapping unit 220 projects the first and second captured images 110 and 112 onto a predetermined cylindrical surface so as to form first and second projection images 111 and 113 .
- the calculation unit 222 calculates proper panning angles and proper vertical displacements for the first and second projection images 111 and 113 .
- the image aligning unit 224 moves the first and second projection images 111 and 113 by the calculated proper panning angles and vertical displacements.
- the calculation unit 222 calculates a proper rolling angle for the third captured image 114 .
- the image aligning unit 224 rotates the third captured image 114 by the proper rolling angle calculated in operation 920 .
- the mapping unit 220 projects the third captured image onto the predetermined cylindrical surface so as to form a third projection image 115 .
- the calculation unit 222 calculates a proper panning angle and a proper vertical displacement for the third projection image 115 .
- the image aligning unit 224 moves the third projection image 115 by the calculated proper panning angle and vertical displacement calculated in operation 926 .
- the calculation unit 222 calculates a proper rolling angle for the fourth captured image 116 .
- the image aligning unit 224 rotates the fourth captured image 116 by the calculated proper rolling angle calculated in operation 930 .
- the mapping unit 220 projects the fourth captured image onto the predetermined cylindrical surface so as to form a fourth projection image 117 .
- the calculation unit 222 calculates a proper panning angle and a proper vertical displacement for the fourth projection image 117 .
- the image aligning unit 224 moves the fourth projection image 117 by the calculated proper panning angle and vertical displacement calculated in operation 936 .
- the image aligning unit 224 stitches the first and second projection images 111 and 113 together, the second and third projection images 113 and 115 together, and the third and fourth projection images 115 and 117 together, in order to create a single-row panoramic image.
- the first, second, third, and fourth projection images 111 , 113 , 115 , and 117 can be stitched in a different manner from that in operation 940 . That is, the first and second projection images 111 and 113 can be stitched after operation 918 , and the second and third projection images 113 and 115 can be stitched after operation 928 . Then, the third and fourth projection images 115 and 117 can be stitched after operation 938 .
- FIGS. 10A and 10B are flowcharts for explaining, in more detail, operation 720 (denoted here as 720 B) of the method illustrated with reference to FIG. 7 when a multi-row panoramic image is generated according to an exemplary embodiment.
- Operation 720 B may include operations 1010 through 1090 for generating a multi-row panoramic image using first, second, third, and fourth captured images 150 , 152 , 154 , and 156 .
- the current exemplary embodiment describes only the case where proper movement values are calculated with respect to a cylindrical surface instead of a spherical surface so as to reduce calculation load in generating a multi-row panoramic image.
- the mapping unit 220 projects the first and second captured images 150 and 152 onto a first predetermined cylindrical surface so as to form first and second partial images (not shown).
- the mapping unit 220 projects the third and fourth captured images 154 and 156 onto a second predetermined cylindrical surface so as to form third and fourth partial images.
- operation 1020 can be performed after operation 1010 .
- operation 1020 can be performed prior to operation 1010 or at the same time as operation 1010 .
- the calculation unit 222 calculates first adjustment values for the first and second partial images and second adjustment values for the third and fourth partial images.
- the image aligning unit 224 moves the first and second partial images by the first adjustment values and stitches the first and second partial images together so as to form a first stitched image.
- the image aligning unit 224 moves the third and fourth images by the second adjustment values and stitches the third and fourth images partial together so as to form a second stitched image.
- operation 1050 can be performed after operation 1040 .
- operation 1050 can be performed prior to or simultaneously with operation 1040 .
- the mapping unit 220 projects the first stitched image onto a first adjustment plane so as to form a fifth partial image (not shown) and projects the second stitched image onto a second adjustment plane so as to form a sixth partial image (not shown).
- the mapping unit 210 projects the fifth and sixth partial images onto a third predetermined cylindrical surface so as to form seventh and eighth partial images (not shown).
- the calculation unit 222 calculates third adjustment values for the seventh and eighth partial images.
- the image aligning unit 224 moves the seventh and eighth partial images by the third adjustment values and stitches the seventh and eighth partial images together.
- overlapped sections of neighboring images can be precisely superposed and aligned even when the images are captured at different angles while moving a photographing device such as a case where images are captured in different directions while a photographer moves a photographing device, which is held in his/her hand, along a predetermined path.
- the proper movement values when proper movement values are calculated for images to be stitched, the proper movement values may be not calculated for images that have already assigned proper movement values so as to rapidly create a panoramic image.
- a panoramic image can be rapidly created since three rotation angles, and thus the proper movement values, about three axes such as x, y, and z-axes can be converted into equivalent three rotation angles about two axes.
- proper movement values are calculated for two neighboring images only when the two neighboring images can be fully overlapped with each other by moving one of the two neighboring images in one direction such as a rolling direction or a panning direction (that is, only when center points of two neighboring images having the same shape and size are placed on an equator or a longitudinal line of a sphere).
- proper shifts value are not calculated for two neighboring images when the two neighboring images can be fully overlapped with each other by moving one of the two neighboring images in two or more directions such as rolling and panning directions (that is, when center points of two neighboring images having the same shape and size are placed on a line parallel with an equator of a sphere). Therefore, proper movement values can be rapidly calculated for the plurality of images, so that a multi-row panoramic image can be created more rapidly using the plurality of images. That is, as described above, although it is necessary to stitch the first and second partial images together and the third and fourth partial images together so as to create a multi-row panoramic image, stitching of the first and fourth partial images is not necessary for creating the multi-row panoramic image.
- a proper movement value in one direction is calculated for a low-resolution image
- a proper movement value in another direction is calculated for a high-resolution image. That is, different proper movement values can be calculated for images having different resolutions according to the directions of the photographing device. Therefore, a proper movement value, which is expected to be calculated with less time but to be precise, is assigned for a high-resolution image so as to provide a proper movement value with high precision. Further, a proper movement value, which is expected to be calculated with less time and precision, is assigned for a low-resolution image so as to provide a proper movement value more rapidly.
- a low-capacity memory can be used for generating a panoramic image using a plurality of images.
- a realistic panoramic image can be rapidly generated using a low-capacity memory.
- exemplary embodiments can be employed in a personal computer (PC) and a portable terminal having a low calculation capability and storage capacity as compared with usual computers such as a PC.
- a predetermined section of a previously captured image can be displayed on the display unit together with a preview image, so that a photographer can conveniently determine the photographing orientation of the photographing device using the predetermined section of the previously captured image as a guide image.
- exemplary embodiments can also be implemented by executing computer readable code/instructions in/on a medium/media, e.g., a computer readable medium/media.
- the medium/media can correspond to any medium/media permitting the storing and/or transmission of the computer readable code/instructions.
- the medium/media may also include, alone or in combination with the computer readable code/instructions, data files, data structures, and the like. Examples of code/instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by a computing device and the like using an interpreter.
- code/instructions may include functional programs and code segments.
- the computer readable code/instructions can be recorded/transferred in/on a medium/media in a variety of ways, with examples of the medium/media including magnetic storage media (e.g., floppy disks, hard disks, magnetic tapes, etc.), optical media (e.g., CD-ROMs, DVDs, etc.), magneto-optical media (e.g., floptical disks), hardware storage devices (e.g., read only memory media, random access memory media, flash memories, etc.) and storage/transmission media such as carrier waves transmitting signals, which may include computer readable code/instructions, data files, data structures, etc. Examples of storage/transmission media may include wired and/or wireless transmission media.
- magnetic storage media e.g., floppy disks, hard disks, magnetic tapes, etc.
- optical media e.g., CD-ROMs, DVDs, etc.
- magneto-optical media e.g., floptical disks
- hardware storage devices
- storage/transmission media may include optical wires/lines, waveguides, and metallic wires/lines, etc. including a carrier wave transmitting signals specifying instructions, data structures, data files, etc.
- the medium/media may also be a distributed network, so that the computer readable code/instructions are stored/transferred and executed in a distributed fashion.
- the medium/media may also be the Internet.
- the computer readable code/instructions may be executed by one or more processors.
- the computer readable code/instructions may also be executed and/or embodied in at least one application specific integrated circuit (ASIC) or Field Programmable Gate Array (FPGA).
- ASIC application specific integrated circuit
- FPGA Field Programmable Gate Array
- one or more software modules or one or more hardware modules may be configured in order to perform the operations of the above-described exemplary embodiments.
- module denotes, but is not limited to, a software component, a hardware component, a plurality of software components, a plurality of hardware components, a combination of a software component and a hardware component, a combination of a plurality of software components and a hardware component, a combination of a software component and a plurality of hardware components, or a combination of a plurality of software components and a plurality of hardware components, which performs certain tasks.
- a module may advantageously be configured to reside on the addressable storage medium/media and configured to execute on one or more processors.
- a module may include, by way of example, components, such as software components, application specific software components, object-oriented software components, class components and task components, processes, functions, operations, execution threads, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- components such as software components, application specific software components, object-oriented software components, class components and task components, processes, functions, operations, execution threads, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- the functionality provided for in the components or modules may be combined into fewer components or modules or may be further separated into additional components or modules.
- the components or modules can operate at least one processor (e.g. central processing unit (CPU)) provided in a device.
- processor e.g. central processing unit (CPU)
- examples of a hardware components include an application specific integrated circuit (ASIC) and
- the computer readable code/instructions and computer readable medium/media may be those specially designed and constructed for the purposes of exemplary embodiments, or they may be of the kind well-known and available to those skilled in the art of computer hardware and/or computer software.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Stereoscopic And Panoramic Photography (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
Description
- This application claims the priority benefit of Korean Patent Application No. 10-2006-0094127, filed on Sep. 27, 2006, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
- 1. Field
- Embodiments relate to an apparatus, method, and medium for generating a panoramic image, and more particularly, to an apparatus, method, and medium for generating a panoramic image by rapidly and precisely stitching a series of images captured in various directions.
- 2. Description of the Related Art
- A panoramic image is a series of images taken in different directions and stitched in a predetermined manner. Such a panoramic image provides a wide field of view (FOV) of a scene as compared with an image captured in one direction. Thus, an extended view of a scene can be provided.
- Images having overlapped sections are captured for making a panoramic image. In detail, in a series of images taken for a panoramic image, a trailing edge of an image is ideally identical with a leading edge of the previous image. A more realistic panoramic image can be obtained when the images are stitched with the overlapped sections of the images being precisely aligned.
- A conventional panoramic image generating apparatus can use a series of images taken by rotating a camera 360° on a tripod so as to generate a realistic panoramic image. In detail, when generating a panoramic image by stitching a series of images, the conventional panoramic image generating apparatus moves at least one of neighboring images in a predetermined direction so as to align overlapped (ideally identical) portions of the neighboring images. Thus, the conventional apparatus can provide a realistic panoramic image. When a photographer takes a series of images in various directions by holding a camera with his/her hand and moving his/her arm along his/her intended path, a path along which the photographer's hand actually moves may not be exactly identical to the photographer's intended path. Furthermore, when the photographer pushes a photographing button with his/her finger, the camera can be undesirably shaken. Therefore, it is difficult to precisely align overlapped portions of neighboring images when generating a panoramic image by stitching a series of images using a conventional panoramic image generating apparatus.
- Therefore, there is a need for a panoramic image generating apparatus and method that can be used for precisely aligning overlapped (ideally identical) sections of neighboring images even when the images are taken in different directions by moving a camera along a path that it was not intended to be moved along. In addition, there is another need for a panoramic image generating apparatus and method that can be used for generating a panoramic image with less calculation load and time. Particularly, these needs may be great when a panoramic image generating apparatus is included in a portable terminal.
- Embodiments provide an apparatus for generating a panoramic image by stitching a series of images by precisely aligning and superimposing overlapping sections of the images.
- Embodiments provide a method of generating a panoramic image by stitching a series of images by precisely aligning and superimposing overlapping sections of the images.
- Embodiments provide a computer-readable recording medium storing a computer-readable program for executing a method of generating a panoramic image by stitching a series of images by precisely aligning and superimposing overlapping sections of the images.
- According to an aspect of embodiments, there is provided an apparatus for generating a panoramic image, the apparatus including: a mapping unit to map a previously captured image and a currently captured image onto a predetermined curved surface so as to form a first mapping image and a second mapping image, respectively; a calculation unit to calculate movement values in predetermined directions for maximizing a color similarity between overlapped sections of the first and second mapping images; and an image aligning unit to generate a panoramic image using the first and second mapping images and the calculated movement values.
- According to another aspect of embodiments, there is provided a method of generating a panoramic image, the method including: projecting a previously captured image and a currently captured image onto a predetermined curved surface so as to form a first mapping image and a second mapping image, respectively; calculating movement values in predetermined directions for maximizing a color similarity between overlapped sections of the first and second mapping images; and generating a panoramic image using the first and second mapping images and the calculated movement values.
- According to a further another aspect of embodiments, there is provided a computer-readable recording medium storing a computer-readable program for executing a method of generating a panoramic image, the method including: projecting a previously captured image and a currently captured image onto a predetermined curved surface so as to form a first mapping image and a second mapping image, respectively; calculating movement values in predetermined directions for maximizing a color similarity between overlapped sections of the first and second mapping images; and generating a panoramic image using the first and second mapping images and the calculated movement values.
- According to another aspect of embodiments, there is provided at least one computer readable medium storing computer readable instructions to implement methods of embodiments.
- The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee. These and/or other aspects, features, and advantages will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which:
-
FIG. 1A is a perspective diagram illustrating a photographing device according to an exemplary embodiment; -
FIGS. 1B , 1C, and 1D are diagrams for explaining a single-row (horizontal) panoramic image according to an exemplary embodiment; -
FIGS. 1E and 1F are diagrams for explaining a multi-row (spherical) panoramic image according to an exemplary embodiment; -
FIG. 2 is a block diagram illustrating a panoramic image generating apparatus according to an exemplary embodiment; -
FIGS. 3A through 3E are diagrams for explaining operations of a display unit, a photographing unit, and a guide image generating unit of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment; -
FIG. 4 is a reference diagram for explaining an operation of a mapping unit of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment; -
FIG. 5 is a block diagram for explaining the mapping unit of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment; -
FIG. 6 is a block diagram for explaining a calculation unit of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment; -
FIG. 7 is a flowchart for explaining a method of generating a panoramic image according to an exemplary embodiment; -
FIG. 8 is a flowchart for explaining, in more detail,operation 710 of the method ofFIG. 7 , according to an exemplary embodiment; -
FIGS. 9A and 9B are a flowcharts for explaining, in more detail,operation 720 of the method ofFIG. 7 when a single-row panoramic image is generated according to an exemplary embodiment; and -
FIGS. 10A and 10B are flowcharts for explaining, in more detail,operation 720 of the method ofFIG. 7 when a multi-row panoramic image is generated according to an exemplary embodiment. - Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Exemplary embodiments are described below by referring to the figures.
-
FIG. 1A is a perspective diagram illustrating a photographingdevice 100 according to an exemplary embodiment. Examples of the photographingdevice 100 include a digital camera and other devices having a photographing function such as a portable phone. Accordingly, exemplary embodiments may include any device that can perform a photographing operation. In an exemplary embodiment, a panoramic image is generated using a plurality of images (photographs) taken with thephotographing device 100. - As shown in
FIG. 1A , x, y, and z-axes may be orthogonal to one another. However, the x, y, and z-axes can be set in different directions. In the configuration shown inFIG. 1A , the z-axis denotes a photographing direction. That is, the z-axis may be a direction where ashutter 102 points. The x, y, and z-axes cross at an origin (O). -
Arrow 104 denotes the direction of pitching motion of the photographingdevice 100 around the x-axis, andarrow 106 denotes the direction of panning motion of the photographingdevice 100 around the y-axis.Arrow 108 denotes the direction of rolling motion of the photographingdevice 100 around the z-axis. Hereinafter, the term pitch angle denotes the amount of pitching motion of the photographingdevice 100 in the direction ofarrow 104, the term panning angle denotes the amount of panning motion of the photographingdevice 100 in the direction ofarrow 106, and the term rolling angle denotes the amount of rolling motion of the photographingdevice 100 in the direction ofarrow 108. Furthermore, the positive directions of pitching, panning, and rolling motions of the photographingdevice 100 are the directions ofarrows -
FIGS. 1B , 1C, and 1D are diagrams for explaining a single-row (horizontal) panoramic image according to an exemplary embodiment, andFIGS. 1E and 1F are diagrams for explaining a multi-row (spherical) panoramic image according to an exemplary embodiment. - A single-row (horizontal) panoramic image and a multi-row (spherical) panoramic image are examples of panoramic images that can be generated according to exemplary embodiments. In the following descriptions, the case of generating a single-row panoramic image will be described separately from the case of generating a multi-row panoramic image.
- The term “single-row (horizontal) panoramic image” is used herein to denote a panoramic image made using a series of
images device 100. For example, the photographingdevice 100 itself, a photographer holding the photographingdevice 100, or a physical part (e.g., an arm) of the photographer may rotate around the fixed point (C) to capture theimages - Referring to
FIG. 1B , theimages images reference numerals - Referring to
FIG. 1C , the fixed point (C) is a center point from which a series of images are captured at different angles. For example, when the photographingdevice 100 is fixed to a fixture of a tripod that is rotated to capture a series of images at different angles using the photographingdevice 100, the tripod corresponds to the fixed point (C). When a photographer captures a series of images at different angles while moving his arm holding the photographingdevice 100 along a predetermined path, the photographer (specifically, a shoulder of the photographer functioning as a rotation center of the arm) corresponds to the fixed point (C). - In
FIG. 1D ,reference numerals images reference numerals - The captured
images projection images projection images FIG. 1C . However, the cylinder can have a non-constant section. - A circle shown in
FIG. 1D is a cross-section of the cylinder. As shown inFIG. 1D , centers of the capturedimages projection images - The term “multi-row panoramic image” is used herein to denote a panoramic image made using a series of
images device 100. For example, the photographingdevice 100 itself, a photographer holding the photographingdevice 100, or a physical part (e.g., an arm) of the photographer may horizontally and vertically rotate centered on the fixed point (C) to capture theimages - Referring to
FIGS. 1E and 1F ,reference numerals 150 through 157 may denote an nth captured image, an nth projection image, an (n+1)th captured image, an (n+1)th projection image, an (n+2)th captured image, an (n+2)th projection image, an (n+3)th captured image, and an (n+3)th projection image, respectively. Alternatively,reference numerals 150 through 157 may denote an (n+1)th captured image, an (n+1)th projection image, an (n+2)th captured image, an (n+2)th projection image, an (n+3)th captured image, an (n+3)th projection image, an nth captured image, and an nth projection image, respectively. Alternatively,reference numerals 150 through 157 may denote an (n+2)th captured image, an (n+2)th projection image, an (n+3)th captured image, an (n+3)th projection image, an nth captured image, an nth projection image, an (n+1)th captured image, and an (n+1)th projection image, respectively. Alternatively,reference numerals 150 through 157 may denote an (n+3)th captured image, an (n+3)th projection image, an nth captured image, an nth projection image, an (n+1)th captured image, an (n+1)th projection image, an (n+2)th captured image, and an (n+2)th projection image, respectively. Hereinafter,reference numerals 150 through 157 denote a first captured image, a first projection image, a second captured image, a second projection image, a third captured image, a third projection image, a fourth captured image, and a fourth projection image, respectively, unless specifically stated otherwise. - A multi-row panoramic image is generated by projecting the captured
images projection images projection images FIG. 1F , the centers P1, P2, P3, and P4 of the capturedimages projection images - Referring to
FIG. 1F , a fixed (center) point is denoted by the letter C like inFIGS. 1C and 1D . The uppermost point (an upper pole), the lowermost point (a lower pole), and the equator of a sphere are denoted using P, Q, and E, respectively. Reference characters V1 and V2 denote longitude lines of the sphere. Reference characters P1, P2, P3, and P4 denote centers of the first captured image 150 (or the first projection image 151), the second captured image 152 (or the second projection image 153), the third captured image 154 (or the third projection image 155), and the fourth captured image 156 (or the fourth projection image 157), respectively. Reference character (α) denotes a panning angle between the second captured image 152 (or the second projection image 153) and the third captured image 154 (or the third projection image 155). Reference character (θ) denotes a pitch angle between the first and second capturedimages 150 and 152 (or between the third and fourth capturedimages 154 and 156). As shown inFIG. 1F , the centers P2, and P3 can be aligned with the equator (E), and the centers P1 and P4 can be aligned with a line parallel to the equator (E). - In the following descriptions, the captured
images FIG. 1B will be used to explain a single-row panoramic image, and the capturedimages FIG. 1E will be used to explain a multi-row panoramic image. Although only the case when four captured images are used to form a panoramic image is explained in the following descriptions, other numbers of captured images can be used to generate a panoramic image. -
FIG. 2 is a block diagram illustrating a panoramic image generating apparatus according to an exemplary embodiment. The panoramic image generating apparatus may include adisplay unit 210, a photographingunit 212, animage storage unit 214, a guideimage generating unit 216, anextraction unit 218, amapping unit 220, acalculation unit 222, animage aligning unit 224, and animage deleting unit 226. Theunits 210 through 226 may be included in the photographingdevice 100 shownFIG. 1A . - The
display unit 210 displays an image to be captured. Specifically, thedisplay unit 210 displays an image (hereinafter, referred to as an original image) of a scene obtained through a lens (not shown). - A photographer can find a desired image from images of a scene displayed on the
display unit 210. Then, the photographer can capture the desired image by manipulating a photographing button 101 (refer toFIG. 1A ). The photographingbutton 101 may be a press button or touch button. - After that, the photographing
unit 212 captures the image displayed on thedisplay unit 210 at the moment when the photographingbutton 101 is manipulated, and theimage storage unit 214 stores the captured image. - The guide
image generating unit 216 generates a guide image using the latest image captured by the photographingunit 212 and outputs the guide image to thedisplay unit 210. Then, thedisplay unit 210 displays the received guide image together with a current image that can be captured. Therefore, a photographer can easily determine the photographing orientation of the photographingunit 212 using the guide image displayed on thedisplay unit 210. In addition, when the photographingunit 212 captures an image displayed on thedisplay unit 210, the guide image displayed on thedisplay unit 210 together with the captured image is not further captured. - The
extraction unit 218 extracts an image stored in theimage storage unit 214, and themapping unit 220 generates a mapping image by projecting the extracted image onto a predetermined curved surface. Alternatively, themapping unit 220 can directly generate a mapping image by receiving a captured image from the photographingunit 212 and projecting the captured image onto a predetermined curved surface. As described above, the predetermined curved surface can be a cylindrical surface or spherical surface. - The
mapping unit 220 generates a first mapping image and a second mapping image by projecting a previously captured image and a currently captured image onto a predetermined curved surface. The term first mapping image is used herein to denote a mapping image of a previously captured image, and the term second mapping image is used herein to denote a mapping image of a currently captured image. Furthermore, the previously captured image may be denoted by the term pth captured image (where p is a natural number), and the currently captured image may be denoted by the term (p+1)th captured image. Thus, the first mapping image and the second mapping image denote a pth projection image and a (p+1)th projection image, respectively. - The
calculation unit 222 calculates movement values in predetermined directions so as to maximize the color similarity between overlapped sections of the first and second mapping images. Here, the movement value can be calculated for a captured image or a mapping image. That is, at least one of the previously captured image and the currently captured image can be shifted by the movement value, or at least one of the first and second mapping images can be shifted by the movement value. It can be determined whether the movement value is for a captured image or a mapping image, depending on the direction in which the movement value is set. - Because images captured in different directions have no overlapping section (refer to
FIGS. 1C , 1D and 1F), it is favorable that thecalculation unit 222 calculates proper movement value for the previously captured image and the currently captured image after projecting one of the images onto a plane including the other. Here, the image is projected regardless of the focal length of the photographingdevice 100, and thus the shape and area of the image are not changed by the projection. - Candidate movement values may be prepared in each predetermined direction. In this case, the
calculation unit 222 shifts at least one of the previously captured image and the currently captured image (or at least one of the first and second mapping images) in each predetermined direction by a selected candidate movement value. Then, thecalculation unit 222 calculates a color similarity between overlapped sections of the previously and currently captured images (or the first and second mapping images). Thecalculation unit 222 repeats these procedures for all the candidate movement values in each predetermined direction and determines one of the candidate movement values resulting in a maximum color similarity as a proper movement value. - In an exemplary embodiment, the maximum color similarity between overlapped sections of images is determined as follows: each time when at least one of the images moved by the candidate movement value, colors of respective pixels of the overlapped sections of the images are compared to calculate a color similarity between the overlapped sections of the images, that is, the color similarity is calculated for all pixels of the overlapped sections of the image; and the maximum of the color similarities calculated for the respective candidate movement values is selected as the maximum color similarity. Here, for example, the maximum color similarity can be determined based on the number of pixels of the overlapped sections having a color similarity higher than 90% or the mean value of the color similarities of the pixels of the overlapped sections.
- For example, when a right section, having 100 pixels, of the first mapping image is overlapped with a left section, having 100 pixels, of the second mapping image, the
calculation unit 222 selects a movement value from candidate movement values for each predetermined direction and moves the first and second mapping images by the selected proper movement value. Then, thecalculation unit 222 calculates 100 color similarity values between the right-section 100 pixels and the left-section 100 pixels and finds a mean value of the 100 similarity values. In this way, thecalculation unit 222 calculates mean values for all the candidate movement values and determines the maximum of the mean values as a proper movement value. - The
calculation unit 222 can calculate the same proper movement value for the previously and currently captured images or for the first and second mapping images. Alternatively, thecalculation unit 222 can calculate different proper movement values for the previously and currently captured images or for the first and second mapping images. - That is, when the photographing
unit 212 captures afirst image second image 112 or 152 (refer toFIGS. 1B through 1F ), thecalculation unit 222 calculates proper movement values for aligning the first capturedimage image 112 or 152 (or for afirst projection image second projection image 113 or 153). Then, when the photographingunit 212 captures athird image calculation unit 222 calculates proper movement values for aligning the second capturedimage image 114 or 154 (or for aligning thesecond projection image third projection image 115 or 155). Here, since the proper movement value for the second capturedimage 112 or 152 (or thesecond projection image 113 or 153) is calculated again, the previous proper movement value is replaced with the current proper movement value. In the same way, when the photographingunit 212 captures afourth image calculation unit 222 calculates proper movement values for aligning the third capturedimage image 116 or 156 (or for aligning thethird projection image fourth projection image 117 or 157). Here, since the proper movement value for the third capturedimage 114 or 154 (or thethird projection image 115 or 155) is calculated again, the previous proper movement value is replaced with the current proper movement value. - When the previously captured image is not the first captured
image calculation unit 222 can calculate a proper movement value only for the currently captured image or the second mapping image without calculating a proper movement value for the previously captured image or the first mapping image. That is, once a proper movement value is calculated for a captured image (or a mapping image), thecalculation unit 222 may not calculate a proper movement value again for the same captured image (or the same mapping image). - In this case, when the photographing
unit 212 captures thefirst image 110 or 150 (which is the first image that has been captured for forming a current panoramic view) and thesecond image calculation unit 222 calculates proper movement values for aligning the first capturedimage image 112 or 152 (or for aligning afirst projection image second projection image 113 or 153). Then, when the photographingunit 212 captures thethird image calculation unit 222 calculates a proper movement value for the third capturedimage 114 or 154 (or for athird projection image 115 or 155). Similarly, when the photographingunit 212 captures thefourth image calculation unit 222 calculates a proper movement value for the fourth capturedimage 116 or 156 (or for afourth projection image 117 or 157). - The
image aligning unit 224 respectively moves the first and second mapping images by the proper movement values. Then, theimage aligning unit 224 stitches the first and second mapping images together so as to a panoramic image. In exemplary embodiments, the term “stitch” is used when images are connected or combined to generate a panoramic image. - After that, the
image deleting unit 226 deletes the previously captured image stored in theimage storage unit 214. - Although the
image storage unit 214, theextraction unit 218, and theimage deleting unit 226 are included in the panoramic image generating apparatus ofFIG. 2 , theimage storage unit 214, theextraction unit 218, and theimage deleting unit 226 may be not included in the panoramic image generating apparatus according to another exemplary embodiment. - Operations of the
mapping unit 220, thecalculation unit 222, and theimage aligning unit 224 will now be more specifically described according to exemplary embodiments. Three exemplary embodiments below describe the operations of themapping unit 220, thecalculation unit 222, and theimage aligning unit 224 in the case where a single-row panoramic image is generated, and two exemplary embodiments below describe the operations of themapping unit 220, thecalculation unit 222, and theimage aligning unit 224 in the case where a multi-row panoramic image is generated. - In an exemplary embodiment, the operations of the
mapping unit 220, thecalculation unit 222, and theimage aligning unit 224 are as follows. - The
calculation unit 222 calculates proper movement values in a predetermined direction for a previously captured image and a currently captured image (or a first mapping image and a second mapping image). Here, the predetermined direction may be the direction of pitching, panning, or rolling motion of the photographing device 100 (refer toFIG. 1A ). That is, the movement values can be expressed as a combination of a pitch angle, a panning angle, and a rolling angle. Hereinafter, a proper pitch angle denotes a pitch angle as a proper movement value, a proper panning angle denotes a panning angle as a proper movement value, and a proper rolling angle denotes a rolling angle as a proper movement value. - In detail, the
calculation unit 222 calculates proper rolling angles and pitch angles for the previously captured image and the currently captured image. Furthermore, thecalculation unit 222 calculates proper panning angles for the first and second mapping images, respectively. - Pitch angle candidates, panning angle candidates, and rolling angle candidates are prepared beforehand as movement value candidates. For example, Pitch angle candidates may be −3°, −2°, −1°, 0°, 1°, 2°, and 3°. Panning angle candidates may be −10°, −9°, . . . , 0°, . . . , 9°, and 10°. Rolling angle candidates may be −4°, −3°, −2°, −1°, 0°, 1°, 2°, 3°, and 4°.
- The
calculation unit 222 selects a proper rolling angle and a proper pitch angle from the candidates as follows. Thecalculation unit 222 projects one of the previously and currently captured images onto a plane of the other image. Then, thecalculation unit 222 rotates each of the previously and currently captured images by a rolling angle and a pitch angle selected from the candidates, and calculates a color similarity value between overlapped sections of the previously and currently captured images. In this way, thecalculation unit 222 calculates color similarity values between the overlapped sections for all the rolling angle candidates and the pitch angle candidates, and determines a rolling angle candidate and a pitch angle candidate that result in maximum color similarities as a proper rolling angle and a proper pitch angle. - Next, the
image aligning unit 224 rotates each of the previously and currently captured images by the proper rolling angle and rotates each of the previously and currently captured images by the proper pitch angle. Then, themapping unit 220 projects the previously and currently captured images onto a predetermined curved surface so as to form a first mapping image and a second mapping image. - Next, the
calculation unit 222 rotates each of the first and second mapping images by a panning angle selected from the candidates, and calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, thecalculation unit 222 calculates color similarity values between the overlapped sections for all the panning candidates and determines a panning angle candidate resulting in the maximum color similarity as a proper panning angle. Then, theimage aligning unit 224 rotates each of the first and second mapping angle by the proper panning angle. After that, theimage aligning unit 224 stitches the first and second mapping images together to generate a panoramic image. - In another exemplary embodiment, the
mapping unit 220, thecalculation unit 222, and theimage aligning unit 224 are operated as follows. - The
calculation unit 222 calculates proper movement values in predetermined directions for a previously captured image. The proper movement values can be expressed as a combination of a proper pitch angle, a proper panning angle, and a proper rolling angle. Pitch angle candidates, panning angle candidates, and rolling angle candidates are prepared beforehand as movement value candidates in the same manner as in the previous exemplary embodiment. - The
calculation unit 222 projects one of the previously captured images and a currently captured image onto a plane including the other image. Then, thecalculation unit 222 selects one rolling angle candidate, one pitch angle candidate, and one panning angle candidate from the candidates. That is, the rolling, pitch, and panning angle candidates can be selected simultaneously from the candidates. - Next, the
calculation unit 222 calculates a color similarity value between overlapped sections of the previously and currently captured images after rotating the previously capture image by the selected rolling angle (e.g., c), pitch angle (e.g., b), and panning angle (e.g., a). - When a pixel of the previously captured image has a coordinate (x1, y1, z1), the pixel may have a coordinate (x2, y2, z2) after being rotated by (c, b, a). Here, the xyz coordinate system used is an absolute coordinate system that is fixed regardless of the position or movement of the photographing
device 100. The xyz coordinate system can be explained byEquation 1 below. -
- In this way, the
calculation unit 222 rotates the previously captured image three times by (Rz(c), Ry(b), Rx(a)) and then calculates a color similarity value between overlapped sections of the previously captured image and the currently captured image. However, it may take considerable time for thecalculation unit 222 to calculate the color similarity value after rotating the previously capture image three times. Thus, the current exemplary embodiment provides a method of calculating a proper movement value more rapidly by reducing the number of rotations from three times to two times as follows. - Referring to Herbert Goldstein, “Classical Mechanics (2nd Edition, 1980)” (Addison-Wesley Series in Physics), page 606, three rotation angles about three axes can be expressed by three rotation angles about two axes. Therefore, three rotation angles a, b, and c about x, y, and z-axes can be converted into two rotation angles w, Y1, and Y2 about y- and z-axes.
- The relationship between (a, b, c) and (w, Y1, Y2) can be expressed by Equation 2 below.
-
cos w=cos a*cos b -
sin Y1=(cos a*sin b*sin c−sin a*cos c)/sin α -
cos Y1=(cos a*sin b*cos c+sin a*sin c)/sin α -
sin Y2=(sin a*cos b)/sin α -
cos Y2=sin b/sin α [Equation 2] - Equation 2 is obtained by Equation 3 below.
-
- Consequently, the relationship between X2 and X1 can be expressed by Equation 4 below.
-
X2=Rz,γ2*Ry,w*Rz,γ1*X1 [Equation 4] - Both sides of Equation 4 are multiplied by a matrix Rz,−γ2 to obtain Equation 5 below.
-
Rz,−γ2*X2=Ry,w*Rz,γ1*X1 [Equation 5] - Thus, a color similarity between color information of a pixel of the previously captured image that is located at a position (x, y, z)=(x2, y2, z2) and color information of a pixel of the currently captured image that is located at a position (X, Y, Z)=(x2, y2, z2) is equal to a color similarity between color information of a pixel of the previously captured image that is located at a position obtained by rotating a position (X, Y, Z)=(x1, y1, z1) two times by (Ry,w*Rz,γ1) and color information of a pixel of the currently captured image that is located at a position obtained by rotating a position (X, Y, Z)=(x2, y2, z2) one time by (Rz,−γ2). Herein, a pixel of the previously captured image that is located at a position (X, Y, Z)=(x2, y2, z2) is a pixel of the previously captured image that is located at a position obtained by rotating a position (X, Y, Z)=(x1, y1, z1) three times by (Rz,γ2*Ry,w*Rz, γ1).
- This allows the
calculation unit 222 to calculate a proper movement value more rapidly. - In detail, the
calculation unit 222 rotates the previously captured image two times by (Ry,w*Rz,γ1) and simultaneously rotates the currently captured image one time by (Rz,−γ2). Then, thecalculation unit 222 can calculate a color similarity value between overlapped portions of the previously and currently captured images. - That is, when the
calculation unit 222 usesEquation 1, thecalculation unit 222 can calculate a color similarity value between overlapped portions of the previously and currently captured images after rotating the previously captured image three times by (Rz,c, Ry,b, Rx,a). However, when thecalculation unit 222 uses Equation 5, thecalculation unit 222 can calculate the color similarity value between the overlapped portions of the previously and currently captured images after rotating the previously captured two times by (Ry,w*Rz,γ1) and simultaneously rotating the currently capture image one time by (Rz, −γ2). In the latter case, when the previously captured image is rotated two times, the currently captured image is already rotated one time. - The time necessary for converting (c, b, a) into (w, Y1, Y2) is negligible as compared with the time necessary for rotating the Ry,w*Rz,γ1*X1 as much as Rz, γ2. Thus, the
calculation unit 222 can calculate a proper movement value faster when using the Equation 5 than when usingEquation 1. - After the
calculation unit 222 calculates proper rolling angles Y1 and Y2 and a proper panning angle (w), theimage aligning unit 224 rotates the previously captured image by the proper rolling angle Y1 in the rolling direction and the proper panning angle (w) in the panning direction. Then, themapping unit 220 projects the previously captured image onto a predetermined curved surface to form a first mapping image. - For example, when the
calculation unit 222 calculates a proper rolling angle Y1-1 and a proper panning angle w1 for a first capturedimage 110 and a proper rolling angle Y2-2 for a second capturedimage 112, theimage aligning unit 224 rotates the first capturedimage 110 by the proper rolling angle Y1-1 and the proper panning angle w1. Then, themapping unit 220 forms afirst projection image 111 using the first capturedimage 110. Herein, when the previously captured image is an ith captured image (where (i) is a natural number), Y1-i denotes a proper rolling angle for the ith captured image, and when the currently captured image is an ith captured image, Y2-i denotes a proper rolling angle for the ith captured image. - In the same way, when the
calculation unit 222 calculates a proper rolling angle Y1-2 and a proper panning angle w2 for the second capturedimage 112 and a proper rolling angle Y2-3 for a third capturedimage 114, theimage aligning unit 224 rotates the second capturedimage 112 by the proper rolling angle Y1-2 and the proper panning angle w2. Then, themapping unit 220 forms asecond projection image 113 using the rotated second capturedimage 112. - Similarly, when the
calculation unit 222 calculates a proper rolling angle Y1-3 and a proper panning angle w3 for the third capturedimage 114 and a proper rolling angle Y2-4 for a fourth capturedimage 116, theimage aligning unit 224 rotates the third capturedimage 114 by the proper rolling angle Y1-3 and the proper panning angle w3 and rotates the fourth capturedimage 116 by the proper rolling angle Y2-4. Then, themapping unit 220 forms third andfourth projection images images - After that, the
image aligning unit 224 stitches the first andsecond projection images third projection images fourth projection images - In the previous two exemplary embodiments, the
pitch direction 104 is considered in calculating a proper movement value. However, in the next exemplary embodiment, thepitch direction 104 is not considered. When a photographer manipulates the photographingbutton 101 of the photographingdevice 100 for taking an image, the trembling of the photographingdevice 100 in thepitch direction 104 may be negligible as compared with the trembling of the photographingdevice 100 in the panningdirection 106 and therolling direction 108. Thus, in the next exemplary embodiment, thepitch direction 104 is not considered. - In another exemplary embodiment, the
mapping unit 220, thecalculation unit 222, and theimage aligning unit 224 are operated as follows. - The
calculation unit 222 calculates proper movement values in a predetermined direction for a previously captured image and a currently captured image (or a first mapping image and a second mapping image). Here, the predetermined direction may be a panning direction, a rolling direction, or a vertical direction. The vertical direction is a direction parallel with the vertical center axis of a cylinder (for example, refer toFIGS. 1C and 1D ). A vertical displacement (i.e., a movement value in the vertical direction) can be expressed using a length unit such as millimeters or the number of pixels. Furthermore, a proper vertical displacement denotes a proper movement value in the vertical direction. - In detail, the
calculation unit 222 calculates proper rolling angles for the previously captured image and the currently captured image. Furthermore, thecalculation unit 222 calculates proper panning angles and proper vertical displacements for each of the first and second mapping images. - Rolling angle candidates, panning angle candidates, and vertical displacement candidates are prepared beforehand as movement value candidates. For example, rolling angle candidates may be −4°, −3°, −2°, −1°, 0°, 1°, 2°, 3°, and 4°. Panning angle candidates may be −10°, −9°, . . . , 0°, . . . , 9°, and 10°. Vertical displacement candidates may be a negative two-pixel length, a negative one-pixel length, 0, one-pixel length, and two-pixel length.
- The
calculation unit 222 selects a proper rolling angle from the candidates as follows. Thecalculation unit 222 projects one of the previously and currently captured images onto a plane of the other image. Then, thecalculation unit 222 rotates the previously and currently captured images by a rolling angle selected from the candidates, and calculates a color similarity value between overlapped sections of the previously and currently captured images. In this way, thecalculation unit 222 calculates color similarity values between the overlapped sections for all the rolling angle candidates and determines a rolling angle candidate resulting in the maximum color similarity as a proper rolling angle. - Next, the
image aligning unit 224 rotates each of the previously and currently captured images by the proper rolling angle. Then, themapping unit 220 projects the previously and currently captured images onto a predetermined curved surface so as to form a first mapping image and a second mapping image. - Next, the
calculation unit 222 moves each of the first and second mapping images by a panning angle and a vertical displacement selected from the candidates, and calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, thecalculation unit 222 calculates color similarity values between the overlapped sections for all the panning angle candidates and the vertical displacement candidates, and determines a panning angle candidate and a vertical displacement candidate that result in the maximum color similarity as a proper panning angle and a proper vertical displacement. - Then, the
image aligning unit 224 moves each of the first and second mapping images by the proper panning angle and the proper vertical displacement. After that, theimage aligning unit 224 stitches the first and second mapping images together to generate a panoramic image. - The current exemplary embodiment will now be described in more detail.
- The
calculation unit 222 calculates proper rolling angles for first and second capturedimage image aligning unit 224 rotates the first and second capturedimages mapping unit 220 generates first andsecond projection images images calculation unit 222 calculates proper panning angles and proper vertical displacements for the first andsecond projection images image aligning unit 224 rotates each of the first andsecond projection images second projection images - In the same way, the
calculation unit 222 may calculate proper rolling angles for the second capturedimage 112 and a third capturedimage 114 and calculate proper panning angles and proper vertical displacements for thesecond projection image 113 and athird projection image 115. Further, theimage aligning unit 224 may rotate the second and third capturedimages third projection images calculation unit 222 can calculate another proper movement value for the second captured image 112 (or the second projection image 113). In this case, the former proper movement value for the second captured image 112 (or the second projection image 113) is replaced with the latter proper movement value. - In the same way, the
calculation unit 222 may calculate proper rolling angles for the third capturedimage 114 and a fourth capturedimage 116, and then calculate proper panning angles and proper vertical displacements for thethird projection image 115 and afourth projection image 117. Further, theimage aligning unit 224 may rotate the third and fourth capturedimages fourth projection images calculation unit 222 can calculate another proper movement value for the third captured image 114 (or the third projection image 115). In this case, the former proper movement value for the third captured image 114 (or the third projection image 115) is replaced with the latter proper movement value. - After that, the
image aligning unit 224 stitches the first andsecond projection images third projection images fourth projection images - In the current exemplary embodiment, the
calculation unit 222 may not calculate a proper movement value again for a captured image (or a mapping image) once thecalculation unit 222 has already calculated a proper movement value for a particular captured image (or mapping image). This case will now be described. - The
calculation unit 222 calculates proper rolling angles for first and second capturedimage image aligning unit 224 rotates the first and second capturedimages mapping unit 220 generates first andsecond projection images images calculation unit 222 calculates proper panning angles and proper vertical displacements for the first andsecond projection images image aligning unit 224 rotates and moves the first andsecond projection images image aligning unit 224 stitches the first andsecond projection images - Next, the
calculation unit 222 calculates a proper rolling angle for a third capturedimage 114, and theimage aligning unit 224 rotates the third capturedimage 114 by the proper rolling angles. After that, themapping unit 220 generates athird projection image 115 using the third capturedimage 114, and thecalculation unit 222 calculates a proper panning angle and a proper vertical displacement for thethird projection image 115, and theimage aligning unit 224 rotates and moves thethird projection image 115 by the proper panning angle and the proper vertical displacement. Then, theimage aligning unit 224 stitches the second andthird projection images - Thereafter, the
calculation unit 222 calculates a proper rolling angle for a fourth capturedimage 116, and theimage aligning unit 224 rotates the fourth capturedimage 116 by the proper rolling angle. Next, themapping unit 220 generates afourth projection image 117 using thefourth capture image 116, and thecalculation unit 222 calculates a proper panning angle and a proper vertical displacement for thefourth projection image 117. Then, theimage aligning unit 224 rotates and moves thefourth projection image 117 by the proper panning angle and the proper vertical displacement. After that, theimage aligning unit 224 stitches the third andfourth projection images - In this way, a panoramic image can be generated using the first through fourth captured
images 110 through 116. - In another exemplary embodiment, the
mapping unit 220, thecalculation unit 222, and theimage aligning unit 224 are operated as follows. - The
mapping unit 220 generates first and second mapping images. - The
calculation unit 222 calculates proper movement values in predetermined directions for the first and second mapping images. Here, the predetermined directions may be a pitch direction, a panning direction, and/or a rolling direction. That is, the proper movement values can be expressed as a combination of a pitch angle, a panning angle, and a rolling angle. - Pitch angle candidates, panning angle candidates, and rolling angle candidates are prepared beforehand as movement value candidates. For example, Pitch angle candidates may be −3°, −2°, −1°, 0°, 1°, 2°, and 3°. Panning angle candidates may be −10°, −9°, . . . , 0°, . . . , 9°, and 10°. Rolling angle candidates may be −4°, −3°, −2°, −1°, 0°, 1°, 2°, 3°, and 4°.
- The
calculation unit 222 selects a proper rolling angle from the candidates as follows. Thecalculation unit 222 selects one of the rolling angle candidates for each of the first and second mapping images and rotates each of the first and second mapping images by the selected rolling angle candidate. Then, thecalculation unit 222 calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, thecalculation unit 222 calculates color similarities between the overlapped sections of the first and second mapping images for all the rolling angle candidates, and determines one of the rolling angle candidates that results in the maximum color similarity value as a proper rolling angle. - Thereafter, the
image aligning unit 224 rotates each of the first and second mapping images by the proper rolling angle. In the same way, thecalculation unit 222 selects a proper pitch angle from the candidates. That is, thecalculation unit 222 selects one of the pitch angle candidates for each of the first and second mapping images and rotates each of the first and second mapping images by the selected pitch angle candidate. Then, thecalculation unit 222 calculates a color similarity value between overlapped sections of the first and second mapping images. In this way, thecalculation unit 222 calculates color similarities between the overlapped sections of the first and second mapping images for all pitch angle candidates, and determines one of the pitch angle candidates that results in the maximum color similarity value as a proper pitch angle. - Then, the
image aligning unit 224 rotates each of the first and second mapping images by the proper pitch angle. In the same way, thecalculation unit 222 determines a proper panning angle. That is, after rotating each of the first and second mapping image by the panning angle candidates, thecalculation unit 222 determines one of the panning angle candidates that results in the maximum color similarity value between the overlapped sections of the first and second mapping images. - Thereafter, the
image aligning unit 224 rotates each of the first and second mapping images by the proper panning angle and stitches the first and second mapping images together, thereby generating a panoramic image. - In other words, in the current exemplary embodiment, the
mapping unit 220 generates first throughfourth projection images 151 through 157, and thecalculation unit 222 calculates proper movement values in predetermined directions for the first andsecond projection images calculation unit 222 calculates proper movement values in the predetermined directions for the second andthird projection images fourth projection images second projection image 153, the former proper movement value for thesecond projection image 153 is replaced with the latter proper movement value. Further, when the proper movement value is calculated again for thethird projection image 155, the former proper movement value for thethird projection image 155 is replaced with the latter proper movement value. In addition, theimage aligning unit 224 stitches the first andsecond projection images third projection images fourth projection images - As described above, according to the current exemplary embodiment, since the movement values are spherical movement (rotation) values (in a spherical coordinate system), it may take considerable time for calculating a proper movement value. Thus, the following exemplary embodiment provides a method of calculating a proper movement value with less time and calculation load in creating a panoramic image.
- In another exemplary embodiment, the
mapping unit 220, thecalculation unit 222, and theimage aligning unit 224 are operated as follows. - The
mapping unit 220 generates first and second partial images (not shown) by projecting first and second capturedimages FIGS. 1C , 1D and 1F). Further, the center P1 of the first capturedimage 150 may be located on one of lines perpendicular both to the longitudinal axis of the first predetermined cylinder and to the P-Q axis of the sphere, and the center P2 of the second capturedimage 152 may be located on another of the perpendicular lines. Herein, an rth partial image (where r is a natural number) is a kind of mapping image. - In the same way, the
mapping unit 220 generates third and fourth partial images (not shown) by projecting third and fourth capturedimages image 154 may be located on one of lines perpendicular both to the longitudinal axis of the second predetermined cylinder and to the P-Q axis of the sphere, and the center P4 of the fourth capturedimage 156 may be located on another of the perpendicular lines. - The
calculation unit 222 calculates proper movement values in a predetermined direction for the first and second partial images. The calculated proper movement values are used as first adjustment values for moving the first and second partial images on the first predetermined cylindrical surface in the predetermined direction. Here, the predetermined direction may be a panning direction or a vertical direction. Similarly, thecalculation unit 222 calculates proper movement values in a predetermined direction for the third and fourth partial images. The calculated proper movement values are used as second adjustment values for moving the third and fourth partial images on the second predetermined cylindrical surface in the predetermined direction. Here, the predetermined direction may be a panning direction or a vertical direction. - The
image aligning unit 224 moves the first and second partial images by the first adjustment values and stitches the first and second partial images together so as to create a first stitched image (not shown). Similarly, theimage aligning unit 224 moves the third and fourth partial images by the second adjustment values and stitches the third and fourth partial images together so as to create a second stitched image (not shown). - After that, the
mapping unit 220 generates a fifth partial image (not shown) by projecting the first stitched image onto a first adjustment plane. Here, the first adjustment plane may be a plane perpendicular to a C-P2 line of the sphere and on which the center P2 of the second capturedimage 152 is located. Similarly, themapping unit 220 generates a sixth partial image (not shown) by projecting the second stitched image onto a second adjustment plane. Here, the second adjustment plane may be a plane perpendicular to a C-P3 line of the sphere and on which the center P3 of the third capturedimage 154 is located. Unlike usual mapping images (e.g., the first to fourth partial images just described, and seventh and eighth partial images to be described below), the fifth and sixth partial images are formed on a plane. - The
mapping unit 220 generates the seventh and eighth partial images (not shown) by projecting the fifth and sixth partial images onto a third predetermined cylindrical surface. Here, the third predetermined cylindrical surface is a lateral surface of a third predetermined cylinder, and the third predetermined cylinder is a cylinder having a longitudinal axis parallel with the tangent line of the equator of the sphere. - Thereafter, the
calculation unit 222 calculates proper movement values in a predetermined direction for the seventh and eighth partial images. The calculated proper movement values are used as third adjustment values for shifting the seventh and eighth images on the third predetermined cylindrical surface in the predetermined direction. Here, the predetermined direction may be a panning direction or a vertical direction. - The
image aligning unit 224 moves the seventh and eighth partial images by the third adjustment values and stitches the seventh and eighth partial images together so as to create a panoramic image (not shown). - In the current exemplary embodiment, as explained above, the proper movement values are calculated with respect to a cylindrical surface instead of a spherical surface. Therefore, according to the current exemplary embodiment, a panoramic image can be generated more rapidly than in the previous exemplary embodiment.
-
FIGS. 3A through 3D are diagrams for explaining operations of thedisplay unit 210, the photographingunit 212, and the guideimage generating unit 216 of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment. Thedisplay unit 210 includes aliquid crystal display 310. -
FIG. 3A shows original images 300 (a previously capturedimage 320 and a currently captured image 330) displayed on theliquid crystal display 310. -
FIG. 3B is a diagram for explaining an operation of the guideimage generating unit 216 according to an exemplary embodiment. - The guide
image generating unit 216 generates a guide image using the previously capturedimage 320. - Specifically, the guide
image generating unit 216 generates a guide image by selecting apredetermined section 340 from the previously capturedimage 320 and removing the other section from the previously capturedimage 320. Here, the size of thepredetermined section 340 may be predetermined. - The location of the
predetermined section 340 in the previously capturedimage 320 may be determined based on the moving direction of the photographing device 100 (in other words, based on a change in the photographing orientation of the photographing device 100). For example, when the photographingdevice 100 moves from left to right after the photographingunit 212 captures theimage 320 as shown inFIG. 3A , the guideimage generating unit 216 selects a right section (predetermined section 340) having a predetermined size from the previously capturedimage 320 and removes the other section from the previously capturedimage 320 so as to form a guide image. Similarly, for example, when the photographingdevice 100 moves upward after the photographingunit 212 captures theimage 320 unlike inFIG. 3A , the guideimage generating unit 216 selects an upper section (predetermined section 340) having a predetermined size from the previously capturedimage 320 and removes the other section from the previously capturedimage 320 so as to form a guide image. - Alternatively, the location of the
predetermined section 340 in the previously capturedimage 320 can be determined regardless of the moving direction of the photographing device 100 (in other words, regardless of a change in the photographing direction of the photographing device 100). - In detail, when the photographing
device 100 operates in single-row mode for generating a single-row (horizontal) panoramic image, the guideimage generating unit 216 generates a guide image by selecting a predetermined section 340 (e.g., a right section) having a predetermined size from the previously capturedimage 320 and removing the other section from the previously capturedimage 320. That is, in this case, a photographer is requested to photograph a plurality of images while moving the photographingdevice 100 to the right. - On the other hand, in multi-row mode of the photographing
device 100 for generating a multi-row (spherical) panoramic image, the location of apredetermined section 340 in a captured image can vary in a predetermined manner each time the guideimage generating unit 216 generates a guide image. For example, the guideimage generating unit 216 can select a lower section, a right section, and an upper section from a series of captured images, respectively, aspredetermined sections 340 for generating guide images. In this case, the guideimage generating unit 216 generates a first guide image by selecting a lower section having a predetermined size from a first capturedimage 150 and removing the other section from the first capturedimage 150. Similarly, the guideimage generating unit 216 generates a second guide image by selecting a right section having a predetermined size from a second capturedimage 152 and removing the other section from the second captured image 15. Further, the guideimage generating unit 216 generates a third guide image by selecting a upper section having a predetermined size from a third capturedimage 154 and removing the other section from the third capturedimage 154. -
FIGS. 3C and 3D are diagrams for explaining an operation of thedisplay unit 210 that displays a preview image together with a guide image according to an exemplary embodiment. - Referring to
FIGS. 3C and 3D , thedisplay unit 210 displays a guide image in a first predetermined region 345 (or 347) of theliquid crystal display 310 and a preview image captured through a lens (not shown) in a secondpredetermined region 350 of theliquid crystal display 310. Here, for example, the firstpredetermined region 345 is overlapped with the secondpredetermined region 350, or the firstpredetermined region 347 is included in the secondpredetermined region 350. Here, the preview image captured through the lens is an image to be captured as the currently capturedimage 330. - Referring to
FIG. 3C , when the firstpredetermined region 345 is overlapped with a portion of the secondpredetermined region 350, the firstpredetermined region 345 and the predetermined section 340 (refer toFIG. 3B ) of the previously capturedimage 320 may have the same size, and the location of the firstpredetermined region 345 in theliquid crystal display 310 may correspond to the location of thepredetermined section 340. For example, when thepredetermined section 340 is located on a right section (having a predetermined size) of the previously capturedimage 320 as shown inFIG. 3B , the firstpredetermined region 345 may be located on a left section of theliquid crystal display 310, and the left section of theliquid crystal display 310 may have the same size as the right section of the previously capturedimage 320 as shown inFIG. 3C . In other words, the location of thepredetermined region 345 on theliquid crystal display 310 may be determined based on a change in the photographing direction of the photographingdevice 100. For example, when the photographingdevice 100 moves to the right after the photographingunit 212 takes an image as shown inFIG. 3A , thedisplay unit 210 displays a guide image in a left region (having a predetermined size) of theliquid crystal display 310. Alternatively, the location of thepredetermined region 345 on theliquid crystal display 310 may be determined regardless of a change in the photographing direction of the photographingdevice 100. For example, when the photographingdevice 100 operates in single-row mode for generating a single-row panoramic image, thedisplay unit 210 displays a guide image in a left region (having a predetermined size) of theliquid crystal display 310. - Referring again to
FIG. 3C , thedisplay unit 210 can displays guide and preview images at brightness levels lower than original brightness levels of the guide and preview images. - Referring to
FIG. 3D , when the firstpredetermined region 347 is included in the secondpredetermined region 350, the size of the firstpredetermined region 347 is smaller than that of thepredetermined section 340 of the previously capturedimage 320. That is, thedisplay unit 210 displays only a portion of the guide image. For this, thedisplay unit 210 projects pixels of the guide image onto a conversion plane. Here, the conversion plane is a plane on which an image (the currently captured image 330) is expected to be formed. For example, in the case where a photographer intends to change a photographing direction of the photographingdevice 100 by a panning angle (q) (where, for example, q is a natural number) for capturing the next image after capturing an image when the photographer takes a plurality ofimages -
- where f denotes the focal length of the photographing
device 100. - The
display unit 210 calculates the coordinate (u2, v2) using Equation 6 and determines where the calculated coordinate (u2, v2) is included in the firstpredetermined region 347. If the calculated coordinate (u2, v2) is not included in the firstpredetermined region 347, thedisplay unit 210 does not display the pixel corresponding to the coordinate (u2, v2). If the calculated coordinate (u2, v2) is included in the firstpredetermined region 347, thedisplay unit 210 displays the pixel corresponding to the coordinate (u2, v2). - In this way, the location of the first
predetermined region 345 on theliquid crystal display 310 is determined based on a change in the photographing direction of the photographingdevice 100, or the firstpredetermined region 347 is located within the secondpredetermined region 350. In this case, a plurality ofimages FIG. 1E ) may be captured for creating a multi-row panoramic image as follows. - The
display unit 210 displays a guide image together with a preview image that is currently capturable, in consideration of the positional relationship between a previously captured image and the preview image (a current image to be captured). Therefore, when the positional relationship is complex, it is difficult for thedisplay unit 210 to rapidly display the guide image. - The
image 152 can be captured after changing the position of the photographingdevice 100 in one direction (i.e., a pitch direction) from a position for theimage 150. Similarly, theimage 154 can be captured after changing the position of the photographingdevice 100 in one direction (i.e., a panning direction) from the position for theimage 152, and theimage 156 can be captured after changing the position of the photographingdevice 100 in one direction (i.e., a pitch direction) from the position for theimage 154. However, the image 156 (or the image 150) can be captured after changing position of the photographingdevice 100 in two directions (i.e., the panning and pitch directions) from the position for the image 150 (or the image 156). It is apparent to those of skill in the related art that thedisplay unit 210 can display a guide image more rapidly when only one direction is involved than when two directions are involved. - That is, the
display unit 210 can display a guide image more rapidly when theimages images images images - For the same reason, the
display unit 210 can display a guide image more rapidly when theimages images images images - That is, the
images images -
FIG. 4 is a reference diagram for explaining an operation of themapping unit 220 of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment. - The
mapping unit 220 generates amapping image 430 by projecting a capturedimage 410 on a predetermined curved surface (e.g., a cylindrical surface or a spherical surface). Here, themapping unit 220 projects the capturedimage 410 in consideration of the focal length of the photographingdevice 100. Therefore, although the capturedimage 410 is rectangular, themapping image 430 may have an elliptical shape with tapered ends. - The
mapping unit 220 can also generate a mapping image by projecting an image from a curved surface onto a flat plane. The above-described fifth and sixth partial images are examples of such mapping images. -
FIG. 5 is a block diagram for explaining themapping unit 220 of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment. Themapping unit 220 can include aposition information storage 510 and acolor allotter 520. - As explained above, the
mapping image 430 can be generated by calculation using the capturedimage 410 and the focal length of the photographingdevice 100. When the calculation is performed for all pixels of the capturedimage 410, themapping unit 220 may be heavily loaded. - To prevent this problem, the positions of all pixels of the captured
image 410 can be matched beforehand to positions of corresponding pixels of themapping image 430 to be formed on a projectioncurved surface 420. In this case, themapping unit 220 can automatically generate amapping image image surface 420 that are matched to the positions of the pixels of the capturedimages curved surface 420 may be a portion of a predetermined curved surface (e.g., a cylindrical surface), and the size of the projection curvedsurface 420 may be the same as that of the capturedimage 410. - In detail, the
position information storage 510 stores information about the positions of the pixels of the capturedimage 410 and the positions of the pixels of themapping image 430 on the projection curvedsurface 420 that are matched to the positions of the pixels of the capturedimage 410. - The
color information allotter 520 receives information about the position of pixels of a capturedimage unit 212 or theextraction unit 218 through an input terminal IN1. Next, thecolor information allotter 520 reads information about positions matched to the positions of the pixels of the capturedimage color information storage 510. Then, thecolor information allotter 520 assigns color values of the pixels of the capturedimage color information allotter 520 assigns color values of all the pixels of the capturedimage mapping image color information allotter 520 outputs themapping image calculation unit 222 or theimage aligning unit 224 through an output terminal OUT1. -
FIG. 6 is a block diagram for explaining an operation of thecalculation unit 222 of the panoramic image generating apparatus ofFIG. 2 , according to an exemplary embodiment. The operation of thecalculation unit 222 according to the current exemplary embodiment relates to the above-described exemplary embodiment in which the motion of the photographingdevice 100 in apitch direction 104 is not considered. Thecalculation unit 222 can include aresolution converter 610, a firstmovement value calculator 620, and a secondmovement value calculator 630. - The
resolution converter 610 may receive a captured image from the photographingunit 212 or theextraction unit 218 through an input terminal IN2, or a mapping image from themapping unit 220 through the input terminal IN2. The resolution of the captured image or the mapping image received through the input terminal IN2 will now be denoted by a Kth resolution, where K is an integer larger than one. - The
resolution converter 610 processes the received captured image, or the mapping image, so as to reduce the resolution of the captured image from Kth resolution to a kth resolution, where k is a natural number smaller than K (as such kth resolution<(k+1)th resolution). - The first
movement value calculator 620 calculates proper rolling angles (e.g., −3°) for a previously captured image and a currently captured image that have a kth resolution. The secondmovement value calculator 630 calculates proper panning angles (e.g., 8°) and proper vertical displacements (e.g., one-pixel length) for first and second mapping images having a kth resolution. - After that, the
resolution converter 610 processes the first and second mapping images so as to increase the resolution of the first and second mapping images from kth resolution to (k+1)th resolution, and the secondmovement value calculator 630 recalculates proper panning angles and proper vertical displacements for the first and second mapping images. Here, the previously calculated proper panning angles (e.g., 8°) and proper vertical displacements (e.g., one-pixel length) can be considered. For example, the secondmovement value calculator 630 can select one of 7.6°, 7.8°, 8°, 8.2°, and 8.4° and one of a 0.8-pixel length, a 1-pixel length, and a 1.2-pixel length as a proper panning angle and a proper vertical displacement for each of the first and second mapping images having the (k+1)th resolution. In this case, the number of possible combinations is 5*3=15. Thus, the second movement value calculator determines a proper combination of a panning angle (e.g., 8.2°) and a vertical displacement (e.g., 0.8-pixel length) for each of the first and second mapping images having the (k+1)th resolution from the fifteen possible combinations. Then, the previously calculated proper panning angle (e.g., 8°) and vertical displacement (e.g., 1-pixel length) are replaced with the currently calculated proper panning angle (e.g., 8.2°) and vertical displacement (0.8-pixel length). - When the (k+1)th resolution is not equal to the Kth resolution, the first and second
movement value calculators resolution converter 610 processes the first and second mapping images so as to increase the resolution of the first and second mapping images from (k+1)th resolution to (k+2)th resolution, and the secondmovement value calculator 630 recalculates proper panning angles and proper vertical displacements for the first and second mapping images having the (k+2)th resolution. Here, the previously calculated proper panning angles (e.g., 8.2°) and vertical displacements (e.g., 0.8-pixel length) can be considered. -
FIG. 7 is a flowchart for explaining a method of generating a panoramic image according to an exemplary embodiment. The method may includeoperations - In
operation 710, the guideimage generating unit 216 generates a guide image using a previously captured image, and thedisplay unit 210 displays the guide image together with a preview image that can be currently captured. Then, a photographer can capture a desired image using the preview image and the guide image by manipulating the photographingbutton 101. - In
operation 720, themapping unit 220 generates first and second mapping images using the previously and currently captured images, and thecalculation unit 222 calculates proper movement values for the first and second mapping images. Theimage aligning unit 224 moves the first and second mapping images by the proper movement values and then stitches the first and second mapping images so as to create a panoramic image. -
FIG. 8 is a flowchart for explaining, in more detail,operation 710 of the method ofFIG. 7 , according to an exemplary embodiment.Operation 710 may includeoperations 810 through 870 for generating a guide image using a previously captured image. - In
operation 810, the photographingunit 212 captures afirst image 110 or 150 (first captured image). - In
operation 820, the guideimage generating unit 216 generates a first guide image using the first capturedimage - In
operation 830, theliquid crystal display 310 displays the first guide image together with a preview image, and the photographingunit 212 captures a second image (second captured image) when the photographingbutton 101 is manipulated. - In
operation 840, the guideimage generating unit 216 generates a second guide image using the second captured image captured. - In
operation 850, theliquid crystal display 310 displays the second guide image together with a preview image, and the photographingunit 212 captures a third image (third captured image) when the photographingbutton 101 is manipulated. - In
operation 860, the guideimage generating unit 216 generates a third guide image using the third captured image captured. - In
operation 870, theliquid crystal display 310 displays the third guide image together with a preview image, and the photographingunit 212 captures a fourth image (fourth captured image) when the photographingbutton 101 is manipulated. -
FIGS. 9A and 9B are flowcharts for explaining, in more detail,operation 720 of the method illustrated with reference toFIG. 7 when a single-row (horizontal) panoramic image is generated according to an exemplary embodiment.Operation 720 may includeoperations 910 through 940 for generating a single-row panoramic image using first, second, third, and fourth capturedimages device 100 is not considered for clarity. - In
operation 910, thecalculation unit 222 calculates proper rolling angles for the first and second capturedimages operation 912, theimage aligning unit 224 rotates the first and second capturedimages operation 910. - In
operation 914, themapping unit 220 projects the first and second capturedimages second projection images - In
operation 916, thecalculation unit 222 calculates proper panning angles and proper vertical displacements for the first andsecond projection images operation 918, theimage aligning unit 224 moves the first andsecond projection images - In
operation 920, thecalculation unit 222 calculates a proper rolling angle for the third capturedimage 114. Inoperation 922, theimage aligning unit 224 rotates the third capturedimage 114 by the proper rolling angle calculated inoperation 920. - In
operation 924, themapping unit 220 projects the third captured image onto the predetermined cylindrical surface so as to form athird projection image 115. - In
operation 926, thecalculation unit 222 calculates a proper panning angle and a proper vertical displacement for thethird projection image 115. Inoperation 928, theimage aligning unit 224 moves thethird projection image 115 by the calculated proper panning angle and vertical displacement calculated inoperation 926. - In
operation 930, thecalculation unit 222 calculates a proper rolling angle for the fourth capturedimage 116. Inoperation 932, theimage aligning unit 224 rotates the fourth capturedimage 116 by the calculated proper rolling angle calculated inoperation 930. - In
operation 934, themapping unit 220 projects the fourth captured image onto the predetermined cylindrical surface so as to form afourth projection image 117. - In
operation 936, thecalculation unit 222 calculates a proper panning angle and a proper vertical displacement for thefourth projection image 117. Inoperation 938, theimage aligning unit 224 moves thefourth projection image 117 by the calculated proper panning angle and vertical displacement calculated inoperation 936. - In
operation 940, theimage aligning unit 224 stitches the first andsecond projection images third projection images fourth projection images - The first, second, third, and
fourth projection images operation 940. That is, the first andsecond projection images operation 918, and the second andthird projection images operation 928. Then, the third andfourth projection images operation 938. -
FIGS. 10A and 10B are flowcharts for explaining, in more detail, operation 720 (denoted here as 720B) of the method illustrated with reference toFIG. 7 when a multi-row panoramic image is generated according to an exemplary embodiment. Operation 720B may includeoperations 1010 through 1090 for generating a multi-row panoramic image using first, second, third, and fourth capturedimages - In
operation 1010, themapping unit 220 projects the first and second capturedimages operation 1020, themapping unit 220 projects the third and fourth capturedimages FIG. 10 ,operation 1020 can be performed afteroperation 1010. Alternatively,operation 1020 can be performed prior tooperation 1010 or at the same time asoperation 1010. - In
operation 1030, thecalculation unit 222 calculates first adjustment values for the first and second partial images and second adjustment values for the third and fourth partial images. - In
operation 1040, theimage aligning unit 224 moves the first and second partial images by the first adjustment values and stitches the first and second partial images together so as to form a first stitched image. - In
operation 1050, theimage aligning unit 224 moves the third and fourth images by the second adjustment values and stitches the third and fourth images partial together so as to form a second stitched image. - As shown in
FIG. 10 ,operation 1050 can be performed afteroperation 1040. Alternatively,operation 1050 can be performed prior to or simultaneously withoperation 1040. - In
operation 1060, themapping unit 220 projects the first stitched image onto a first adjustment plane so as to form a fifth partial image (not shown) and projects the second stitched image onto a second adjustment plane so as to form a sixth partial image (not shown). - In
operation 1070, themapping unit 210 projects the fifth and sixth partial images onto a third predetermined cylindrical surface so as to form seventh and eighth partial images (not shown). - In
operation 1080, thecalculation unit 222 calculates third adjustment values for the seventh and eighth partial images. Inoperation 1090, theimage aligning unit 224 moves the seventh and eighth partial images by the third adjustment values and stitches the seventh and eighth partial images together. - As described above, according to the apparatus for and method of generating a panoramic image, overlapped sections of neighboring images can be precisely superposed and aligned even when the images are captured at different angles while moving a photographing device such as a case where images are captured in different directions while a photographer moves a photographing device, which is held in his/her hand, along a predetermined path.
- Furthermore, when proper movement values are calculated for images to be stitched, the proper movement values may be not calculated for images that have already assigned proper movement values so as to rapidly create a panoramic image. However, even when proper movement values are recalculated for images that have already assigned proper movement values, a panoramic image can be rapidly created since three rotation angles, and thus the proper movement values, about three axes such as x, y, and z-axes can be converted into equivalent three rotation angles about two axes.
- In particular, when a plurality of image are stitched together for generating a multi-row panoramic image, proper movement values are calculated for two neighboring images only when the two neighboring images can be fully overlapped with each other by moving one of the two neighboring images in one direction such as a rolling direction or a panning direction (that is, only when center points of two neighboring images having the same shape and size are placed on an equator or a longitudinal line of a sphere). That is, proper shifts value are not calculated for two neighboring images when the two neighboring images can be fully overlapped with each other by moving one of the two neighboring images in two or more directions such as rolling and panning directions (that is, when center points of two neighboring images having the same shape and size are placed on a line parallel with an equator of a sphere). Therefore, proper movement values can be rapidly calculated for the plurality of images, so that a multi-row panoramic image can be created more rapidly using the plurality of images. That is, as described above, although it is necessary to stitch the first and second partial images together and the third and fourth partial images together so as to create a multi-row panoramic image, stitching of the first and fourth partial images is not necessary for creating the multi-row panoramic image.
- Furthermore, according to an exemplary embodiment, when proper movement values are calculated with respect to the rolling, panning, and vertical directions of the photographing device, a proper movement value in one direction (e.g., the rolling direction) is calculated for a low-resolution image, and a proper movement value in another direction (e.g., the panning direction or the vertical direction) is calculated for a high-resolution image. That is, different proper movement values can be calculated for images having different resolutions according to the directions of the photographing device. Therefore, a proper movement value, which is expected to be calculated with less time but to be precise, is assigned for a high-resolution image so as to provide a proper movement value with high precision. Further, a proper movement value, which is expected to be calculated with less time and precision, is assigned for a low-resolution image so as to provide a proper movement value more rapidly.
- According to exemplary embodiments, after a panoramic image is generated using a previously captured image and a currently captured image that are stored in a memory (e.g., the image storage unit 214), the previously captured images are deleted. Therefore, a low-capacity memory can be used for generating a panoramic image using a plurality of images.
- Therefore, according to the apparatus, method, and medium for generating a panoramic image, a realistic panoramic image can be rapidly generated using a low-capacity memory. Thus, exemplary embodiments can be employed in a personal computer (PC) and a portable terminal having a low calculation capability and storage capacity as compared with usual computers such as a PC.
- According to exemplary embodiments, a predetermined section of a previously captured image can be displayed on the display unit together with a preview image, so that a photographer can conveniently determine the photographing orientation of the photographing device using the predetermined section of the previously captured image as a guide image.
- In addition to the above-described exemplary embodiments, exemplary embodiments can also be implemented by executing computer readable code/instructions in/on a medium/media, e.g., a computer readable medium/media. The medium/media can correspond to any medium/media permitting the storing and/or transmission of the computer readable code/instructions. The medium/media may also include, alone or in combination with the computer readable code/instructions, data files, data structures, and the like. Examples of code/instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by a computing device and the like using an interpreter. In addition, code/instructions may include functional programs and code segments.
- The computer readable code/instructions can be recorded/transferred in/on a medium/media in a variety of ways, with examples of the medium/media including magnetic storage media (e.g., floppy disks, hard disks, magnetic tapes, etc.), optical media (e.g., CD-ROMs, DVDs, etc.), magneto-optical media (e.g., floptical disks), hardware storage devices (e.g., read only memory media, random access memory media, flash memories, etc.) and storage/transmission media such as carrier waves transmitting signals, which may include computer readable code/instructions, data files, data structures, etc. Examples of storage/transmission media may include wired and/or wireless transmission media. For example, storage/transmission media may include optical wires/lines, waveguides, and metallic wires/lines, etc. including a carrier wave transmitting signals specifying instructions, data structures, data files, etc. The medium/media may also be a distributed network, so that the computer readable code/instructions are stored/transferred and executed in a distributed fashion. The medium/media may also be the Internet. The computer readable code/instructions may be executed by one or more processors. The computer readable code/instructions may also be executed and/or embodied in at least one application specific integrated circuit (ASIC) or Field Programmable Gate Array (FPGA).
- In addition, one or more software modules or one or more hardware modules may be configured in order to perform the operations of the above-described exemplary embodiments.
- The term “module”, as used herein, denotes, but is not limited to, a software component, a hardware component, a plurality of software components, a plurality of hardware components, a combination of a software component and a hardware component, a combination of a plurality of software components and a hardware component, a combination of a software component and a plurality of hardware components, or a combination of a plurality of software components and a plurality of hardware components, which performs certain tasks. A module may advantageously be configured to reside on the addressable storage medium/media and configured to execute on one or more processors. Thus, a module may include, by way of example, components, such as software components, application specific software components, object-oriented software components, class components and task components, processes, functions, operations, execution threads, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components or modules may be combined into fewer components or modules or may be further separated into additional components or modules. Further, the components or modules can operate at least one processor (e.g. central processing unit (CPU)) provided in a device. In addition, examples of a hardware components include an application specific integrated circuit (ASIC) and Field Programmable Gate Array (FPGA). As indicated above, a module can also denote a combination of a software component(s) and a hardware component(s). These hardware components may also be one or more processors.
- The computer readable code/instructions and computer readable medium/media may be those specially designed and constructed for the purposes of exemplary embodiments, or they may be of the kind well-known and available to those skilled in the art of computer hardware and/or computer software.
- Although a few exemplary embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these exemplary embodiments, the scope of which is defined in the claims and their equivalents.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2006-0094127 | 2006-09-27 | ||
KR1020060094127A KR100790890B1 (en) | 2006-09-27 | 2006-09-27 | Panorama image generating device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080074489A1 true US20080074489A1 (en) | 2008-03-27 |
US8768098B2 US8768098B2 (en) | 2014-07-01 |
Family
ID=38941858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/902,648 Active 2030-08-08 US8768098B2 (en) | 2006-09-27 | 2007-09-24 | Apparatus, method, and medium for generating panoramic image using a series of images captured in various directions |
Country Status (5)
Country | Link |
---|---|
US (1) | US8768098B2 (en) |
EP (1) | EP1909226B1 (en) |
JP (1) | JP5116416B2 (en) |
KR (1) | KR100790890B1 (en) |
CN (1) | CN101155267B (en) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090040292A1 (en) * | 2007-08-07 | 2009-02-12 | Sanyo Electric Co., Ltd. | Digital camera |
US20090086021A1 (en) * | 2007-09-27 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Dynamically generating real-time visualizations in industrial automation environment as a function of contect and state information |
US20090115840A1 (en) * | 2007-11-02 | 2009-05-07 | Samsung Electronics Co. Ltd. | Mobile terminal and panoramic photographing method for the same |
US20100033553A1 (en) * | 2008-08-08 | 2010-02-11 | Zoran Corporation | In-camera panorama image stitching assistance |
US20100054628A1 (en) * | 2008-08-28 | 2010-03-04 | Zoran Corporation | Robust fast panorama stitching in mobile phones or cameras |
US20100053353A1 (en) * | 2008-08-27 | 2010-03-04 | Micron Technology, Inc. | Method and system for aiding user alignment for capturing partially overlapping digital images |
US20100134591A1 (en) * | 2008-12-02 | 2010-06-03 | Samsung Techwin Co., Ltd. | Method of controlling monitoring camera and apparatus for controlling monitoring camera by using the method |
US20100149364A1 (en) * | 2008-12-12 | 2010-06-17 | Keyence Corporation | Imaging Device |
US20100149362A1 (en) * | 2008-12-12 | 2010-06-17 | Keyence Corporation | Imaging Device |
US20100259542A1 (en) * | 2007-11-02 | 2010-10-14 | Koninklijke Philips Electronics N.V. | Automatic movie fly-path calculation |
US20110110605A1 (en) * | 2009-11-12 | 2011-05-12 | Samsung Electronics Co. Ltd. | Method for generating and referencing panoramic image and mobile terminal using the same |
US20120105702A1 (en) * | 2010-10-28 | 2012-05-03 | Canon Kabushiki Kaisha | Video processing apparatus, imaging apparatus, video processing method, and storage medium |
US20120133746A1 (en) * | 2010-11-29 | 2012-05-31 | DigitalOptics Corporation Europe Limited | Portrait Image Synthesis from Multiple Images Captured on a Handheld Device |
US20120194637A1 (en) * | 2011-01-31 | 2012-08-02 | Samsung Electronics Co., Ltd. | Photographing apparatus for photgraphing panoramic image and method thereof |
US20120320149A1 (en) * | 2011-06-20 | 2012-12-20 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
CN102938145A (en) * | 2012-10-23 | 2013-02-20 | 深圳大学 | Consistency regulating method and system of splicing panoramic picture |
US20140337721A1 (en) * | 2008-08-22 | 2014-11-13 | Adobe Systems Incorporated | Content Aware Slideshows |
US8947502B2 (en) | 2011-04-06 | 2015-02-03 | Qualcomm Technologies, Inc. | In camera implementation of selecting and stitching frames for panoramic imagery |
CN104463778A (en) * | 2014-11-06 | 2015-03-25 | 北京控制工程研究所 | Panoramagram generation method |
US20160205320A1 (en) * | 2011-08-02 | 2016-07-14 | Sony Corporation | Image processing device and associated methodology for generating panoramic images |
US20180130243A1 (en) * | 2016-11-08 | 2018-05-10 | Samsung Electronics Co., Ltd. | Display apparatus and control method thereof |
KR101884565B1 (en) * | 2017-04-20 | 2018-08-02 | 주식회사 이볼케이노 | Apparatus and method of converting 2d images of a object into 3d modeling data of the object |
US10122915B2 (en) | 2014-01-09 | 2018-11-06 | Trax Technology Solutions Pte Ltd. | Method and device for panoramic image processing |
US10339627B2 (en) * | 2016-10-10 | 2019-07-02 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US10368662B2 (en) | 2013-05-05 | 2019-08-06 | Trax Technology Solutions Pte Ltd. | System and method of monitoring retail units |
US10387996B2 (en) | 2014-02-02 | 2019-08-20 | Trax Technology Solutions Pte Ltd. | System and method for panoramic image processing |
US10402777B2 (en) | 2014-06-18 | 2019-09-03 | Trax Technology Solutions Pte Ltd. | Method and a system for object recognition |
WO2019205827A1 (en) * | 2018-04-28 | 2019-10-31 | 中兴通讯股份有限公司 | Display screen calibration method and device and computer readable storage medium |
CN111566704A (en) * | 2017-09-26 | 2020-08-21 | 交互数字Ce专利控股公司 | Method and network equipment for tiling a sphere representing spherical multimedia content |
US10802578B2 (en) * | 2016-12-22 | 2020-10-13 | Samsung Electronics Co., Ltd. | Method for displaying image, storage medium, and electronic device |
WO2022105584A1 (en) * | 2020-11-18 | 2022-05-27 | 深圳Tcl新技术有限公司 | Method and apparatus for creating panoramic picture on basis of large screen, and intelligent terminal and medium |
US11398009B2 (en) | 2019-02-22 | 2022-07-26 | Fujitsu Limited | Method and apparatus for performing object detection based on images captured by a fisheye camera and electronic device |
US20220414825A1 (en) * | 2021-06-29 | 2022-12-29 | V5 Technologies Co., Ltd. | Image stitching method |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5359783B2 (en) * | 2009-10-28 | 2013-12-04 | ソニー株式会社 | Image processing apparatus and method, and program |
JP2011130327A (en) * | 2009-12-21 | 2011-06-30 | Sony Corp | Image processing apparatus, method and program |
JP5863257B2 (en) * | 2011-03-10 | 2016-02-16 | キヤノン株式会社 | Panorama image generation apparatus and generation method |
KR101804205B1 (en) * | 2012-03-15 | 2017-12-04 | 삼성전자주식회사 | Apparatus and method for image processing |
US9093047B2 (en) * | 2012-04-15 | 2015-07-28 | Trimble Navigation Limited | Displaying arrays of image data |
CN102692806B (en) * | 2012-06-04 | 2015-08-05 | 济南大学 | Collection and the formation method of free view-point four-dimentional space video sequence |
US20140300686A1 (en) * | 2013-03-15 | 2014-10-09 | Tourwrist, Inc. | Systems and methods for tracking camera orientation and mapping frames onto a panoramic canvas |
KR20150010070A (en) * | 2013-07-18 | 2015-01-28 | 삼성전자주식회사 | Method and apparatus for dispalying images on portable terminal |
US9986155B2 (en) * | 2014-09-05 | 2018-05-29 | Htc Corporation | Image capturing method, panorama image generating method and electronic apparatus |
US10750153B2 (en) * | 2014-09-22 | 2020-08-18 | Samsung Electronics Company, Ltd. | Camera system for three-dimensional video |
US11205305B2 (en) | 2014-09-22 | 2021-12-21 | Samsung Electronics Company, Ltd. | Presentation of three-dimensional video |
US10057562B2 (en) * | 2016-04-06 | 2018-08-21 | Facebook, Inc. | Generating intermediate views using optical flow |
US10958834B2 (en) | 2016-07-22 | 2021-03-23 | Immervision, Inc. | Method to capture, store, distribute, share, stream and display panoramic image or video |
CN107318010B (en) * | 2017-07-05 | 2019-10-11 | 上海小蚁科技有限公司 | Method and apparatus for generating stereoscopic panoramic image |
US11049218B2 (en) | 2017-08-11 | 2021-06-29 | Samsung Electronics Company, Ltd. | Seamless image stitching |
KR102107706B1 (en) * | 2017-10-31 | 2020-05-07 | 에스케이텔레콤 주식회사 | Method and apparatus for processing image |
KR102637913B1 (en) * | 2018-01-12 | 2024-02-20 | 삼성전자주식회사 | Method and apparatus for composing images |
JP6837211B2 (en) * | 2018-04-11 | 2021-03-03 | パナソニックIpマネジメント株式会社 | Image processing device and image processing method |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5262856A (en) * | 1992-06-04 | 1993-11-16 | Massachusetts Institute Of Technology | Video image compositing techniques |
US5732230A (en) * | 1995-05-19 | 1998-03-24 | Richo Company Ltd. | Computer user interface for manipulating image fragments using drag, drop and merge operations |
US5987164A (en) * | 1997-08-01 | 1999-11-16 | Microsoft Corporation | Block adjustment method and apparatus for construction of image mosaics |
US5991444A (en) * | 1994-11-14 | 1999-11-23 | Sarnoff Corporation | Method and apparatus for performing mosaic based image compression |
US6292593B1 (en) * | 1996-09-18 | 2001-09-18 | Sharp Kabushiki Kaisha | Image synthesizing device and method |
US20020126890A1 (en) * | 1996-05-28 | 2002-09-12 | Tatsushi Katayama | Adaptive image combination according to image sensing condition |
US20020163530A1 (en) * | 2001-04-05 | 2002-11-07 | Fujitsu Limited Of Kawasaki, Japan | Image merging apparatus |
US20030179923A1 (en) * | 1998-09-25 | 2003-09-25 | Yalin Xiong | Aligning rectilinear images in 3D through projective registration and calibration |
US6831643B2 (en) * | 2001-04-16 | 2004-12-14 | Lucent Technologies Inc. | Method and system for reconstructing 3D interactive walkthroughs of real-world environments |
US20050168594A1 (en) * | 2004-02-04 | 2005-08-04 | Larson Brad R. | Digital camera and method for in creating still panoramas and composite photographs |
US6930703B1 (en) * | 2000-04-29 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatically capturing a plurality of images during a pan |
US20060050152A1 (en) * | 2004-09-03 | 2006-03-09 | Rai Barinder S | Method for digital image stitching and apparatus for performing the same |
US20060072176A1 (en) * | 2004-09-29 | 2006-04-06 | Silverstein D A | Creating composite images based on image capture device poses corresponding to captured images |
US7450839B2 (en) * | 2004-08-20 | 2008-11-11 | Samsung Electronics Co., Ltd. | Photographing device and method for panoramic imaging |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100202665B1 (en) | 1996-07-23 | 1999-06-15 | 구본준 | Manufacture of a locus |
US6078701A (en) * | 1997-08-01 | 2000-06-20 | Sarnoff Corporation | Method and apparatus for performing local to global multiframe alignment to construct mosaic images |
JPH11205648A (en) * | 1998-01-09 | 1999-07-30 | Olympus Optical Co Ltd | Image synthesizing device |
JP2000125190A (en) | 1998-10-16 | 2000-04-28 | Olympus Optical Co Ltd | Camera system and recording medium |
JP4178657B2 (en) * | 1999-04-12 | 2008-11-12 | カシオ計算機株式会社 | Panorama shooting method and imaging apparatus |
JP2004046573A (en) | 2002-07-12 | 2004-02-12 | Sanyo Electric Co Ltd | Method for calculating tilt angle, method for synthesizing cylindrical panorama picture, and computer-readable recording medium with program for cylindrical panorama picture synthesis processing recorded thereon |
JP4001233B2 (en) * | 2003-02-10 | 2007-10-31 | 学校法人金沢工業大学 | Panorama shooting method and image processing apparatus and image pickup apparatus capable of using the method |
JP4148817B2 (en) * | 2003-04-09 | 2008-09-10 | シャープ株式会社 | Panoramic image photographing apparatus and panoramic image photographing method |
CN2632725Y (en) * | 2003-07-02 | 2004-08-11 | 马堃 | Portable camera apparatus with panoramic camera function |
US20050063608A1 (en) | 2003-09-24 | 2005-03-24 | Ian Clarke | System and method for creating a panorama image from a plurality of source images |
KR101009832B1 (en) | 2004-06-18 | 2011-01-19 | 삼성전자주식회사 | Image Synthesis Device and Method in Digital Camera |
CN1589050A (en) | 2004-09-23 | 2005-03-02 | 美博通信设备(北京)有限公司 | Method for shooting and browsing panoramic film using mobile terminal |
KR101264804B1 (en) * | 2006-08-16 | 2013-05-15 | 삼성전자주식회사 | panorama photography method and apparatus capable of informing optimum position of photographing |
-
2006
- 2006-09-27 KR KR1020060094127A patent/KR100790890B1/en active IP Right Grant
-
2007
- 2007-09-21 JP JP2007245836A patent/JP5116416B2/en active Active
- 2007-09-21 EP EP07116960A patent/EP1909226B1/en active Active
- 2007-09-24 US US11/902,648 patent/US8768098B2/en active Active
- 2007-09-26 CN CN2007101619324A patent/CN101155267B/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5262856A (en) * | 1992-06-04 | 1993-11-16 | Massachusetts Institute Of Technology | Video image compositing techniques |
US5991444A (en) * | 1994-11-14 | 1999-11-23 | Sarnoff Corporation | Method and apparatus for performing mosaic based image compression |
US5732230A (en) * | 1995-05-19 | 1998-03-24 | Richo Company Ltd. | Computer user interface for manipulating image fragments using drag, drop and merge operations |
US20020126890A1 (en) * | 1996-05-28 | 2002-09-12 | Tatsushi Katayama | Adaptive image combination according to image sensing condition |
US6292593B1 (en) * | 1996-09-18 | 2001-09-18 | Sharp Kabushiki Kaisha | Image synthesizing device and method |
US5987164A (en) * | 1997-08-01 | 1999-11-16 | Microsoft Corporation | Block adjustment method and apparatus for construction of image mosaics |
US20030179923A1 (en) * | 1998-09-25 | 2003-09-25 | Yalin Xiong | Aligning rectilinear images in 3D through projective registration and calibration |
US6754379B2 (en) * | 1998-09-25 | 2004-06-22 | Apple Computer, Inc. | Aligning rectilinear images in 3D through projective registration and calibration |
US6930703B1 (en) * | 2000-04-29 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatically capturing a plurality of images during a pan |
US20020163530A1 (en) * | 2001-04-05 | 2002-11-07 | Fujitsu Limited Of Kawasaki, Japan | Image merging apparatus |
US6831643B2 (en) * | 2001-04-16 | 2004-12-14 | Lucent Technologies Inc. | Method and system for reconstructing 3D interactive walkthroughs of real-world environments |
US20050168594A1 (en) * | 2004-02-04 | 2005-08-04 | Larson Brad R. | Digital camera and method for in creating still panoramas and composite photographs |
US7450839B2 (en) * | 2004-08-20 | 2008-11-11 | Samsung Electronics Co., Ltd. | Photographing device and method for panoramic imaging |
US20060050152A1 (en) * | 2004-09-03 | 2006-03-09 | Rai Barinder S | Method for digital image stitching and apparatus for performing the same |
US20060072176A1 (en) * | 2004-09-29 | 2006-04-06 | Silverstein D A | Creating composite images based on image capture device poses corresponding to captured images |
Non-Patent Citations (7)
Title |
---|
Bergen et al. "Hierarchical model-based motion estimation", May 1992, ECCV'92, pages 237-252 * |
Kourogi et al., "Real-time image mosaicing from a video sequence", IEEE, 1999, Pages 133 - 137 * |
Noirfalise et al., "Real-time registration for image mosaicing," in Proc. of British Machine Vision Conference, 2002, Pages 617-625 * |
Sawhney et al., "Robust Video Mosaicing through Topology Inference and Local to Global Alignment", 1998, ECCV '98, Pages 103-119 * |
Sawhney et al., "True Multi-Image Alignment and Its Application to Mosaicing and Lens Distortion Correction", MARCH 1999, IEEE Transactions on Pattern Analysis and Machine Intelligence, VOL. 21, NO. 3, Pages 235-243. * |
Shum et al., "Construction and refinement of panoramic mosaics with global and local alignment", 2000, IEEE, Pages 953-958 * |
Szeliski et al., "Creating Full View Panoramic Image Mosaics and Environment Maps", 1997 * |
Cited By (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090040292A1 (en) * | 2007-08-07 | 2009-02-12 | Sanyo Electric Co., Ltd. | Digital camera |
US8139102B2 (en) * | 2007-08-07 | 2012-03-20 | Sanyo Electric Co., Ltd. | Digital camera |
US20090086021A1 (en) * | 2007-09-27 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Dynamically generating real-time visualizations in industrial automation environment as a function of contect and state information |
US10217282B2 (en) * | 2007-11-02 | 2019-02-26 | Koninklijke Philips N.V. | Automatic movie fly-path calculation |
US20100259542A1 (en) * | 2007-11-02 | 2010-10-14 | Koninklijke Philips Electronics N.V. | Automatic movie fly-path calculation |
US8411133B2 (en) * | 2007-11-02 | 2013-04-02 | Samsung Electronics Co., Ltd. | Mobile terminal and panoramic photographing method for the same |
US20090115840A1 (en) * | 2007-11-02 | 2009-05-07 | Samsung Electronics Co. Ltd. | Mobile terminal and panoramic photographing method for the same |
US9307165B2 (en) | 2008-08-08 | 2016-04-05 | Qualcomm Technologies, Inc. | In-camera panorama image stitching assistance |
US20100033553A1 (en) * | 2008-08-08 | 2010-02-11 | Zoran Corporation | In-camera panorama image stitching assistance |
US9881376B2 (en) * | 2008-08-22 | 2018-01-30 | Adobe Systems Incorporated | Content aware slideshows |
US20140337721A1 (en) * | 2008-08-22 | 2014-11-13 | Adobe Systems Incorporated | Content Aware Slideshows |
US8072504B2 (en) * | 2008-08-27 | 2011-12-06 | Micron Technology, Inc. | Method and system for aiding user alignment for capturing partially overlapping digital images |
US20100053353A1 (en) * | 2008-08-27 | 2010-03-04 | Micron Technology, Inc. | Method and system for aiding user alignment for capturing partially overlapping digital images |
US20100054628A1 (en) * | 2008-08-28 | 2010-03-04 | Zoran Corporation | Robust fast panorama stitching in mobile phones or cameras |
US8554014B2 (en) * | 2008-08-28 | 2013-10-08 | Csr Technology Inc. | Robust fast panorama stitching in mobile phones or cameras |
US8390673B2 (en) * | 2008-12-02 | 2013-03-05 | Samsung Techwin Co., Ltd. | Method of controlling monitoring camera and apparatus for controlling monitoring camera by using the method |
US20100134591A1 (en) * | 2008-12-02 | 2010-06-03 | Samsung Techwin Co., Ltd. | Method of controlling monitoring camera and apparatus for controlling monitoring camera by using the method |
US20100149362A1 (en) * | 2008-12-12 | 2010-06-17 | Keyence Corporation | Imaging Device |
US20100149364A1 (en) * | 2008-12-12 | 2010-06-17 | Keyence Corporation | Imaging Device |
US8451335B2 (en) * | 2008-12-12 | 2013-05-28 | Keyence Corporation | Imaging device |
US8508587B2 (en) | 2008-12-12 | 2013-08-13 | Keyence Corporation | Imaging device |
US20110316970A1 (en) * | 2009-11-12 | 2011-12-29 | Samsung Electronics Co. Ltd. | Method for generating and referencing panoramic image and mobile terminal using the same |
US20110110605A1 (en) * | 2009-11-12 | 2011-05-12 | Samsung Electronics Co. Ltd. | Method for generating and referencing panoramic image and mobile terminal using the same |
US8937676B2 (en) * | 2010-10-28 | 2015-01-20 | Canon Kabushiki Kaisha | Video processing apparatus, imaging apparatus, video processing method, and storage medium |
US20120105702A1 (en) * | 2010-10-28 | 2012-05-03 | Canon Kabushiki Kaisha | Video processing apparatus, imaging apparatus, video processing method, and storage medium |
US20120133746A1 (en) * | 2010-11-29 | 2012-05-31 | DigitalOptics Corporation Europe Limited | Portrait Image Synthesis from Multiple Images Captured on a Handheld Device |
US9118833B2 (en) * | 2010-11-29 | 2015-08-25 | Fotonation Limited | Portrait image synthesis from multiple images captured on a handheld device |
US9456128B2 (en) | 2010-11-29 | 2016-09-27 | Fotonation Limited | Portrait image synthesis from multiple images captured on a handheld device |
US10498956B2 (en) * | 2011-01-31 | 2019-12-03 | Samsung Electronics Co., Ltd. | Photographing apparatus for photographing panoramic image using visual elements on a display, and method thereof |
US11025820B2 (en) | 2011-01-31 | 2021-06-01 | Samsung Electronics Co., Ltd. | Photographing apparatus for photographing panoramic image using visual elements on a display, and method thereof |
AU2016250418B2 (en) * | 2011-01-31 | 2018-11-08 | Samsung Electronics Co., Ltd. | Photographing apparatus for photographing panoramic image and method thereof |
US20160014336A1 (en) * | 2011-01-31 | 2016-01-14 | Samsung Electronics Co., Ltd. | Photographing apparatus for photographing panoramic image and method thereof |
US20120194637A1 (en) * | 2011-01-31 | 2012-08-02 | Samsung Electronics Co., Ltd. | Photographing apparatus for photgraphing panoramic image and method thereof |
US11317022B2 (en) | 2011-01-31 | 2022-04-26 | Samsung Electronics Co., Ltd. | Photographing apparatus for photographing panoramic image using visual elements on a display, and method thereof |
US8947502B2 (en) | 2011-04-06 | 2015-02-03 | Qualcomm Technologies, Inc. | In camera implementation of selecting and stitching frames for panoramic imagery |
US9538080B2 (en) | 2011-06-20 | 2017-01-03 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
US9172872B2 (en) | 2011-06-20 | 2015-10-27 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
US9894274B2 (en) | 2011-06-20 | 2018-02-13 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
US8922620B2 (en) * | 2011-06-20 | 2014-12-30 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
US20120320149A1 (en) * | 2011-06-20 | 2012-12-20 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
US10798299B2 (en) | 2011-06-20 | 2020-10-06 | Samsung Electronics Co., Ltd. | Digital photographing apparatus, methods of controlling the same, and computer-readable storage medium to increase success rates in panoramic photography |
US20160205320A1 (en) * | 2011-08-02 | 2016-07-14 | Sony Corporation | Image processing device and associated methodology for generating panoramic images |
US10237474B2 (en) * | 2011-08-02 | 2019-03-19 | Sony Corporation | Image processing device and associated methodology for generating panoramic images |
US11575830B2 (en) | 2011-08-02 | 2023-02-07 | Sony Group Corporation | Image processing device and associated methodology for generating panoramic images |
US11917299B2 (en) | 2011-08-02 | 2024-02-27 | Sony Group Corporation | Image processing device and associated methodology for generating panoramic images |
US11025819B2 (en) | 2011-08-02 | 2021-06-01 | Sony Corporation | Image processing device and associated methodology for generating panoramic images |
CN102938145A (en) * | 2012-10-23 | 2013-02-20 | 深圳大学 | Consistency regulating method and system of splicing panoramic picture |
US10368662B2 (en) | 2013-05-05 | 2019-08-06 | Trax Technology Solutions Pte Ltd. | System and method of monitoring retail units |
US10122915B2 (en) | 2014-01-09 | 2018-11-06 | Trax Technology Solutions Pte Ltd. | Method and device for panoramic image processing |
US10387996B2 (en) | 2014-02-02 | 2019-08-20 | Trax Technology Solutions Pte Ltd. | System and method for panoramic image processing |
US10402777B2 (en) | 2014-06-18 | 2019-09-03 | Trax Technology Solutions Pte Ltd. | Method and a system for object recognition |
CN104463778A (en) * | 2014-11-06 | 2015-03-25 | 北京控制工程研究所 | Panoramagram generation method |
US10339627B2 (en) * | 2016-10-10 | 2019-07-02 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US10817978B2 (en) * | 2016-10-10 | 2020-10-27 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US12205236B2 (en) | 2016-10-10 | 2025-01-21 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US20190385273A1 (en) * | 2016-10-10 | 2019-12-19 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US11983839B2 (en) | 2016-10-10 | 2024-05-14 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US11756152B2 (en) | 2016-10-10 | 2023-09-12 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US11475534B2 (en) | 2016-10-10 | 2022-10-18 | Gopro, Inc. | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image |
US20180130243A1 (en) * | 2016-11-08 | 2018-05-10 | Samsung Electronics Co., Ltd. | Display apparatus and control method thereof |
US10802578B2 (en) * | 2016-12-22 | 2020-10-13 | Samsung Electronics Co., Ltd. | Method for displaying image, storage medium, and electronic device |
KR101884565B1 (en) * | 2017-04-20 | 2018-08-02 | 주식회사 이볼케이노 | Apparatus and method of converting 2d images of a object into 3d modeling data of the object |
CN111566704A (en) * | 2017-09-26 | 2020-08-21 | 交互数字Ce专利控股公司 | Method and network equipment for tiling a sphere representing spherical multimedia content |
WO2019205827A1 (en) * | 2018-04-28 | 2019-10-31 | 中兴通讯股份有限公司 | Display screen calibration method and device and computer readable storage medium |
US11398009B2 (en) | 2019-02-22 | 2022-07-26 | Fujitsu Limited | Method and apparatus for performing object detection based on images captured by a fisheye camera and electronic device |
GB2616188A (en) * | 2020-11-18 | 2023-08-30 | Shenzhen Tcl New Tech Co Ltd | Method and apparatus for creating panoramic picture on basis of large screen, and intelligent terminal and medium |
WO2022105584A1 (en) * | 2020-11-18 | 2022-05-27 | 深圳Tcl新技术有限公司 | Method and apparatus for creating panoramic picture on basis of large screen, and intelligent terminal and medium |
US20220414825A1 (en) * | 2021-06-29 | 2022-12-29 | V5 Technologies Co., Ltd. | Image stitching method |
Also Published As
Publication number | Publication date |
---|---|
JP2008086017A (en) | 2008-04-10 |
CN101155267B (en) | 2013-06-12 |
EP1909226B1 (en) | 2012-06-06 |
US8768098B2 (en) | 2014-07-01 |
EP1909226A3 (en) | 2008-06-11 |
CN101155267A (en) | 2008-04-02 |
JP5116416B2 (en) | 2013-01-09 |
EP1909226A2 (en) | 2008-04-09 |
KR100790890B1 (en) | 2008-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8768098B2 (en) | Apparatus, method, and medium for generating panoramic image using a series of images captured in various directions | |
US12205236B2 (en) | Apparatus and methods for the optimal stitch zone calculation of a generated projection of a spherical image | |
US8818101B1 (en) | Apparatus and method for feature matching in distorted images | |
US7583858B2 (en) | Image processing based on direction of gravity | |
US7409105B2 (en) | Panoramic maker engine for a low profile system | |
US8000561B2 (en) | Apparatus, method, and medium for generating panoramic image using a series of images captured in various directions | |
CN105144687B (en) | Image processing apparatus, image processing method and computer-readable medium | |
US10593014B2 (en) | Image processing apparatus, image processing system, image capturing system, image processing method | |
US9754179B2 (en) | Image generating device, electronic device, image generating method and recording medium | |
US7686454B2 (en) | Image combining system, image combining method, and program | |
EP2477152B1 (en) | Image processing device, image processing method, image processing program, and recording medium | |
US20200372604A1 (en) | Equatorial stitching of hemispherical images in a spherical image capture system | |
US20060078215A1 (en) | Image processing based on direction of gravity | |
WO2022242395A1 (en) | Image processing method and apparatus, electronic device and computer-readable storage medium | |
US10855916B2 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
US20200027222A1 (en) | Panoramic photographing method for unmanned aerial vehicle and unmanned aerial vehicle using the same | |
CN109362234A (en) | System and method for obtaining Spherical Panorama Image | |
CN113240615B (en) | Image processing method, image processing device, electronic equipment and computer readable storage medium | |
CN113450253B (en) | Image processing method, image processing device, electronic equipment and computer readable storage medium | |
US20190289206A1 (en) | Image processing apparatus, image capturing system, image processing method, and recording medium | |
CN103413339B (en) | 1000000000 pixel high dynamic range images are rebuild and the method for display | |
US20090059018A1 (en) | Navigation assisted mosaic photography | |
CN113450254A (en) | Image processing method, image processing device, electronic equipment and computer readable storage medium | |
JP2022507714A (en) | Surveying sampling point planning method, equipment, control terminal and storage medium | |
JP3660108B2 (en) | Image storage method and machine-readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, HUI;KIM, KEUN-HO;KIM, DO-KYOON;REEL/FRAME:019945/0120 Effective date: 20070920 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |