US20160295111A1 - Image processing apparatus that combines images - Google Patents
Image processing apparatus that combines images Download PDFInfo
- Publication number
- US20160295111A1 US20160295111A1 US15/181,800 US201615181800A US2016295111A1 US 20160295111 A1 US20160295111 A1 US 20160295111A1 US 201615181800 A US201615181800 A US 201615181800A US 2016295111 A1 US2016295111 A1 US 2016295111A1
- Authority
- US
- United States
- Prior art keywords
- image
- unit
- images
- areas
- characteristic points
- 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.)
- Abandoned
Links
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 239000013598 vector Substances 0.000 claims description 71
- 230000006870 function Effects 0.000 claims description 17
- 238000003672 processing method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000881 depressing effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H04N5/23238—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/40—Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
- H04N25/41—Extracting pixel data from a plurality of image sensors simultaneously picking up an image, e.g. for increasing the field of view by combining the outputs of a plurality of sensors
-
- H04N5/3415—
Definitions
- the present invention relates to an image processing apparatus, an image processing method, and a recording medium, in which images are combined.
- the limit of the image capturing range depends on the hardware specifications provided by the device main body, such as the focal distance of the lens and size of the imaging elements. Accordingly, techniques are conventionally known, such as a panoramic image capturing technique for obtaining a wide-angle image that surpasses hardware specifications.
- a user moves the digital camera to rotate in the horizontal direction about the user's body, while maintaining the digital camera substantially fixed in the vertical direction, while keeping the shutter switch depressed.
- the digital camera then executes image capture processing a plurality of times during this period, and transversely (horizontally) combines data of a plurality of images (hereinafter referred to as “captured images”) obtained as a result of the plurality of times of the image capture processing, thereby generating data of a panoramic image.
- Japanese Unexamined Patent Application, Publication No. H11-282100 discloses a method of generating data of a panoramic image by detecting a characteristic point in a captured image in each of a plurality of times of the image capture processing, and synthesizing the data of two adjacent captured images such that the characteristic points in the two adjacent captured images coincide with each other.
- An image processing apparatus is characterized by including: an acquisition unit that acquires a first image and a second image consecutively captured by an image capturing unit, while the image capturing unit is moved; a division unit that divides the first image acquired by the acquisition unit into a plurality of areas; a characteristic point detection unit that detects first characteristic points in the areas respectively and second characteristic points in the second image, the second characteristic points corresponding to the first characteristic points respectively; a vector calculation unit that calculates vectors between the first characteristic points and the corresponding second characteristic points; an area selection unit that selects a particular area from the areas, based on the vectors calculated by the vector calculation unit; and a combining unit that combines the images, based on a vector included in the particular area selected by the area selection unit.
- An image processing method is characterized by including: an acquiring step of acquiring a first image and a second image consecutively captured by an image capturing unit, while the image capturing unit is moved; a dividing step of dividing the first image acquired in the acquisition step into a plurality of areas; a characteristic point detecting step of detecting first characteristic points in the areas respectively and second characteristic points in the second image, the second characteristic points corresponding to the first characteristic points respectively; a vector calculating step of calculating vectors between the first characteristic points and the corresponding second characteristic points; an area selecting step of selecting a particular area from the areas, based on the vectors calculated in the vector calculating step; and a combining step of combining the images, based on a vector included in the particular area selected in the area selecting step.
- a recording medium is a storage medium having stored therein a computer readable program, the program causing a computer to function as: an acquisition unit that acquires a first image and a second image consecutively captured by an image capturing unit, while the image capturing unit is moved; a division unit that divides the first image acquired by the acquisition unit into a plurality of areas; a characteristic point detection unit that detects first characteristic points in the areas respectively and second characteristic points in the second image, the second characteristic points corresponding to the first characteristic points respectively; a vector calculation unit that calculates vectors between the first characteristic points and the corresponding second characteristic points; an area selection unit that selects a particular area from the areas, based on the vectors calculated by the vector calculation unit; and a combining unit that combines the images, based on a vector included in the particular area selected by the area selection unit.
- FIG. 1 is a block diagram showing a hardware configuration of an image processing apparatus according to an embodiment of the present invention
- FIG. 2 is a functional block diagram showing a functional configuration for executing panoramic image generation processing, in the functional configuration of the image processing apparatus shown in FIG. 1 ;
- FIGS. 3A, 3B and 3C are diagram for illustrating a function of an adjustment unit of the image processing unit
- FIGS. 4A, 4B and 4C are diagram for illustrating functions of the adjustment unit and a panoramic image generation unit of an image processing unit.
- FIG. 5 is flowchart for illustrating a flow of the panorama image generation processing that is executed by the image processing apparatus having the functional configuration shown in FIG. 2 .
- FIG. 1 is a block diagram showing a hardware configuration of an image processing apparatus 1 according to an embodiment of the present invention.
- the image processing apparatus 1 is configured as, for example, a digital camera.
- the image processing apparatus 1 includes a CPU (Central Processing Unit) 11 , ROM (Read Only Memory) 12 , RAM (Random Access Memory) 13 , an image processing unit 14 , a bus 15 , an input/output interface 16 , an image capturing unit 17 , an input unit 18 , an output unit 19 , a storage unit 20 , a communication unit 21 , and a drive 22 .
- CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- the CPU 11 executes a variety of processing in accordance with programs that are recorded in the ROM 12 , or programs that are loaded from the storage unit 20 to the RAM 13 .
- the RAM 13 also stores data and the like necessary for the CPU 11 to execute the variety of processing, as appropriate.
- the image processing unit 14 is configured by a DSP (Digital Signal Processor), VRAM (Video Random Access Memory), etc., and collaborates with the CPU 11 to execute the variety of image processing on data of an image.
- DSP Digital Signal Processor
- VRAM Video Random Access Memory
- the CPU 11 , the ROM 12 and the RAM 13 are mutually connected via the bus 15 .
- the input/output interface 16 is also connected to the bus 15 .
- the image capturing unit 17 , the input unit 18 , the output unit 19 , the storage unit 20 , the communication unit 21 and the drive 22 are connected to the input/output interface 16 .
- the image capturing unit 17 includes an optical lens unit and an image sensor (not shown).
- the optical lens unit is configured by a lens such as a focus lens and a zoom lens for condensing light.
- the focus lens forms an image of a subject on a light receiving surface of the image sensor.
- the zoom lens freely changes its focal length within a certain range.
- the optical lens unit includes peripheral circuits, as necessary, for adjusting configuration parameters such as focal point, exposure, white balance, etc.
- the image sensor is configured by photoelectric conversion elements, AFE (Analog Front End), etc.
- the photoelectric conversion elements are configured by CMOS (Complementary Metal Oxide Semiconductor)-type photoelectric conversion elements, etc.
- a subject image enters the photoelectric conversion elements through the optical lens unit.
- the photoelectric conversion elements the subject image undergoes photoelectric conversion (i.e. is captured), image signals are accumulated for a certain period of time, and the accumulated image signals are sequentially supplied as analog signals to the AFE.
- the AFE executes a variety of signal processing such as A/D (Analog/Digital) conversion processing on the analog image signals.
- the variety of signal processing generates digital signals to be output as output signals of the image capturing unit 17 .
- Such an output signal of the image capturing unit 17 is hereinafter referred to as “data of a captured image”.
- the data of the captured image is supplied to the CPU 11 , the image processing unit 14 , etc. as appropriate.
- the input unit 18 is configured by various buttons such as a shutter switch, and inputs a variety of information in accordance with instruction operations by a user.
- the output unit 19 is configured by a display, a speaker, etc., and outputs images and sound.
- the storage unit 20 is configured by a hard disk, DRAM (Dynamic Random Access Memory) or the like, and stores data of various images.
- DRAM Dynamic Random Access Memory
- the communication unit 21 controls communication with other devices (not shown) via a network including the Internet.
- a removable medium 31 which is composed of a magnetic disk, an optical disk, a magneto-optical disk, semiconductor memory or the like, is mounted to the drive 22 , as appropriate. Programs that are read via the drive 22 from the removable medium 31 are installed in the storage unit 20 , as necessary. Similarly to the storage unit 20 , the removable medium 31 can also store a variety of data such as image data stored in the storage unit 20 .
- FIG. 2 is a functional block diagram showing a functional configuration for executing panoramic image generation processing, in the functional configuration of the image processing apparatus 1 as described above.
- the “panoramic image generation processing” refers to processing for generating data of a panoramic image by using data of a plurality of captured images that are consecutively acquired.
- the “panoramic image” is an example of a wide-angle image that is elongated laterally or vertically as compared to an image with an aspect ratio of 2:3 captured by using a 35-millimeter silver film, or an image with an aspect ratio of 3:4 captured by using a digital camera.
- the CPU 11 functions as an image capturing control unit 51 and a storage control unit 52 .
- the storage unit 20 includes an image storage unit 53 as an area for storing data of various images such as data of a captured image and data of a panoramic image.
- the image capturing control unit 51 controls various image capturing operations of the image capturing unit 17 .
- the image processing apparatus 1 starts the panoramic image generation processing.
- the image capturing control unit 51 causes the image capturing unit 17 to start consecutive image capturing operations, and to capture an image each time a certain period of time elapses, or each time the image processing apparatus 1 moves a predetermined amount.
- the image capturing control unit 51 terminates the consecutive image capturing operations of the image capturing unit 17 , and terminates the panoramic image generation processing.
- the storage control unit 52 controls the image storage unit 53 to store data of various images, such as data of the panoramic image that is generated as a result of the panoramic image generation processing.
- the image processing unit 14 functions as an image acquisition unit 54 , an adjustment unit 55 , and a panoramic image generation unit 56 .
- the image acquisition unit 54 sequentially acquires data of a plurality of captured images that are output as a result of the consecutive image capturing operations of the image capturing unit 17 , i.e. data of a plurality of consecutively captured images.
- the adjustment unit 55 adjusts adjacent captured images among the plurality of captured images.
- the adjacent captured images refer to the n th and n+1 th captured images (n is an integer value that is 1 or larger).
- the adjustment unit 55 of the present embodiment is configured to include a characteristic point detection unit 551 , a characteristic point trace unit 552 , a similarity calculation unit 553 , and a position adjustment unit 554 .
- the characteristic point detection unit 551 functions as characteristic point detecting means
- the characteristic point trace unit 442 functions as vector calculating means
- the similarity calculation unit 553 and the position adjustment unit 554 function as area selecting means.
- the characteristic point detection unit 551 detects a plurality of characteristic points in the captured image. In other words, each time the image acquisition unit 54 acquires data of a captured image, the characteristic point detection unit 551 detects a plurality of characteristic points in the captured image thus acquired. The characteristic point detection unit 551 associates the detected characteristic points with the data of the captured image that is acquired by the image acquisition unit 54 , and stores them into the image storage unit 53 .
- the characteristic point detection unit 551 divides the captured image into a plurality of continuous areas, and detects a characteristic point in each of the plurality of areas.
- the areas obtained by dividing the captured image can have an arbitrary shape, and for example, it is possible to employ rectangular areas.
- the plurality of areas are arranged continuously in a direction of movement of the digital camera (hereinafter referred to as “panoramic image capturing direction”) and in a direction substantially orthogonal to the direction of movement.
- the substantially orthogonal direction is used because the panoramic image capturing direction may not be linear in some cases due to camera shake or the like, and, in a simple description, the substantially orthogonal direction is a direction perpendicular to the panoramic image capturing direction being the horizontal direction.
- a conventionally well-known method can be employed as a method of detecting a characteristic point in each of the plurality of the areas.
- SIFT Scale Invariant Feature Transform
- Harris's corner detection method may be used, and any other method may be used.
- the characteristic point trace unit 552 calculates a so-called motion vector between the corresponding characteristic points, i.e. a vector that indicates how the characteristic point has moved between the adjacent captured images.
- the characteristic point trace unit 552 identifies, from the characteristic points in the nilth captured image thus detected, a point corresponding to a characteristic point in the n th captured image stored in the image storage unit 53 , and calculates a vector from the characteristic point in the n th captured image to the corresponding point in the n+1 th captured image, as a vector between the corresponding characteristic points.
- the characteristic point trace unit 552 associates the calculated vector with the data of the n th captured image, and stores them into the image storage unit 53 .
- a vector indicates a direction and magnitude (distance), through which a characteristic point has moved.
- the characteristic point trace unit 552 A can identify a corresponding point by using, for example, a matching technique that focuses on pixels including each characteristic point among the plurality of detected characteristic points.
- the similarity calculation unit 553 calculates similarity of vectors in each area of the image. Since a moving object moves irrespective of the movement of the digital camera, the similarity calculation unit 553 calculates similarity of the vectors, thereby identifying the position of the moving object in an n th captured image. The adjacent captured images are adjusted by avoiding the position of the moving object that is identified in this manner, thereby making it possible to prevent generation of data of a panoramic image that gives an unnatural impression.
- the data of the adjacent captured images is typically adjusted linearly along a direction substantially orthogonal to the panoramic image capturing direction. Accordingly, among the plurality of areas, the similarity calculation unit 553 calculates similarity of vectors in each of a group of areas arranged adjacently along the direction substantially orthogonal to the panoramic image capturing direction. Since edges (top edge, bottom edge, leftmost edge, and rightmost edge) of a captured image may be corrected for distortion of a lens and the like of a digital camera, it is preferable for the similarity calculation unit 553 to calculate similarity of vectors in only areas near the center other than the edges of the captured image.
- the size of the areas near the center can be arbitrarily set, and for example, may be set based on the lens performance, or may be set based on a movement distance between adjacent captured images, such as moving speed of the digital camera and image capturing timing (the size of the areas near the center is larger as the movement is larger, and the size of the areas near the center is smaller as the movement is smaller).
- the areas near the center may be used when similarity of vectors is calculated, and may be used when a captured image is divided into areas for detecting characteristic points.
- Similarity of vectors means similarity of direction and magnitude through which the characteristic point has moved, and the similarity is calculated by an SAD (Sum of Absolute Difference) calculation in the present embodiment.
- SAD Sud of Absolute Difference
- the similarity calculation unit 553 calculates similarity of vectors by calculating and adding differences of vectors adjacent to one another in a group of areas. In such SAD calculation, the vectors in a group of areas are more similar as the calculation result is smaller, and the vectors in a group of areas are less similar as the calculation result is larger. At this time, in a case in which the plurality of characteristic points in a group of areas include a characteristic point whose corresponding point cannot be identified, it is preferable for the similarity calculation unit 553 to determine that the vectors in a group of areas are not similar.
- Similarity is not limited to SAD calculation, and similarity may be calculated by an arbitrary method, or may be calculated by a well-known method such as SSD (Sum of Squared intensity Difference) or standard deviation, for example.
- the position adjustment unit 554 adjusts adjacent captured images, based on the vectors between the characteristic points calculated by the characteristic point trace unit 552 . In other words, the position adjustment unit 554 adjusts adjacent captured images, by avoiding the position of a characteristic point indicating a vector that is abnormal in comparison with vectors of the other characteristic points.
- the position adjustment unit 554 adjusts adjacent captured images, based on similarity of vectors in a group of areas, which is calculated by the similarity calculation unit 553 .
- the position adjustment unit 554 may adjust images at a position of a group of areas in which vectors are similar by at least a predetermined value, or may adjust images at a position of a group of areas in which vectors are the most similar.
- the adjacent captured images can be adjusted at a position by avoiding a moving object that moves irrespective of the movement of the digital camera.
- the panoramic image generation unit 56 combines the data of the captured images adjusted by the adjustment unit 55 , and generates data of a panoramic image.
- the panoramic image generation unit 56 stores the data of the panoramic image thus generated into the image storage unit 53 .
- FIG. 3 is a diagram for illustrating a function of the adjustment unit 55 of the image processing unit 14 ; and FIG. 4 is a diagram for illustrating functions of the adjustment unit 55 and the panoramic image generation unit 56 of the image processing unit 14 .
- the panoramic image capturing direction runs from left to right in the drawings.
- the image acquisition unit 54 sequentially acquires data of consecutively captured images.
- data of captured images 70 and 80 are acquired.
- the captured image 70 is the n th captured image, whose subjects are a moving object 71 showing a person running in a direction from the left to the right in the drawing, and a static field 73 showing background.
- the captured image 80 is the n+1 th captured image, whose subjects are a moving object 81 and a static field 83 .
- the characteristic point detection unit 551 detects characteristic points in each area of the sequentially acquired captured images, and the characteristic point trace unit 552 identifies corresponding points in adjacent captured images.
- a plurality of characteristic points including A, B, C, D, E, F, G, H and I are detected in the n th captured image 70
- a plurality of corresponding points A′, B′, C′, D′, E′, F′, G′, H′ and I′, which correspond to the characteristic points A to I, respectively, are detected in the n+1 th captured image 80 .
- the characteristic points A to C, the characteristic points D to F, and the characteristic points G to I are each in a group of areas that are adjacent in the direction substantially orthogonal to the panoramic image capturing direction.
- the characteristic points A to G and the corresponding points A′ to G′ are detected from the static fields 73 and 83 , and the characteristic points H and I and the corresponding point H′ and I′ are detected from the moving objects 71 and 82 .
- the characteristic point trace unit 552 when the characteristic point trace unit 552 detects the characteristic points and the corresponding points in the adjacent captured images, the characteristic point trace unit 552 calculates vectors from the characteristic points in the n th captured image 70 to the corresponding points in the n+1 th captured image 80 , respectively. In other words, as shown in FIG. 3C , for example, the characteristic point trace unit 552 calculates a vector from the characteristic point A to the corresponding point A′.
- the similarity calculation unit 553 calculates similarity of the vectors in each of a group of areas arranged adjacently along the direction substantially orthogonal to the panoramic image capturing direction.
- the calculated vectors from the characteristic points A to G to the corresponding point A′ to G′, respectively are substantially coincident with the movement of the digital camera in the panoramic image capturing direction; whereas the calculated vectors from the characteristic points H and I to the corresponding points H′ and I′, respectively, are not coincident with the movement of the digital camera.
- the position adjustment unit 554 can determine that the vectors are similar in a group of areas including the characteristic points A to C and in a group of areas including the characteristic points D to F, and can determine that the vectors are not similar in a group of areas including the characteristic points G to I.
- the position adjustment unit 554 adjusts adjacent captured images, based on the result of determining similarity of the vectors.
- the position adjustment unit 554 adjusts the adjacent captured images at positions of the characteristic points A to C.
- the position adjustment unit 554 adjusts the captured images 70 and 80 , such that the characteristic point A coincides with the corresponding point A′, the characteristic point B coincides with the corresponding point B′, and the characteristic point C coincides with the corresponding point C′.
- the captured images 70 and 80 are adjusted at the positions that do not include the moving object 71 that was included in the captured image 70 .
- the panoramic image generation unit 56 combines data of the captured images 70 and 80 based on a result of the adjustment, and generates data of a combined image 90 .
- the image processing apparatus 1 of the present embodiment adjusts the captured images 70 and 80 by avoiding the moving objects 71 and 81 , it is possible to prevent generation of data of a combined image in which a part of the moving objects 71 and 81 is cut, giving an unnatural impression.
- FIG. 4C it is possible to generate data of the combined image 90 including the moving object 81 just as included in the captured image 80 .
- the moving objects included in the captured images can be displayed in various modes. In other words, it is possible to generate data of a panoramic image that does not include a moving object at all; it is possible to generate data of a panoramic image that includes only a singly moving object; and it is possible to generate data of a panoramic image that shows how the moving object continuously moves.
- a moving object can be displayed in such modes by considering a panoramic image capturing direction and the position of the moving object in a captured image, as well as similarity of vectors between corresponding characteristic points.
- the moving object included in the n th captured image can be removed by adjusting images at a position posterior to the moving object in the panoramic image capturing direction in the n th captured image.
- the moving object included in the n th captured image can be displayed by adjusting images at a position anterior to the moving object in the panoramic image capturing direction in the n th captured image.
- FIG. 5 is flowchart showing a flow of the panorama image generation processing that is executed by the image processing apparatus 1 having the functional configuration shown in FIG. 2 .
- the panoramic image generation processing is triggered by the user who operates the input unit 18 to initiate the panoramic image generation processing, i.e. by an operation of depressing the shutter button, etc.
- Step S 1 the image capturing control unit 51 controls the image capturing unit 17 to consecutively capture images.
- Step S 2 each time the image capturing unit 17 captures an image, the image acquisition unit 54 acquires data of the captured image. At this time, the image acquisition unit 54 temporarily stores the data of the captured image thus acquired into the image storage unit 53 .
- Step S 3 the characteristic point detection unit 551 detects a plurality of characteristic points in the data of the captured image that is acquired in the processing in Step S 2 , and temporarily stores the characteristic points into the image storage unit 53 .
- Step S 4 the characteristic point trace unit 552 determines whether the captured image processed in Step S 3 is the second or subsequent image. In a case in which the captured image is the second or subsequent image, the determination in Step S 4 is YES, and the processing advances to Step S 5 . In a case in which the captured image is not the second or subsequent image, i.e. the captured image is the first image, the determination in Step S 4 is NO, and the processing returns to Step S 1 .
- Step S 5 the characteristic point trace unit 552 calculates vectors between the corresponding characteristic points in the adjacent captured images, by comparing the characteristic points in the adjacent captured images stored in the storage unit 53 .
- Step S 6 the similarity calculation unit 553 calculates similarity of the vectors between the corresponding characteristic points, which were calculated in the processing in Step S 5 . More specifically, the similarity calculation unit 553 calculates similarity of the vectors in a group of areas arranged adjacently along the direction orthogonal to the panoramic image capturing direction.
- Step S 7 the position adjustment unit 554 adjusts the adjacent captured images, based on the similarity of the vectors calculated in Step S 6 . For example, the position adjustment unit 554 selects a group of areas in which vectors are the most similar, and adjusts the adjacent images at the positions of the areas.
- Step S 8 the panoramic image generation unit 56 combines the data of the captured images adjusted in the processing in Step S 7 , and generates data of a panoramic image.
- Step S 9 the CPU 11 determines whether the panoramic image generation processing should be terminated. For example, in a case in which the digital camera has moved more than a predetermined amount, or in a case in which a predetermined terminating operation by the user is accepted, the CPU 11 determines that the panoramic image generation processing should be terminated. In a case in which the determination in Step S 9 is YES, the storage control unit 52 stores the data of the panoramic image generated so far into the image storage unit 53 , and the panorama image generation processing is terminated. In a case in which the determination in Step S 9 is NO, the processing advances to Step S 10 .
- Step S 10 the CPU 11 or the image processing unit 14 determines whether an error has occurred. For example, in a case in which the digital camera has moved more than a predetermined amount in the direction orthogonal to the panoramic image capturing direction (i.e. in a case in which the camera shake is large), or in a case in which a sufficient number of characteristic points cannot be detected in the captured image, the CPU 11 or the image processing unit 14 determines that an error has occurred. In a case in which the determination in Step S 10 is YES, the panoramic image generation processing is terminated; and in a case in which the determination in Step S 10 is NO, the processing returns to Step S 1 .
- the image processing apparatus 1 as thus constituted includes: the adjustment unit 55 that adjusts adjacent captured images, as the processing on data of captured images supplied from the image capturing unit 17 ; and the panoramic image generation unit 56 that generates data of a panoramic image by combining the data of the adjacent captured images, based on a result of adjustment by the adjustment unit 55 .
- the adjustment unit 55 includes: the characteristic point trace unit 552 that calculates vectors between a plurality of corresponding characteristic points in the adjacent captured images; and the position adjustment unit 554 that adjusts the adjacent captured images, based on the vectors between the corresponding characteristic points thus calculated.
- adjacent captured images can be adjusted by avoiding the position of a moving object that moves irrespective of the movement of the digital camera, i.e. by avoiding the position of a characteristic point whose vector is abnormal.
- a panoramic image obtained by combining the data it is possible to prevent a part of a moving object from being cut, and it is therefore possible to generate data of a panoramic image that does not give an unnatural impression.
- the image processing apparatus 1 can display the moving object in various modes in a panoramic image that is obtained by combining the data. In other words, it is possible to generate data of a panoramic image that does not include a moving object at all; it is possible to generate data of a panoramic image that includes only a singly moving object; and it is possible to generate data of a panoramic image that shows how the moving object continuously moves.
- the data of the adjacent captured images is typically adjusted along a direction substantially orthogonal to the panoramic image capturing direction. Therefore, in order to identify a position that avoids a moving object, it is preferable to use similarity of vectors that are adjacent in a direction substantially orthogonal to the panoramic image capturing direction. As a result, adjacent captured images can be adjusted linearly along a direction substantially orthogonal to the panoramic image capturing direction, and complicated calculation such as calculation for adjustment along a wave line is not required.
- images may be adjusted at a position of a group of areas in which vectors are at least similar at a predetermined level, or images may be adjusted at a position of a group of areas in which vectors are the most similar.
- images can be arbitrarily adjusted in accordance with a position of a moving object in a captured image, and modes of displaying the moving object can be arbitrarily set.
- images are adjusted at a position of a group of areas in which vectors are the most similar, the data of the adjacent captured images can be combined in the most natural manner.
- edges of a captured image may be generally corrected for distortion of a lens and the like, it is preferable to specify a group of areas near the center excluding the edges of the captured image. As a result, vectors between corresponding characteristic points can be precisely calculated regardless of the distortion of the lens, and data of adjacent captured images can be appropriately combined.
- the image processing apparatus 1 has been described above, but the present invention is not limited to the aforementioned embodiment, and modifications, improvements, etc. within a scope that can achieve the object of the present invention are also included in the present invention.
- adjacent captured images are adjusted or combined each time data of a captured image is acquired.
- images may be adjusted and combined all together after acquiring all the data of captured images for generating data of a panoramic image.
- a digital camera has been described as an example of the image processing apparatus 1 to which the present invention is applied, but the present invention is not particularly limited thereto.
- the present invention can be applied to electronic devices in general, which have a panoramic image generation function. More specifically, for example, the present invention can be applied to a notebook personal computer, a printer, a television, a video camera, a portable navigation device, a cell phone device, a portable game device, etc.
- the processing sequence described above can be executed by hardware, and can also be executed by software.
- the hardware configuration shown in FIG. 2 is merely an illustrative example, and the present invention is not particularly limited thereto. More specifically, the types of functional blocks employed to realize the aforementioned functions are not particularly limited to the example in FIG. 2 , as long as the image processing apparatus 1 includes the functions enabling the aforementioned processing sequence to be executed as its entirety.
- a single functional block may be configured by a single piece of hardware, a single installation of software, or any combination thereof.
- a program configuring the software is installed from a network or a storage medium into a computer or the like.
- the computer may be a computer embedded in dedicated hardware.
- the computer may be a computer capable of executing various functions by installing various programs, e.g., a general-purpose personal computer.
- the storage medium containing such a program can not only be configured by the removable medium 31 shown in FIG. 1 distributed separately from the device main body for supplying the program to a user, but can also be configured by a storage medium or the like supplied to the user in a state incorporated in the device main body in advance.
- the removable medium 31 is composed of, for example, a magnetic disk (including a floppy disk), an optical disk, a magnetic optical disk, or the like.
- the optical disk is composed of, for example, a CD-ROM (Compact Disk-Read Only Memory), a DVD (Digital Versatile Disk), or the like.
- the magnetic optical disk is composed of an MD (Mini-Disk) or the like.
- the storage medium supplied to the user in a state incorporated in the device main body in advance may include, for example, the ROM 12 shown in FIG. 1 , a hard disk included in the storage unit 20 shown in FIG. 1 or the like, in which the program is recorded.
- the steps describing the program recorded in the storage medium include not only the processing executed in a time series following this order, but also processing executed in parallel or individually, which is not necessarily executed in a time series.
- terminologies describing a system refer to a whole apparatus configured with a plurality of devices, a plurality of means and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
An image processing apparatus including an acquisition unit that acquires image consecutively captured by an image capturing unit, while the image capturing unit is moved; a characteristic point detection unit that detects characteristic points in a plurality of areas on a region of the images having a size based on particular information, respectively; an area selection unit that selects a particular area based on the characteristic points; and a combining unit that combines the images, based on the particular area.
Description
- This application is a Divisional application of U.S. Ser. No. 13/791,699, filed on Mar. 8, 2013, which is based on and claims the benefit of priority from Japanese Patent Application No. 2012-054002, filed on Mar. 12, 2012, the entire contents of both of which are incorporated herein by reference.
- 1. Field of the Invention
- The present invention relates to an image processing apparatus, an image processing method, and a recording medium, in which images are combined.
- 2. Related Art
- In digital cameras, portable telephones with an image capturing function, and the like, the limit of the image capturing range depends on the hardware specifications provided by the device main body, such as the focal distance of the lens and size of the imaging elements. Accordingly, techniques are conventionally known, such as a panoramic image capturing technique for obtaining a wide-angle image that surpasses hardware specifications.
- In order to realize the panoramic image capturing, for example, a user moves the digital camera to rotate in the horizontal direction about the user's body, while maintaining the digital camera substantially fixed in the vertical direction, while keeping the shutter switch depressed. The digital camera then executes image capture processing a plurality of times during this period, and transversely (horizontally) combines data of a plurality of images (hereinafter referred to as “captured images”) obtained as a result of the plurality of times of the image capture processing, thereby generating data of a panoramic image.
- As an artifice for the panoramic image capturing, for example, Japanese Unexamined Patent Application, Publication No. H11-282100 discloses a method of generating data of a panoramic image by detecting a characteristic point in a captured image in each of a plurality of times of the image capture processing, and synthesizing the data of two adjacent captured images such that the characteristic points in the two adjacent captured images coincide with each other.
- An image processing apparatus according to one aspect of the present invention is characterized by including: an acquisition unit that acquires a first image and a second image consecutively captured by an image capturing unit, while the image capturing unit is moved; a division unit that divides the first image acquired by the acquisition unit into a plurality of areas; a characteristic point detection unit that detects first characteristic points in the areas respectively and second characteristic points in the second image, the second characteristic points corresponding to the first characteristic points respectively; a vector calculation unit that calculates vectors between the first characteristic points and the corresponding second characteristic points; an area selection unit that selects a particular area from the areas, based on the vectors calculated by the vector calculation unit; and a combining unit that combines the images, based on a vector included in the particular area selected by the area selection unit.
- An image processing method according to one aspect of the present invention is characterized by including: an acquiring step of acquiring a first image and a second image consecutively captured by an image capturing unit, while the image capturing unit is moved; a dividing step of dividing the first image acquired in the acquisition step into a plurality of areas; a characteristic point detecting step of detecting first characteristic points in the areas respectively and second characteristic points in the second image, the second characteristic points corresponding to the first characteristic points respectively; a vector calculating step of calculating vectors between the first characteristic points and the corresponding second characteristic points; an area selecting step of selecting a particular area from the areas, based on the vectors calculated in the vector calculating step; and a combining step of combining the images, based on a vector included in the particular area selected in the area selecting step.
- A recording medium according to one aspect of the present invention is a storage medium having stored therein a computer readable program, the program causing a computer to function as: an acquisition unit that acquires a first image and a second image consecutively captured by an image capturing unit, while the image capturing unit is moved; a division unit that divides the first image acquired by the acquisition unit into a plurality of areas; a characteristic point detection unit that detects first characteristic points in the areas respectively and second characteristic points in the second image, the second characteristic points corresponding to the first characteristic points respectively; a vector calculation unit that calculates vectors between the first characteristic points and the corresponding second characteristic points; an area selection unit that selects a particular area from the areas, based on the vectors calculated by the vector calculation unit; and a combining unit that combines the images, based on a vector included in the particular area selected by the area selection unit.
-
FIG. 1 is a block diagram showing a hardware configuration of an image processing apparatus according to an embodiment of the present invention; -
FIG. 2 is a functional block diagram showing a functional configuration for executing panoramic image generation processing, in the functional configuration of the image processing apparatus shown inFIG. 1 ; -
FIGS. 3A, 3B and 3C are diagram for illustrating a function of an adjustment unit of the image processing unit; -
FIGS. 4A, 4B and 4C are diagram for illustrating functions of the adjustment unit and a panoramic image generation unit of an image processing unit; and -
FIG. 5 is flowchart for illustrating a flow of the panorama image generation processing that is executed by the image processing apparatus having the functional configuration shown inFIG. 2 . - An embodiment of the present invention is hereinafter described with reference to the drawings.
-
FIG. 1 is a block diagram showing a hardware configuration of an image processing apparatus 1 according to an embodiment of the present invention. The image processing apparatus 1 is configured as, for example, a digital camera. - The image processing apparatus 1 includes a CPU (Central Processing Unit) 11, ROM (Read Only Memory) 12, RAM (Random Access Memory) 13, an
image processing unit 14, abus 15, an input/output interface 16, animage capturing unit 17, aninput unit 18, anoutput unit 19, astorage unit 20, acommunication unit 21, and adrive 22. - The
CPU 11 executes a variety of processing in accordance with programs that are recorded in theROM 12, or programs that are loaded from thestorage unit 20 to theRAM 13. - The
RAM 13 also stores data and the like necessary for theCPU 11 to execute the variety of processing, as appropriate. - The
image processing unit 14 is configured by a DSP (Digital Signal Processor), VRAM (Video Random Access Memory), etc., and collaborates with theCPU 11 to execute the variety of image processing on data of an image. - The
CPU 11, theROM 12 and theRAM 13 are mutually connected via thebus 15. The input/output interface 16 is also connected to thebus 15. Theimage capturing unit 17, theinput unit 18, theoutput unit 19, thestorage unit 20, thecommunication unit 21 and thedrive 22 are connected to the input/output interface 16. - The
image capturing unit 17 includes an optical lens unit and an image sensor (not shown). - In order to capture an image of a subject, the optical lens unit is configured by a lens such as a focus lens and a zoom lens for condensing light. The focus lens forms an image of a subject on a light receiving surface of the image sensor. The zoom lens freely changes its focal length within a certain range. The optical lens unit includes peripheral circuits, as necessary, for adjusting configuration parameters such as focal point, exposure, white balance, etc.
- The image sensor is configured by photoelectric conversion elements, AFE (Analog Front End), etc. The photoelectric conversion elements are configured by CMOS (Complementary Metal Oxide Semiconductor)-type photoelectric conversion elements, etc. A subject image enters the photoelectric conversion elements through the optical lens unit. By way of the photoelectric conversion elements, the subject image undergoes photoelectric conversion (i.e. is captured), image signals are accumulated for a certain period of time, and the accumulated image signals are sequentially supplied as analog signals to the AFE.
- The AFE executes a variety of signal processing such as A/D (Analog/Digital) conversion processing on the analog image signals. The variety of signal processing generates digital signals to be output as output signals of the
image capturing unit 17. - Such an output signal of the
image capturing unit 17 is hereinafter referred to as “data of a captured image”. The data of the captured image is supplied to theCPU 11, theimage processing unit 14, etc. as appropriate. - The
input unit 18 is configured by various buttons such as a shutter switch, and inputs a variety of information in accordance with instruction operations by a user. - The
output unit 19 is configured by a display, a speaker, etc., and outputs images and sound. - The
storage unit 20 is configured by a hard disk, DRAM (Dynamic Random Access Memory) or the like, and stores data of various images. - The
communication unit 21 controls communication with other devices (not shown) via a network including the Internet. - A
removable medium 31, which is composed of a magnetic disk, an optical disk, a magneto-optical disk, semiconductor memory or the like, is mounted to thedrive 22, as appropriate. Programs that are read via thedrive 22 from theremovable medium 31 are installed in thestorage unit 20, as necessary. Similarly to thestorage unit 20, theremovable medium 31 can also store a variety of data such as image data stored in thestorage unit 20. -
FIG. 2 is a functional block diagram showing a functional configuration for executing panoramic image generation processing, in the functional configuration of the image processing apparatus 1 as described above. Here, the “panoramic image generation processing” refers to processing for generating data of a panoramic image by using data of a plurality of captured images that are consecutively acquired. The “panoramic image” is an example of a wide-angle image that is elongated laterally or vertically as compared to an image with an aspect ratio of 2:3 captured by using a 35-millimeter silver film, or an image with an aspect ratio of 3:4 captured by using a digital camera. - In a case in which the image processing apparatus 1 executes the panoramic image generation processing, the
CPU 11 functions as an image capturingcontrol unit 51 and astorage control unit 52. In this case, thestorage unit 20 includes animage storage unit 53 as an area for storing data of various images such as data of a captured image and data of a panoramic image. - The image capturing
control unit 51 controls various image capturing operations of theimage capturing unit 17. - More specifically, when the user depresses a shutter switch of the
input unit 18 while holding the image processing apparatus 1 as a digital camera, the image processing apparatus 1 starts the panoramic image generation processing. When the panoramic image generation processing is started, the image capturingcontrol unit 51 causes theimage capturing unit 17 to start consecutive image capturing operations, and to capture an image each time a certain period of time elapses, or each time the image processing apparatus 1 moves a predetermined amount. - During this period, in a case in which a predetermined condition is satisfied, such as a case in which the user keeps depressing the shutter switch for a predetermined period of time, or a case in which the digital camera moves a predetermined amount, the image capturing
control unit 51 terminates the consecutive image capturing operations of theimage capturing unit 17, and terminates the panoramic image generation processing. - The
storage control unit 52 controls theimage storage unit 53 to store data of various images, such as data of the panoramic image that is generated as a result of the panoramic image generation processing. - In a case in which the image processing apparatus 1 executes the panoramic image generation processing, the
image processing unit 14 functions as an image acquisition unit 54, anadjustment unit 55, and a panoramicimage generation unit 56. - The image acquisition unit 54 sequentially acquires data of a plurality of captured images that are output as a result of the consecutive image capturing operations of the
image capturing unit 17, i.e. data of a plurality of consecutively captured images. - As the processing on each data of the plurality of captured images that are acquired by the image acquisition unit 54, the
adjustment unit 55 adjusts adjacent captured images among the plurality of captured images. Among the plurality of consecutively captured images, the adjacent captured images refer to the nth and n+1th captured images (n is an integer value that is 1 or larger). - For the purpose of preventing generation of data of an panoramic image that gives an unnatural impression due to movement of an object such as a person that moves irrespective of the digital camera, the
adjustment unit 55 of the present embodiment is configured to include a characteristicpoint detection unit 551, a characteristic point trace unit 552, asimilarity calculation unit 553, and a position adjustment unit 554. Here, the characteristicpoint detection unit 551 functions as characteristic point detecting means, the characteristic point trace unit 442 functions as vector calculating means, and thesimilarity calculation unit 553 and the position adjustment unit 554 function as area selecting means. - As the processing on each data of the plurality of captured images that are acquired by the image acquisition unit 54, the characteristic
point detection unit 551 detects a plurality of characteristic points in the captured image. In other words, each time the image acquisition unit 54 acquires data of a captured image, the characteristicpoint detection unit 551 detects a plurality of characteristic points in the captured image thus acquired. The characteristicpoint detection unit 551 associates the detected characteristic points with the data of the captured image that is acquired by the image acquisition unit 54, and stores them into theimage storage unit 53. - At this time, the characteristic
point detection unit 551 divides the captured image into a plurality of continuous areas, and detects a characteristic point in each of the plurality of areas. The areas obtained by dividing the captured image can have an arbitrary shape, and for example, it is possible to employ rectangular areas. As will be described later, the plurality of areas are arranged continuously in a direction of movement of the digital camera (hereinafter referred to as “panoramic image capturing direction”) and in a direction substantially orthogonal to the direction of movement. The substantially orthogonal direction is used because the panoramic image capturing direction may not be linear in some cases due to camera shake or the like, and, in a simple description, the substantially orthogonal direction is a direction perpendicular to the panoramic image capturing direction being the horizontal direction. - Here, a conventionally well-known method can be employed as a method of detecting a characteristic point in each of the plurality of the areas. For example, SIFT (Scale Invariant Feature Transform) may be used, Harris's corner detection method may be used, and any other method may be used.
- As the processing on the plurality of characteristic points in each of the adjacent captured images, the characteristic point trace unit 552 calculates a so-called motion vector between the corresponding characteristic points, i.e. a vector that indicates how the characteristic point has moved between the adjacent captured images. In other words, when the characteristic
point detection unit 551 detects a plurality of characteristic points in the n+1th captured image, the characteristic point trace unit 552 identifies, from the characteristic points in the nilth captured image thus detected, a point corresponding to a characteristic point in the nth captured image stored in theimage storage unit 53, and calculates a vector from the characteristic point in the nth captured image to the corresponding point in the n+1th captured image, as a vector between the corresponding characteristic points. At this time, the characteristic point trace unit 552 associates the calculated vector with the data of the nth captured image, and stores them into theimage storage unit 53. In the present embodiment, a vector indicates a direction and magnitude (distance), through which a characteristic point has moved. - The characteristic point trace unit 552A can identify a corresponding point by using, for example, a matching technique that focuses on pixels including each characteristic point among the plurality of detected characteristic points.
- As the processing on the vector calculated by the characteristic point trace unit 552, the
similarity calculation unit 553 calculates similarity of vectors in each area of the image. Since a moving object moves irrespective of the movement of the digital camera, thesimilarity calculation unit 553 calculates similarity of the vectors, thereby identifying the position of the moving object in an nth captured image. The adjacent captured images are adjusted by avoiding the position of the moving object that is identified in this manner, thereby making it possible to prevent generation of data of a panoramic image that gives an unnatural impression. - Here, in the panoramic image generation processing, the data of the adjacent captured images is typically adjusted linearly along a direction substantially orthogonal to the panoramic image capturing direction. Accordingly, among the plurality of areas, the
similarity calculation unit 553 calculates similarity of vectors in each of a group of areas arranged adjacently along the direction substantially orthogonal to the panoramic image capturing direction. Since edges (top edge, bottom edge, leftmost edge, and rightmost edge) of a captured image may be corrected for distortion of a lens and the like of a digital camera, it is preferable for thesimilarity calculation unit 553 to calculate similarity of vectors in only areas near the center other than the edges of the captured image. At this time, the size of the areas near the center can be arbitrarily set, and for example, may be set based on the lens performance, or may be set based on a movement distance between adjacent captured images, such as moving speed of the digital camera and image capturing timing (the size of the areas near the center is larger as the movement is larger, and the size of the areas near the center is smaller as the movement is smaller). The areas near the center may be used when similarity of vectors is calculated, and may be used when a captured image is divided into areas for detecting characteristic points. - Similarity of vectors means similarity of direction and magnitude through which the characteristic point has moved, and the similarity is calculated by an SAD (Sum of Absolute Difference) calculation in the present embodiment. In other words, the
similarity calculation unit 553 calculates similarity of vectors by calculating and adding differences of vectors adjacent to one another in a group of areas. In such SAD calculation, the vectors in a group of areas are more similar as the calculation result is smaller, and the vectors in a group of areas are less similar as the calculation result is larger. At this time, in a case in which the plurality of characteristic points in a group of areas include a characteristic point whose corresponding point cannot be identified, it is preferable for thesimilarity calculation unit 553 to determine that the vectors in a group of areas are not similar. This is because a corresponding point is unlikely to be identified as a result of a moving object having moved (for example, as a result of a moving object having moved to a front side of a characteristic point in the n+1th captured image). The calculation of similarity is not limited to SAD calculation, and similarity may be calculated by an arbitrary method, or may be calculated by a well-known method such as SSD (Sum of Squared intensity Difference) or standard deviation, for example. - The position adjustment unit 554 adjusts adjacent captured images, based on the vectors between the characteristic points calculated by the characteristic point trace unit 552. In other words, the position adjustment unit 554 adjusts adjacent captured images, by avoiding the position of a characteristic point indicating a vector that is abnormal in comparison with vectors of the other characteristic points.
- More specifically, the position adjustment unit 554 adjusts adjacent captured images, based on similarity of vectors in a group of areas, which is calculated by the
similarity calculation unit 553. Here, the position adjustment unit 554 may adjust images at a position of a group of areas in which vectors are similar by at least a predetermined value, or may adjust images at a position of a group of areas in which vectors are the most similar. As a result, the adjacent captured images can be adjusted at a position by avoiding a moving object that moves irrespective of the movement of the digital camera. - The panoramic
image generation unit 56 combines the data of the captured images adjusted by theadjustment unit 55, and generates data of a panoramic image. The panoramicimage generation unit 56 stores the data of the panoramic image thus generated into theimage storage unit 53. - Next, specific descriptions are provided for a function of executing the panoramic image generation processing, with reference to
FIGS. 3 and 4 . -
FIG. 3 is a diagram for illustrating a function of theadjustment unit 55 of theimage processing unit 14; andFIG. 4 is a diagram for illustrating functions of theadjustment unit 55 and the panoramicimage generation unit 56 of theimage processing unit 14. Here, inFIGS. 3 and 4 , the panoramic image capturing direction runs from left to right in the drawings. - With reference to
FIG. 3A , the image acquisition unit 54 sequentially acquires data of consecutively captured images. InFIG. 3A , data of captured 70 and 80 are acquired. Here, the capturedimages image 70 is the nth captured image, whose subjects are a moving object 71 showing a person running in a direction from the left to the right in the drawing, and a static field 73 showing background. The capturedimage 80 is the n+1th captured image, whose subjects are a moving object 81 and astatic field 83. - With reference to
FIG. 3B , when the image acquisition unit 54 acquires data of captured images, the characteristicpoint detection unit 551 detects characteristic points in each area of the sequentially acquired captured images, and the characteristic point trace unit 552 identifies corresponding points in adjacent captured images. InFIG. 3B , a plurality of characteristic points including A, B, C, D, E, F, G, H and I are detected in the nth capturedimage 70, and a plurality of corresponding points A′, B′, C′, D′, E′, F′, G′, H′ and I′, which correspond to the characteristic points A to I, respectively, are detected in the n+1th capturedimage 80. The characteristic points A to C, the characteristic points D to F, and the characteristic points G to I are each in a group of areas that are adjacent in the direction substantially orthogonal to the panoramic image capturing direction. The characteristic points A to G and the corresponding points A′ to G′ are detected from thestatic fields 73 and 83, and the characteristic points H and I and the corresponding point H′ and I′ are detected from the moving objects 71 and 82. - With reference to
FIG. 3C , when the characteristic point trace unit 552 detects the characteristic points and the corresponding points in the adjacent captured images, the characteristic point trace unit 552 calculates vectors from the characteristic points in the nth capturedimage 70 to the corresponding points in the n+1th capturedimage 80, respectively. In other words, as shown inFIG. 3C , for example, the characteristic point trace unit 552 calculates a vector from the characteristic point A to the corresponding point A′. - When the characteristic point trace unit 552 calculates the vectors from the characteristic points to the corresponding points in this way, the
similarity calculation unit 553 calculates similarity of the vectors in each of a group of areas arranged adjacently along the direction substantially orthogonal to the panoramic image capturing direction. Here, inFIG. 3C , the calculated vectors from the characteristic points A to G to the corresponding point A′ to G′, respectively, are substantially coincident with the movement of the digital camera in the panoramic image capturing direction; whereas the calculated vectors from the characteristic points H and I to the corresponding points H′ and I′, respectively, are not coincident with the movement of the digital camera. As a result, based on the similarity calculated by thesimilarity calculation unit 553, the position adjustment unit 554 can determine that the vectors are similar in a group of areas including the characteristic points A to C and in a group of areas including the characteristic points D to F, and can determine that the vectors are not similar in a group of areas including the characteristic points G to I. - With reference to
FIG. 4A , the position adjustment unit 554 adjusts adjacent captured images, based on the result of determining similarity of the vectors. - Here, as shown in
FIG. 4B , since the vectors from the characteristic points A to C to the corresponding points A′ to C′, respectively, are determined to be the most similar, the position adjustment unit 554 adjusts the adjacent captured images at positions of the characteristic points A to C. - In other words, as shown in
FIG. 4B , the position adjustment unit 554 adjusts the captured 70 and 80, such that the characteristic point A coincides with the corresponding point A′, the characteristic point B coincides with the corresponding point B′, and the characteristic point C coincides with the corresponding point C′. As a result, the capturedimages 70 and 80 are adjusted at the positions that do not include the moving object 71 that was included in the capturedimages image 70. - With reference to
FIG. 4C , when the position adjustment unit 554 adjusts the captured 70 and 80, the panoramicimages image generation unit 56 combines data of the captured 70 and 80 based on a result of the adjustment, and generates data of a combined image 90.images - In this way, since the image processing apparatus 1 of the present embodiment adjusts the captured
70 and 80 by avoiding the moving objects 71 and 81, it is possible to prevent generation of data of a combined image in which a part of the moving objects 71 and 81 is cut, giving an unnatural impression. In other words, as shown inimages FIG. 4C , it is possible to generate data of the combined image 90 including the moving object 81 just as included in the capturedimage 80. - Since the image processing apparatus 1 of the present embodiment adjusts adjacent captured images by avoiding moving objects, the moving objects included in the captured images can be displayed in various modes. In other words, it is possible to generate data of a panoramic image that does not include a moving object at all; it is possible to generate data of a panoramic image that includes only a singly moving object; and it is possible to generate data of a panoramic image that shows how the moving object continuously moves.
- A moving object can be displayed in such modes by considering a panoramic image capturing direction and the position of the moving object in a captured image, as well as similarity of vectors between corresponding characteristic points. For example, the moving object included in the nth captured image can be removed by adjusting images at a position posterior to the moving object in the panoramic image capturing direction in the nth captured image. The moving object included in the nth captured image can be displayed by adjusting images at a position anterior to the moving object in the panoramic image capturing direction in the nth captured image.
- Next, the panoramic image generation processing is described with reference to
FIG. 5 .FIG. 5 is flowchart showing a flow of the panorama image generation processing that is executed by the image processing apparatus 1 having the functional configuration shown inFIG. 2 . - The panoramic image generation processing is triggered by the user who operates the
input unit 18 to initiate the panoramic image generation processing, i.e. by an operation of depressing the shutter button, etc. - In Step S1, the image capturing
control unit 51 controls theimage capturing unit 17 to consecutively capture images. - In Step S2, each time the
image capturing unit 17 captures an image, the image acquisition unit 54 acquires data of the captured image. At this time, the image acquisition unit 54 temporarily stores the data of the captured image thus acquired into theimage storage unit 53. - In Step S3, the characteristic
point detection unit 551 detects a plurality of characteristic points in the data of the captured image that is acquired in the processing in Step S2, and temporarily stores the characteristic points into theimage storage unit 53. - In Step S4, the characteristic point trace unit 552 determines whether the captured image processed in Step S3 is the second or subsequent image. In a case in which the captured image is the second or subsequent image, the determination in Step S4 is YES, and the processing advances to Step S5. In a case in which the captured image is not the second or subsequent image, i.e. the captured image is the first image, the determination in Step S4 is NO, and the processing returns to Step S1.
- In Step S5, the characteristic point trace unit 552 calculates vectors between the corresponding characteristic points in the adjacent captured images, by comparing the characteristic points in the adjacent captured images stored in the
storage unit 53. - In Step S6, the
similarity calculation unit 553 calculates similarity of the vectors between the corresponding characteristic points, which were calculated in the processing in Step S5. More specifically, thesimilarity calculation unit 553 calculates similarity of the vectors in a group of areas arranged adjacently along the direction orthogonal to the panoramic image capturing direction. - In Step S7, the position adjustment unit 554 adjusts the adjacent captured images, based on the similarity of the vectors calculated in Step S6. For example, the position adjustment unit 554 selects a group of areas in which vectors are the most similar, and adjusts the adjacent images at the positions of the areas.
- In Step S8, the panoramic
image generation unit 56 combines the data of the captured images adjusted in the processing in Step S7, and generates data of a panoramic image. - In Step S9, the
CPU 11 determines whether the panoramic image generation processing should be terminated. For example, in a case in which the digital camera has moved more than a predetermined amount, or in a case in which a predetermined terminating operation by the user is accepted, theCPU 11 determines that the panoramic image generation processing should be terminated. In a case in which the determination in Step S9 is YES, thestorage control unit 52 stores the data of the panoramic image generated so far into theimage storage unit 53, and the panorama image generation processing is terminated. In a case in which the determination in Step S9 is NO, the processing advances to Step S10. - In Step S10, the
CPU 11 or theimage processing unit 14 determines whether an error has occurred. For example, in a case in which the digital camera has moved more than a predetermined amount in the direction orthogonal to the panoramic image capturing direction (i.e. in a case in which the camera shake is large), or in a case in which a sufficient number of characteristic points cannot be detected in the captured image, theCPU 11 or theimage processing unit 14 determines that an error has occurred. In a case in which the determination in Step S10 is YES, the panoramic image generation processing is terminated; and in a case in which the determination in Step S10 is NO, the processing returns to Step S1. - The image processing apparatus 1 as thus constituted includes: the
adjustment unit 55 that adjusts adjacent captured images, as the processing on data of captured images supplied from theimage capturing unit 17; and the panoramicimage generation unit 56 that generates data of a panoramic image by combining the data of the adjacent captured images, based on a result of adjustment by theadjustment unit 55. Here, theadjustment unit 55 includes: the characteristic point trace unit 552 that calculates vectors between a plurality of corresponding characteristic points in the adjacent captured images; and the position adjustment unit 554 that adjusts the adjacent captured images, based on the vectors between the corresponding characteristic points thus calculated. - As a result, adjacent captured images can be adjusted by avoiding the position of a moving object that moves irrespective of the movement of the digital camera, i.e. by avoiding the position of a characteristic point whose vector is abnormal. As a result, in a panoramic image obtained by combining the data, it is possible to prevent a part of a moving object from being cut, and it is therefore possible to generate data of a panoramic image that does not give an unnatural impression.
- By considering the panoramic image capturing direction and a position of a moving object in a captured image, as well as vectors between corresponding characteristic points, the image processing apparatus 1 can display the moving object in various modes in a panoramic image that is obtained by combining the data. In other words, it is possible to generate data of a panoramic image that does not include a moving object at all; it is possible to generate data of a panoramic image that includes only a singly moving object; and it is possible to generate data of a panoramic image that shows how the moving object continuously moves.
- Here, in the panoramic image generation processing, the data of the adjacent captured images is typically adjusted along a direction substantially orthogonal to the panoramic image capturing direction. Therefore, in order to identify a position that avoids a moving object, it is preferable to use similarity of vectors that are adjacent in a direction substantially orthogonal to the panoramic image capturing direction. As a result, adjacent captured images can be adjusted linearly along a direction substantially orthogonal to the panoramic image capturing direction, and complicated calculation such as calculation for adjustment along a wave line is not required.
- With regard to adjustment based on similarity, images may be adjusted at a position of a group of areas in which vectors are at least similar at a predetermined level, or images may be adjusted at a position of a group of areas in which vectors are the most similar. In a case in which images are adjusted based on predetermined similarity, images can be arbitrarily adjusted in accordance with a position of a moving object in a captured image, and modes of displaying the moving object can be arbitrarily set. In a case in which images are adjusted at a position of a group of areas in which vectors are the most similar, the data of the adjacent captured images can be combined in the most natural manner.
- In a digital camera, since edges of a captured image may be generally corrected for distortion of a lens and the like, it is preferable to specify a group of areas near the center excluding the edges of the captured image. As a result, vectors between corresponding characteristic points can be precisely calculated regardless of the distortion of the lens, and data of adjacent captured images can be appropriately combined.
- The image processing apparatus 1 according to the present embodiment has been described above, but the present invention is not limited to the aforementioned embodiment, and modifications, improvements, etc. within a scope that can achieve the object of the present invention are also included in the present invention.
- In the abovementioned embodiment, in the panoramic image generation processing, adjacent captured images are adjusted or combined each time data of a captured image is acquired. However, images may be adjusted and combined all together after acquiring all the data of captured images for generating data of a panoramic image.
- In the aforementioned embodiment, a digital camera has been described as an example of the image processing apparatus 1 to which the present invention is applied, but the present invention is not particularly limited thereto.
- For example, the present invention can be applied to electronic devices in general, which have a panoramic image generation function. More specifically, for example, the present invention can be applied to a notebook personal computer, a printer, a television, a video camera, a portable navigation device, a cell phone device, a portable game device, etc.
- The processing sequence described above can be executed by hardware, and can also be executed by software.
- In other words, the hardware configuration shown in
FIG. 2 is merely an illustrative example, and the present invention is not particularly limited thereto. More specifically, the types of functional blocks employed to realize the aforementioned functions are not particularly limited to the example inFIG. 2 , as long as the image processing apparatus 1 includes the functions enabling the aforementioned processing sequence to be executed as its entirety. - A single functional block may be configured by a single piece of hardware, a single installation of software, or any combination thereof.
- In a case in which the processing sequence is executed by software, a program configuring the software is installed from a network or a storage medium into a computer or the like.
- The computer may be a computer embedded in dedicated hardware. Alternatively, the computer may be a computer capable of executing various functions by installing various programs, e.g., a general-purpose personal computer.
- The storage medium containing such a program can not only be configured by the removable medium 31 shown in
FIG. 1 distributed separately from the device main body for supplying the program to a user, but can also be configured by a storage medium or the like supplied to the user in a state incorporated in the device main body in advance. Theremovable medium 31 is composed of, for example, a magnetic disk (including a floppy disk), an optical disk, a magnetic optical disk, or the like. The optical disk is composed of, for example, a CD-ROM (Compact Disk-Read Only Memory), a DVD (Digital Versatile Disk), or the like. The magnetic optical disk is composed of an MD (Mini-Disk) or the like. The storage medium supplied to the user in a state incorporated in the device main body in advance may include, for example, theROM 12 shown inFIG. 1 , a hard disk included in thestorage unit 20 shown inFIG. 1 or the like, in which the program is recorded. - In the present specification, the steps describing the program recorded in the storage medium include not only the processing executed in a time series following this order, but also processing executed in parallel or individually, which is not necessarily executed in a time series.
- In the present specification, terminologies describing a system refer to a whole apparatus configured with a plurality of devices, a plurality of means and the like.
- Although some embodiments of the present invention have been described above, the embodiments are merely examples, and do not limit the technical scope of the present invention. Other various embodiments can be employed for the present invention, and various modifications such as omission and replacement are possible without departing from the spirit of the present invention. Such embodiments and modifications are included in the scope of the invention and the summary described in the present specification, and are included in the invention recited in the claims as well as the equivalent scope thereof.
Claims (8)
1. An image processing apparatus comprising:
an acquisition unit that acquires images consecutively captured by an image capturing unit, while the image capturing unit is moved;
a characteristic point detection unit that detects characteristic points in a plurality of areas, respectively, the plurality of areas being included in a region of the images which has a size based on particular information;
an area selection unit that selects a particular area among the plurality of areas, based on the characteristic points; and
a combining unit that combines the images, based on the particular area.
2. The image processing apparatus according to claim 1 , wherein the particular information is information about a lens.
3. The image processing apparatus according to claim 1 , wherein the particular information is information about a moving distance among the images.
4. The image processing apparatus according to claim 1 , wherein the region is a region near a center of the first image, other than edges of the images.
5. The image processing apparatus according to claim 1 , further comprising:
a vector calculation unit that calculates vectors of the characteristic points between the images;
wherein the area selection unit selects the particular area, based on the vectors.
6. The image processing apparatus according to claim 1 , further comprising:
a vector calculation unit that calculates vectors of the characteristic points between the images;
wherein the area selection unit selects the particular area, based on the vectors.
7. An image processing method, comprising:
acquiring images consecutively captured by an image capturing unit, while the image capturing unit is moved;
detecting characteristic points in a plurality of areas, respectively, the plurality of areas being included in a region of the images which has a size based on particular information;
selecting a particular area among the plurality of areas, based on the characteristic points; and
combining the images, based on the particular area.
8. A non-transitory computer-readable medium having stored thereon a program that is executable by a computer to cause the computer to perform functions comprising:
acquiring images consecutively captured by an image capturing unit, while the image capturing unit is moved;
detecting characteristic points in a plurality of areas, respectively, the plurality of areas being included in a region of the images which has a size based on particular information;
selecting a particular area among the plurality of areas, based on the characteristic points; and
combining the images, based on the particular area.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/181,800 US20160295111A1 (en) | 2012-03-12 | 2016-06-14 | Image processing apparatus that combines images |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012054002A JP5799863B2 (en) | 2012-03-12 | 2012-03-12 | Image processing apparatus, image processing method, and program |
| JP2012-054002 | 2012-03-12 | ||
| US13/791,699 US9380206B2 (en) | 2012-03-12 | 2013-03-08 | Image processing apparatus that combines images |
| US15/181,800 US20160295111A1 (en) | 2012-03-12 | 2016-06-14 | Image processing apparatus that combines images |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/791,699 Division US9380206B2 (en) | 2012-03-12 | 2013-03-08 | Image processing apparatus that combines images |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20160295111A1 true US20160295111A1 (en) | 2016-10-06 |
Family
ID=49137718
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/791,699 Active 2034-07-31 US9380206B2 (en) | 2012-03-12 | 2013-03-08 | Image processing apparatus that combines images |
| US15/181,800 Abandoned US20160295111A1 (en) | 2012-03-12 | 2016-06-14 | Image processing apparatus that combines images |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/791,699 Active 2034-07-31 US9380206B2 (en) | 2012-03-12 | 2013-03-08 | Image processing apparatus that combines images |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US9380206B2 (en) |
| JP (1) | JP5799863B2 (en) |
| CN (1) | CN103312975B (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170132797A1 (en) * | 2014-07-16 | 2017-05-11 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5911296B2 (en) * | 2011-12-22 | 2016-04-27 | オリンパス株式会社 | Image processing apparatus, imaging apparatus, microscope system, image processing method, and image processing program |
| US9426430B2 (en) * | 2012-03-22 | 2016-08-23 | Bounce Imaging, Inc. | Remote surveillance sensor apparatus |
| US8937702B2 (en) * | 2012-10-30 | 2015-01-20 | Eastman Kodak Company | Method of making a panoramic print |
| JP6056551B2 (en) * | 2013-02-28 | 2017-01-11 | 株式会社ニコン | Image processing program and digital camera |
| JPWO2016185556A1 (en) * | 2015-05-19 | 2017-06-01 | 三菱電機株式会社 | Composite image generation apparatus, composite image generation method, and composite image generation program |
| JP6769440B2 (en) * | 2015-09-18 | 2020-10-14 | ソニー株式会社 | Image processing equipment, image processing methods, programs and imaging systems |
| JP2017212698A (en) * | 2016-05-27 | 2017-11-30 | キヤノン株式会社 | IMAGING DEVICE, IMAGING DEVICE CONTROL METHOD, AND PROGRAM |
| CN109146865B (en) * | 2018-08-22 | 2020-05-05 | 成都新西旺自动化科技有限公司 | Visual alignment detection graph source generation system |
| JP6790038B2 (en) * | 2018-10-03 | 2020-11-25 | キヤノン株式会社 | Image processing device, imaging device, control method and program of image processing device |
| US11381730B2 (en) * | 2020-06-25 | 2022-07-05 | Qualcomm Incorporated | Feature-based image autofocus |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1091765A (en) * | 1996-09-10 | 1998-04-10 | Canon Inc | Image synthesis apparatus and method |
| JP3403060B2 (en) | 1998-03-27 | 2003-05-06 | 三洋電機株式会社 | Panoramic image capturing device and panoramic image generating device |
| JP2000215317A (en) * | 1998-11-16 | 2000-08-04 | Sony Corp | Image processing method and image processor |
| 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 |
| US20050063608A1 (en) * | 2003-09-24 | 2005-03-24 | Ian Clarke | System and method for creating a panorama image from a plurality of source images |
| US8107769B2 (en) * | 2006-12-28 | 2012-01-31 | Casio Computer Co., Ltd. | Image synthesis device, image synthesis method and memory medium storage image synthesis program |
| JP4905144B2 (en) * | 2007-01-17 | 2012-03-28 | カシオ計算機株式会社 | Image composition apparatus, image composition program, and image composition method |
| JP4877154B2 (en) * | 2007-08-24 | 2012-02-15 | カシオ計算機株式会社 | Image processing apparatus, imaging apparatus, image processing method, and program |
| JP2009124340A (en) * | 2007-11-13 | 2009-06-04 | Fujifilm Corp | Imaging apparatus, photographing support method, and photographing support program |
| JP2010166558A (en) | 2008-12-19 | 2010-07-29 | Sanyo Electric Co Ltd | Image forming apparatus |
| JP2011082918A (en) * | 2009-10-09 | 2011-04-21 | Sony Corp | Image processing device and method, and program |
| 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 |
| JP2011166264A (en) * | 2010-02-05 | 2011-08-25 | Sony Corp | Image processing apparatus, imaging device and image processing method, and program |
-
2012
- 2012-03-12 JP JP2012054002A patent/JP5799863B2/en not_active Expired - Fee Related
-
2013
- 2013-03-08 US US13/791,699 patent/US9380206B2/en active Active
- 2013-03-11 CN CN201310076015.1A patent/CN103312975B/en active Active
-
2016
- 2016-06-14 US US15/181,800 patent/US20160295111A1/en not_active Abandoned
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170132797A1 (en) * | 2014-07-16 | 2017-05-11 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
| US10395380B2 (en) * | 2014-07-16 | 2019-08-27 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130250044A1 (en) | 2013-09-26 |
| JP5799863B2 (en) | 2015-10-28 |
| JP2013186853A (en) | 2013-09-19 |
| CN103312975B (en) | 2017-04-12 |
| US9380206B2 (en) | 2016-06-28 |
| CN103312975A (en) | 2013-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9380206B2 (en) | Image processing apparatus that combines images | |
| KR101396743B1 (en) | An image processing device, an image processing method, and a recording medium | |
| JP5205337B2 (en) | Target tracking device, image tracking device, operation control method thereof, and digital camera | |
| JP6271990B2 (en) | Image processing apparatus and image processing method | |
| US10115178B2 (en) | Image processing apparatus, image capturing apparatus, image processing method, and storage medium | |
| US20120057786A1 (en) | Image processing apparatus, image processing method, image pickup apparatus, and storage medium storing image processing program | |
| JP5643563B2 (en) | Image processing apparatus and control method thereof | |
| US20120169840A1 (en) | Image Processing Device and Method, and Program | |
| US10382671B2 (en) | Image processing apparatus, image processing method, and recording medium | |
| US8441554B2 (en) | Image capturing apparatus capable of extracting subject region from captured image | |
| US20130222621A1 (en) | Information processing apparatus, terminal apparatus, image capturing apparatus, information processing method, and information provision method for an image capturing apparatus | |
| KR101830077B1 (en) | Image processing apparatus, control method thereof, and storage medium | |
| JP2010187348A (en) | Apparatus, method and program for image processing | |
| JP2009111716A (en) | Imaging apparatus, program, and template generation method | |
| US8941763B2 (en) | Image capture device, method for generating composite image, and storage medium | |
| JP2015012493A (en) | Image processing apparatus, imaging apparatus, and program | |
| KR101665175B1 (en) | Image acquisition apparatus,image acquisition method and recording medium | |
| KR20140012891A (en) | Subject detection device and subject detection method for detecting subject image from image and storage medium therefor | |
| JP2017098829A (en) | Motion vector detection apparatus, control method therefor, and imaging apparatus | |
| JP6645711B2 (en) | Image processing apparatus, image processing method, and program | |
| JP2015177303A (en) | Imaging apparatus and control method thereof | |
| JP2015041865A (en) | Image processing apparatus and image processing method | |
| JP6036934B2 (en) | Image processing apparatus, image processing method, and program | |
| US20130236055A1 (en) | Image analysis device for calculating vector for adjusting a composite position between images | |
| JP2020025172A (en) | Imaging device and control method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: CASIO COMPUTER CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MIYAMOTO, NAOTOMO;MATSUMOTO, KOSUKE;REEL/FRAME:038908/0820 Effective date: 20130226 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |