This disclosure relates to an image processing apparatus and a method, and a program and, more particularly, to an image processing apparatus and a method, and a program that enable determination of the position and the shape of a PSF in a projection plane even when the image processing apparatus is not a special device.
For a PSF (Point Spread Function) of a projector in a projection plane, a proposal has been made according to which a test pattern is projected into a projection plane, a distribution of the dimension of the test pattern is estimated from an image obtained by imaging the test pattern, and blurring correction in the projection plane is executed using the estimated distribution. For example, in NPL 1, a test pattern having a plurality of cross-shaped test patterns lined in the projection plane is used.
Michael S. Brown, Peng Song, and Tat-Jen Cham, “Image Pre-conditioning for Out-of-Focus Projector Blur,” Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on 9 Oct. 2006, 9 Oct. 2006
With the above technique, it is however difficult to determine what shape the PSF has at each of positions in the projection plane and to determine the PSF for a scale of one pixel of the projector.
This disclosure was conceived in view of the above circumstances and can determine the position and the shape of the PSF in the projection plane.
An image processing apparatus in one aspect of this technique includes a PSF calculating part that projects a test pattern having a plurality of small patterns arranged in an overall projection plane, the plurality of small patterns each having a plurality of one-pixels arranged at predetermined intervals each in a predetermined area, and that calculates a PSF (Point Spread Function) of a projector at each of positions in the projection plane, using an imaged image obtained by imaging the projected test pattern.
A number is added to the small pattern as the position information.
A binary code is added to the small pattern as the position information.
A QR code (a registered trademark) is added to the small pattern as the position information.
The PSF calculating part may include a PSF dot size calculating part that calculates a PSF of a camera scale and a dot size using the imaged image, and a projector PSF calculating part that calculates a PSF of the projector by scaling the PSF of the camera scale calculated by the PSF dot size calculating part, using the dot size calculated by the PSF dot size calculating part.
The test pattern is used for Structured Light (SL).
The test pattern is used for Imperceptible Structured Light (ISL).
In an image processing method in an aspect of this technique, an image processing apparatus projects a test pattern having a plurality of small patterns arranged in an overall projection plane, the plurality of small patterns each having a plurality of one-pixels arranged at predetermined intervals each in a predetermined area, and calculates a PSF (Point Spread Function) of a projector at each of positions in the projection plane, using an imaged image obtained by imaging the projected test pattern.
In an aspect of this technique, a test pattern having a plurality of small patterns arranged in an overall projection plane, the plurality of small patterns each having a plurality of one-pixels arranged at predetermined intervals each in a predetermined area. A PSF (Point Spread Function) of a projector at each of positions in the projection plane is calculated using an imaged image obtained by imaging the projected test pattern.
According to this technique, the position and the shape of the PSF in the projection plane can be determined.
The effect described herein is absolutely an exemplified effect, the effect of this technique is not limited to the effect described herein, and any additional effect may be present.
A form to implement this disclosure (hereinafter, referred to as an embodiment) will be described below.
To estimate the postures of a projector and a camera, a corresponding point between the projector and the camera needs to be detected. This corresponding point detection process is generally called Structured Light (SL).
For example, as in an example in
To detect the corresponding point between the projector and the camera as above, the image desired to be projected from the projector (a pattern image such as a gray code, a dot, a checker or the like, or an input image, or the like) needs to be imaged using a camera. When the image is a still image (a pattern image or a still video image), because the same video image is always projected, a desired image can be imaged, and the corresponding point can be detected even without matching the imaging timing.
A method of detecting the corresponding point during projection of a moving image and estimating the postures of the projector and the camera will be referred to as on-line sensing. Methods of detecting the corresponding point using the on-line sensing include Imperceptible Structured Light (ISL) (
An ISL scheme is a technique of positive-negative-inverting a structured-light pattern that is an image of a predetermined pattern, burying the inverted image in a projection image, and projecting the inverted image to be imperceptible by a human.
As depicted in
In contrast, the camera images the projection images of these frames, determines the difference between the imaged images of both frames, and thereby extracts only the structured-light pattern included in the imaged images. Detection of the corresponding point is executed using the extracted structured-light pattern.
In this manner, in the ISL scheme, the structured-light pattern can easily be extracted by only determining the difference between the imaged images and the detection of the corresponding point can therefore be executed with stable precision without depending on the projected image.
<Test Pattern of this Technique>
The test pattern of this technique is a pattern that is used in the above SL scheme, the above ISL scheme, and the like. A pattern having a plurality of one-dots (one-pixels) arranged therein at known intervals is handled as a small pattern in one area and the plurality of small patterns are arranged in the projection plane as the basic configuration of the test pattern of this technique.
In addition, the number of the one-dots and the number of pixels of the interval between the dots (the between-dot distance) are not limited to the above, and a combination is applicable of various numbers for the number of the dots that is equal to or greater than two and for the between-dot distance that is sufficiently greater than the degree of blurring of the projector. Moreover, all the between-dot distances do not need to be equal in the small pattern, and the dots may be arranged to have various dimensions. The precision of the dot size calculation described later can also be improved.
In this technique, the test pattern as depicted in
In addition, in this case, the PSF is calculated at the place having the small pattern arranged therein while, in each of the places from which the PSF is not calculated, the PSF thereof can be calculated from the PSFs of the places around this place calculated from those of the places for the arrangement using linear interpolation or the like.
In the example in
The projector 111 projects the test pattern from the storing part 117 and a corrected image from the correcting part 115 onto the screen 102 when necessary. The camera 112 images the projection image projected from the projector 111 onto the screen, produces an imaged image, and supplies the imaged image to the PSF dot size calculating part 113.
In addition, a plurality of projectors 111 and a plurality of cameras 112 may both be present. Moreover, the one camera 112 may be present for the projector 111, the one camera 112 may be present for the plurality of projectors 111, or the one projector 111 may be present for the plurality of cameras 112.
The PSF dot size calculating part 113 calculates the PSF in the imaged image (referred to as a camera scale PSF) and the number of pixels corresponding to the one pixel of the projector in the imaged image (referred to as dot size), from the imaged image from the camera 112. The PSF dot size calculating part 113 supplies the calculated camera scale PSF and the calculated dot size to the projector PSF calculating part 114.
The projector PSF calculating part 114 calculates a projector scale PSF on the bases of the camera scale PSF and the dot size from the PSF dot size calculating part 113, and supplies the calculated projector scale PSF to the correcting part 115.
The correcting part 115 refers to the projector scale PSF from the projector PSF calculating part 114, corrects the imaged image such that the imaged image from the camera 112 can correctly be seen, thereby produces a corrected image, and outputs the produced corrected image to the output control part 116.
The storing part 117 stores therein the test pattern and the like. The output control part 116 executes control for outputting the test pattern of the storing part 117 or the corrected image from the correcting part 115, to the projector 111.
In the example in
The pre-processing part 151 executes a pre-process of extracting only the component for one channel such as a brightness image, a grayscale image, or the like from input data obtained by color-imaging (the imaged image). In the case where the imaged image is RAW data, a development process is also included in the pre-processing.
The frame area extracting part 152 removes an imaging noise included in the data for the one channel extracted by the pre-processing part 151 using binarization, a labeling process, or the like, and thereby extracts the frame area.
For the extracted data indicating only the content in the frame, the in-frame dot area extracting part 153 further executes separation of the imaging noise and the dots from each other using binarization, a labeling process, or the like, and determines the one having a large area as an object, to be a dot area. Concerning this, the extracted dot area is the camera scale PSF. The in-frame dot area extracting part 153 supplies the camera scale PSF to the projector PSF calculating part 114.
The dot peak coordinate detecting part 154 detects the maximal brightness point and the center-of-gravity point in the dot area from the in-frame dot area extracting part 153, as dot coordinates. The dot size calculating part 155 can determine the distance between each two dots in the imaged image using the dot coordinates detected by the dot peak coordinate detecting part 154, and calculates the dot size by dividing the distance by the interval of one dot in the pattern that corresponds to the between-dot distance. The dot size calculating part 155 supplies the calculated dot size to the projector PSF calculating part 114.
The projector PSF calculating part 114 can determine the projector scale PSF by executing a scaling process for the camera scale PSF from the in-frame dot area extracting part 153 using the dot size from the dot size calculating part 155.
A PSF calculation process will be described next with reference to a flowchart in
At step S111, the projector 111 projects the test pattern read by the output control part 116 from the storing part 117, toward the screen. At step S112, the camera 112 images the pattern projected onto the screen, produces the imaged image, and supplies the imaged image to the PSF dot size calculating part 113.
For example,
At step S113, the PSF dot size calculating part 113 calculates the camera scale PSF and the dot size from the imaged image from the camera 112. This calculation process of the camera scale PSF and the dot size will be described with reference to
At step S114, the projector PSF calculating part 114 calculates the projector scale PSF on the basis of the camera scale PSF and the dot size from the PSF dot size calculating part 113.
The calculation process of the camera scale PSF and the dot size at step S113 in
At step S131, the pre-processing part 151 executes the pre-processing of extracting only the component for the one channel such as the brightness image or the grayscale image, from the color-imaged input data (the imaged image).
At step S132, the frame area extracting part 152 removes the imaging noise included in the data for the one channel extracted at step S131 using binarization, a labeling process, or the like, and thereby extracts the frame area. For example, as described above with reference to
At step S133, the in-frame dot area extracting part 153 extracts an in-frame dot area. In other words, the in-frame dot area extracting part 153 further executes separation of the imaging noise and the dots from each other using binarization, a labeling process, or the like for the extracted data indicating only the content in the frame, and determines the one having a large area as an object, to be a dot area. Concerning this, the extracted dot area is the camera scale PSF. The in-frame dot area extracting part 153 supplies the camera scale PSF to the projector PSF calculating part 114.
At step S134, the dot peak coordinate detecting part 154 and the dot size calculating part 155 calculates the dot size. In other words, the dot peak coordinate detecting part 154 detects the maximal brightness point and the center-of-gravity point in the dot area from the in-frame dot area extracting part 153, as dot coordinates. The dot size calculating part 155 can determine the distance between each two dots in the imaged image using the dot coordinates detected by the dot peak coordinate detecting part 154, and calculates the dot size by dividing the distance by the interval of one dot in the pattern that corresponds to each between-dot distance. The dot size calculating part 155 supplies the calculated dot size to the projector PSF calculating part 114.
Because the camera scale PSF and the dot size are calculated as above, at step S114 in
In this technique, furthermore, using this small pattern as one area, a number, a code, or the like different for each pattern is added to the vicinity of the outer frame of the pattern. The places each having the small pattern arranged therein can be identified.
In addition, in each of the examples in
The example where the small pattern is arranged at the center of the QR code has been described in the example in
In addition, in
As above, according to this technique, the test pattern is projected, and the shape of the PSF separately for each of the R, the G, and the B in the scale of the projector and the position in the projection plane corresponding to each of the PSFs can be determined from the image obtained by imaging.
The absolute dimension of the PSF can thereby be determined in both of the cases where the overall projection plane is imaged in one image and where the patterns at the positions are each separately imaged, and an effect is achieved that the constraints are alleviated when the imaging is executed. Another effect is also achieved that the obtained PSF at each of the positions can be used for evaluation of the lens of the projector and blurring correction of the lens.
The series of processes described above can be executed by hardware or can also be executed by software. In the case where the series of processes are executed by the software, the programs constituting the software are installed in a computer. Concerning this, types of this computer include a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing therein various programs, and the like.
In the personal computer 500, a CPU (Central Processing Unit) 501, a ROM (Read Only Memory) 502, and a RAM (Random Access Memory) 503 are connected to each other by a bus 504.
An input and output interface 505 is further connected to the bus 504. To the input and output interface 505, an input part 506, an output part 507, a storing part 508, a communicating part 509, and a drive 510 are connected.
The input part 506 includes a keyboard, a mouse, a microphone, and the like. The output part 507 includes a display, a speaker, and the like. The storing part 508 includes a hard disk, a non-volatile memory, and the like. The communicating part 509 includes a network interface and the like. The drive 510 drives a removable medium 511 such as a magnetic disk, an optical disk, a magnetooptical disk, a semiconductor memory, and the like.
In the personal computer 500 configured as above, the CPU 501 loads, for example, programs stored in the storing part 508 on the RAM 503 through the input and output interface 505 and the bus 504 and execute the programs. The above series of processes are thereby executed.
The programs executed by the computer (the CPU 501) can be provided being recorded in the removable medium 511. The removable medium 511 is, for example, a magnetic disk (including a flexible disk), an optical disk (such as a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disc), or the like), a magnetooptical disk, or a package medium including a semiconductor memory or the like. Moreover, otherwise, the programs can be provided through a wired or a wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
In the computer, the programs can be installed in the storing part 508 through the input and output interface 505 by attaching the removable medium 511 into the drive 510. Moreover, the programs can be installed in the storing part 508 by being received by the communicating part 509 through a wired or a wireless transmission medium. In addition, the programs can be installed in advance in the ROM 502 or the storing part 508.
In addition, the programs executed by the computer may be programs for the processes based thereon to be executed in chronological order in accordance with the order described herein or may be programs for which the processes based thereon are executed in parallel to each other or each in a necessary stage such as the time when the process is invoked.
Moreover, in this specification, the step of describing the programs to be recorded in the recording medium surely includes the processes executed in chronological order in accordance with the described order and also the processes that are not necessarily executed in chronological order but that are executed in parallel to each other or each executed separately from each other.
Moreover, in this specification, the system represents the overall apparatus constituted by a plurality of devices (apparatuses).
For example, this disclosure can take a configuration of cloud computing according to which a plurality of apparatuses processes one function through a network, sharing the processing thereby and in cooperation with each other.
Moreover, in the above, the configuration described as one apparatus (or one processing part) may be divided to be configured as a plurality of apparatuses (or a plurality of processing parts). In contrast, the configuration described as a plurality of apparatuses (or a plurality of processing parts) in the above may be integrated to be configured as one apparatus (or one processing part). Moreover, configurations other than those described above may surely be added to the configuration of each of the apparatuses (or each of the processing parts). Furthermore, only when the configuration and the operation as the overall system are substantially same, a portion of the configuration of a certain apparatus (or a certain processing part) may be included in the configuration of another apparatus (or another processing part). In short, this technique is not limited to the above embodiment and various changes can be made thereto within the scope not departing from the gist of this technique.
The preferred embodiment of this disclosure has been described in detail with reference to the accompanying drawings in the above while this disclosure is not limited to the example. It is obvious for those skilled in the art to which this disclosure pertains to be able to conceive various variation examples or various modification examples within the scope of the technical idea described in the appended claims, and it is understood that these examples are naturally included in the technical scope of this disclosure.
In addition, this technique may also take the following configurations.
(1) An image processing apparatus including:
a PSF calculating part that projects a test pattern having a plurality of small patterns arranged in an overall projection plane, the plurality of small patterns each having a plurality of one-pixels arranged at predetermined intervals each in a predetermined area and that calculates a PSF (Point Spread Function) of a projector at each of positions in the projection plane, using an imaged image obtained by imaging the projected test pattern.
(2) The image processing apparatus described in the above (1), in which
the test pattern is configured having the plurality of small patterns arranged therein that are each added with position information indicating the position of the small pattern in the projection plane.
(3) The image processing apparatus described in the above (2), in which
the small pattern is added with a number as the position information.
(4) The image processing apparatus described in the above (2), in which
the small pattern is added with a binary code as the position information.
(5) The image processing apparatus described in the above (2), in which
the small pattern is added with a QR code as the position information.
(6) The image processing apparatus described in the above (1), in which
the test pattern is configured having the plurality of small patterns arranged therein that each include position information using at least one of a number, arrangement, brightness, or a color of one pixel in the small pattern.
(7) The image processing apparatus described in any one of the above (1) to (6), in which
the PSF calculating part includes:
a PSF dot size calculating part that calculates a PSF of a camera scale and a dot size using the imaged image; and
a projector PSF calculating part that calculates a PSF of the projector by scaling the PSF of the camera scale calculated by the PSF dot size calculating part, using the dot size calculated by the PSF dot size calculating part.
(8) The image processing apparatus described in any one of the above (1) to (7), in which
the test pattern is used for Structured Light (SL).
(9) The image processing apparatus described in any one of the above (1) to (7), in which
the test pattern is used for Imperceptible Structured Light (ISL).
(10) An image processing method including:
by an image processing apparatus
(11) A program causing a computer to function as:
a PSF calculating part that projects a test pattern having a plurality of small patterns arranged in an overall projection plane, the plurality of small patterns each having a plurality of one-pixels arranged at predetermined intervals each in a predetermined area, and that calculates a PSF (Point Spread Function) of a projector at each of positions in the projection plane, using an imaged image obtained by imaging the projected test pattern.
100 Projection imaging system, 101 Projection imaging apparatus, 102 Screen, 111 Projector, 112 Camera, 113 PSF dot size calculating part, 114 Projector PSF calculating part, 115 Correcting part, 116 Output control part, 117 Storing part, 151 Pre-processing part, 152 Frame area extracting part, 153 In-frame dot area extracting part, 154 Dot peak coordinate detecting part, 155 Dot size calculating part
Number | Date | Country | Kind |
---|---|---|---|
2017-034785 | Feb 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2018/004980 | 2/14/2018 | WO | 00 |