WO2010021009A1 - 画像補正装置および画像補正方法 - Google Patents
画像補正装置および画像補正方法 Download PDFInfo
- Publication number
- WO2010021009A1 WO2010021009A1 PCT/JP2008/002237 JP2008002237W WO2010021009A1 WO 2010021009 A1 WO2010021009 A1 WO 2010021009A1 JP 2008002237 W JP2008002237 W JP 2008002237W WO 2010021009 A1 WO2010021009 A1 WO 2010021009A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- gradient
- image
- pixel
- correction
- blur
- Prior art date
Links
- 238000003702 image correction Methods 0.000 title claims description 49
- 238000000034 method Methods 0.000 title claims description 44
- 238000012937 correction Methods 0.000 claims abstract description 85
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000003708 edge detection Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
Definitions
- the present invention relates to an image correction apparatus and an image correction method, and can be applied to, for example, an image correction apparatus and an image correction method for correcting image blur.
- a method of sharpening the edge of an object or texture in an image is known as a technique for correcting camera shake (in this case, it does not include blur due to movement of a subject).
- Pixel values usually change sharply at the edges of objects or textures in the image.
- the profile shown in FIG. 1 shows changes in pixel values (here, luminance levels) at the edges.
- the horizontal axis of this profile represents the pixel position. Note that, since the luminance level is inclined (that is, ramped) at the edge, the region where the edge exists may be referred to as a “ramp region” in this specification.
- the luminance level of each pixel is lowered in a region (A region) where the luminance level is lower than the center level.
- the luminance level of each pixel is increased in the region (B region) where the luminance level is higher than the center level. Note that the brightness level is not corrected outside the lamp area. Such correction reduces the width of the ramp area and sharpens the edges. This method is described in Non-Patent Document 1, for example.
- Patent Document 1 describes an image processing method for performing blur correction on an image in which only a part of the region is blurred. That is, the edge detection means detects an edge in every eight different directions in the reduced image.
- the block dividing means divides the reduced image into 16 parts.
- the analysis unit determines whether or not the image of each block is a blurred image, and detects blur information (blur width L, blur degree, blur direction) of the block image that is a blurred image.
- the parameter setting means sets the correction parameter based on the blur information and sets the correction strength ⁇ according to the blur width L.
- An object of the present invention is to provide an image correction apparatus and an image correction method for appropriately correcting blurring without deteriorating image quality.
- the image correction apparatus includes a gradient detection unit that detects a gradient of a pixel value for each pixel of the input image, a blur width detection unit that detects a blur width at each pixel position of the input image, and the gradient detection unit. Based on the detected gradient and the blur width detected by the blur width detector, a correction area specifying unit that specifies an area to be corrected, and pixel values of pixels in the area specified by the correction area specifying unit A correction unit for correcting.
- the image correction apparatus may further include an edge detection filter for detecting an edge in the input image.
- the size of the edge detection filter is determined according to the size of the input image, for example.
- the gradient detection unit calculates the gradient of the pixel value for each pixel using the calculation result of the edge detection filter.
- the blur width detection unit detects the blur width at each pixel position using the calculation result of the edge detection filter.
- the correction area specifying unit for example, has a gradient detected by the gradient detection unit larger than a gradient threshold value and a blur width detected by the blur width detection unit is blurred. An area smaller than the width threshold is specified as an area to be corrected.
- FIG. 2 is a diagram illustrating a configuration of the image correction apparatus according to the embodiment.
- the image correction apparatus 1 according to the embodiment is not particularly limited, and for example, corrects an image obtained by an electronic camera.
- the image correction apparatus 1 basically corrects camera shake. Camera shake occurs, for example, when the photographing apparatus moves during photographing of an image. Further, image degradation caused by camera shake mainly occurs at the edge of an object or texture in the image. Therefore, the image correction apparatus 1 corrects camera shake by sharpening an edge and / or enhancing a contour.
- the image correction apparatus 1 includes an edge detection unit 11, a filter selection unit 12, a gradient detection unit 13, a blur width detection unit 14, a correction region specification unit 15, and a correction unit 16.
- the edge detection unit 11 is a Sobel filter in this embodiment, and performs a filter operation for each pixel of the input image. By this filter operation, the edge of the object or texture in the input image is detected.
- the edge detection unit 11 includes a plurality of Sobel filters having different sizes. In this embodiment, a set of 3 ⁇ 3 Sobel filters shown in FIG. 3 and a set of 5 ⁇ 5 Sobel filters shown in FIG. 4 are provided.
- One set of Sobel filters is an X-direction Sobel filter and a Y-direction Sobel filter.
- the Sobel filter performs a filter operation using the pixel values (for example, luminance level values) of the target pixel and neighboring pixels. That is, the 3 ⁇ 3 Sobel filter performs a filter operation using the luminance level values of the target pixel and the surrounding 8 pixels (total, 9 pixels).
- the 5 ⁇ 5 Sobel filter performs a filter operation using luminance level values of the target pixel and its surrounding 24 pixels (25 pixels in total). By this filter operation, the gradient of the pixel value for each pixel is calculated.
- the filter selection unit 12 determines a Sobel filter to be used in the edge detection unit 11 according to the size of the input image.
- the size of the input image is defined by the number of pixels, for example. In this case, although not particularly limited, a 3 ⁇ 3 Sobel filter is selected if the size of the input image is 1M pixels or less, and a 5 ⁇ 5 Sobel filter is selected if the size of the input image is larger than 1M pixels. .
- the edge detection unit 11 performs a filter operation on the input image using the Sobel filter selected by the filter selection unit 12. Note that as the image size increases, the blur area generally increases. Therefore, appropriate edge detection can be performed by changing the size of the Sobel filter in accordance with the size of the input image.
- the gradient detector 13 detects the gradient of the pixel value for each pixel of the input image.
- the gradient detection unit 13 calculates the gradient of the luminance level value for each pixel of the input image using the result of the filter calculation by the edge detection unit 11.
- the blur width detection unit 14 calculates the blur width at each pixel position using the result of the filter calculation performed by the edge detection unit 11.
- the correction area specifying unit 15 specifies an area to be corrected based on both the gradient detected by the gradient detecting unit 13 and the shake width detected by the shake width detecting unit 14.
- the correction unit 16 corrects the pixel value of the pixel in the area specified by the correction area specifying unit 15. Note that the correction unit 16 performs, for example, contour correction that sharpens edges and / or contour enhancement.
- FIG. 5 is a diagram for explaining the operation of the correction area specifying unit 15.
- the correction area specifying unit 15 specifies an area to be corrected based on both the gradient detected by the gradient detecting unit 13 and the blur width detected by the blur width detecting unit 14.
- the image quality may deteriorate.
- the region where the gradient of the pixel value is small regions 1 and 3
- camera shake correction is performed, the image after correction becomes unnatural or the effect of improving the image quality by correction becomes small.
- the gradient detected by the gradient detector 13 is larger than the gradient threshold, and the blur width detected by the blur width detector 14 is greater than the blur width threshold.
- the pixel values of the pixels belonging to the specified area are corrected.
- the corrected image does not become unnatural, and the image quality improvement effect by the correction is great.
- the number of pixels to be corrected is reduced, so that the processing time is shortened and the load on the processor that performs the correction calculation is reduced.
- the blur width threshold is not particularly limited, but is defined according to the size of the input image, for example. As an example, 1% of the number of pixels in the X direction of the frame is defined as the blur width threshold. In this case, for example, in a 5M pixel image (2560 ⁇ 1920 pixels), the blur width threshold is 25 pixels. That is, if the blur width detected at a certain pixel position is 25 pixels or less, the pixel position belongs to the areas 3 and 4, and if the blur width detected at a certain pixel position is larger than 25 pixel width, The pixel position belongs to the areas 1 and 2. Note that the blur width threshold value may be defined based on other criteria. For example, in the experiment or simulation, the corrected image is monitored while changing the blur threshold, and the blur threshold is set so that an optimal image (for example, the most natural image seen by human eyes) can be obtained. It may be determined.
- the gradient threshold value is not particularly limited, but is determined by experiment or simulation, for example.
- the corrected image is monitored while changing the gradient threshold value, and the gradient threshold value is determined so as to obtain an optimum image (for example, the most natural image as seen by human eyes).
- the gradient threshold value may be determined in consideration of image noise. That is, for example, when image noise appears as a gradient of pixel values, camera shake correction is performed on the noise. In this case, noise is emphasized, and the image quality of the corrected image is deteriorated more than the original image. For this reason, in an image with large noise, the gradient threshold value may be made larger than normal. Alternatively, in an image with low noise, the gradient threshold value may be made smaller than normal.
- the pixel values of the pixels belonging to the regions 1 to 3 shown in FIG. 5 are not corrected, so that the image becomes unnatural due to the correction or the image quality is corrected. Will not deteriorate. Further, the amount of calculation for image correction is reduced, and the power consumption is also reduced.
- the image correction apparatus 1 may include a smoothing filter for smoothing the input image, for example, upstream of the edge detection unit 11.
- the size of the smoothing filter may be determined according to the size of the input image. If a smoothing filter is provided, noise in the input image can be removed or reduced.
- FIG. 6 is a flowchart illustrating an image correction method according to the embodiment.
- image data of an input image is input.
- the image data includes a pixel value of each pixel (in this embodiment, a luminance level value).
- step S2 the size of the Sobel filter to be used by the edge detection unit 11 is determined. As described above, the size of the Sobel filter is determined according to the size of the input image.
- step S3 the Sobel filter operation is executed for each pixel of the input image using the filter determined in step S2. The Sobel filter calculation is performed for each of the X direction and the Y direction.
- the Sobel filter calculates the amount of change in the luminance level (that is, the gradient of the luminance level) using the luminance level values of the pixels around the target pixel.
- the calculation result of the Sobel filter is zero or a small value close to zero.
- the calculation result by the X direction Sobel filter becomes a positive value.
- the calculation result by the X direction Sobel filter is a negative value.
- the luminance level changes greatly or sharply in the edge region of the object or texture in the image. Therefore, the value of the calculation result of the Sobel filter becomes large in the edge region. That is, the edge can be detected from the calculation result by the Sobel filter.
- step S4 the gradient of the brightness level is calculated for each pixel of the input image.
- the gradient gradMag of the brightness level is calculated by the following equation (1). “GradX” is the calculation result of the X-direction Sobel filter, and “gradY” is the calculation result of the Y-direction Sobel filter.
- the gradient may be calculated by the following equation (2) instead of the above equation (1).
- step S5 the gradient gradMag obtained for each pixel is compared with the gradient threshold. If the gradient gradMag is larger than the gradient threshold value, the pixel is determined as a correction target. On the other hand, if the gradient gradMag is equal to or less than the gradient threshold, it is determined that the pixel is not a correction target.
- the luminance level value is represented by “0” to “255”.
- the gradient threshold value is not particularly limited, but is, for example, about 10 percent of the maximum value of the luminance level. In this case, the gradient threshold is “25”.
- the method for determining the gradient threshold value is not particularly limited, and may be determined by experiment or simulation as described above.
- the method for detecting the blur width is not particularly limited, but here, the blur width at each pixel position is detected by the following method.
- Zone 1 to Zone 8 it is determined whether the gradient direction belongs to Zone 1 to Zone 8 shown in FIG. Zone 1 to Zone 8 are as follows.
- Zone1 0 ⁇ PixDirection ⁇ / 4 and gradX> 0
- Zone 2 ⁇ / 4 ⁇ PixDirection ⁇ / 2 and gradY> 0
- Zone3 ⁇ / 2 ⁇ PixDirection ⁇ / 4 and gradY ⁇ 0
- Zone 4 ⁇ / 4 ⁇ PixDirection ⁇ 0 and gradX ⁇ 0
- Zone 5 0 ⁇ PixDirection ⁇ / 4 and gradX ⁇ 0
- Zone 6 ⁇ / 4 ⁇ PixDirection ⁇ / 2 and gradY ⁇ 0
- Zone 7 ⁇ / 2 ⁇ PixDirection ⁇ / 4 and gradY> 0
- Zone8 - ⁇ / 4 ⁇ PixDirection ⁇ 0 and gradX> 0
- step S7 the blur
- FIG. 8 is a diagram for explaining a method for detecting the blur width based on the direction of the gradient of the luminance level.
- the direction of the gradient of the luminance level may be referred to as “gradient direction ⁇ ”.
- “1” shown in FIG. 8 indicates that the gradient direction ⁇ belongs to Zone 1 shown in FIG. Zone 2 to Zone 8 are omitted.
- the gradient direction ⁇ of the edge region of the object or texture should be almost the same.
- a region in which pixels in the same gradient direction ⁇ are continuous is considered as an edge region in a camera shake image.
- the width of the region in which pixels in the same gradient direction ⁇ are continuous corresponds to the blur width due to camera shake.
- step S8 the correction target area is specified using the detection result in step S7.
- the pixel that should not be corrected is identified using the detection result in step S7.
- the number of pixels in which the gradient direction ⁇ is the same (hereinafter referred to as the continuous pixel number C) is compared with a predetermined threshold value.
- the threshold value is “8”.
- the continuous pixel count C in the X direction is “10”, which is larger than the threshold value.
- the four pixels (Q1 to Q4) arranged on the left side of the target pixel P and the five pixels (Q5 to Q9) arranged on the right side of the target pixel P are excluded from correction targets.
- the method for detecting the blur width is not particularly limited, and may be detected by other methods.
- the blur width may be calculated based on the magnitude of the motion vector between the continuous shot images. In this case, for example, when the magnitude of the motion vector exceeds 1% of the horizontal width of the input image, it is determined that the blur width has exceeded the blur width threshold.
- step S9 correction processing is performed on the pixels belonging to the area specified in steps S2 to S8.
- steps S4 to S5 pixels whose luminance level gradient is larger than the gradient threshold are specified. That is, the pixels belonging to the areas 2 and 4 shown in FIG. 5 are specified.
- steps S6 to S8 a region where the blur width is larger than the blur width threshold is specified. That is, the pixels belonging to the areas 3 and 4 shown in FIG. 5 are specified. Accordingly, the luminance level is corrected only for the pixels belonging to the region 4 shown in FIG.
- steps S4 to S5 the pixels belonging to the regions 1 and 3 are excluded.
- steps S6 to S8 the pixels belonging to the regions A and B are excluded. As a result, correction for pixels that may cause side effects is no longer performed, so that camera shake can be corrected while preventing deterioration in image quality.
- step S9 the correction method in step S9 will be described in detail with reference to the flowchart shown in FIG.
- the following correction processing is performed for pixels belonging to the area specified in steps S2 to S8.
- step S11 the evaluation indices I H , I M , I L , G H , G M , and G L are calculated for each pixel.
- step S12 it is determined for each pixel whether or not it belongs to the blur range by using the evaluation indices I H , I M , and I L.
- Steps S13 to S15 are executed for the pixels determined to belong to the blur range.
- step S13 it is determined whether the luminance of the target pixel should be corrected using the evaluation indexes G H , G M , and G L for the target pixel. If correction is necessary, in step S14, the correction amount is calculated using the evaluation indexes I H , I M , I L , G H , G M , and G L. In step S15, the original image is corrected according to the calculated correction amount.
- steps S11 to S15 shown in FIG. 9 correspond to processing for sharpening an edge by narrowing the width of the ramp region (region where the luminance level value is inclined).
- steps S11 to S15 will be described.
- Pixel density indexes I H , I M , and I L are calculated for each pixel specified by the procedure shown in FIG. 6 (that is, each pixel belonging to the region 4 shown in FIG. 5).
- the pixel density indexes I H , I M , and I L depend on the gradient direction obtained by the above equation (3).
- the pixel density indexes I H , I M , and I L are calculated when the gradient direction belongs to Zone 1 (0 ⁇ ⁇ ⁇ / 4).
- the gradient direction of the pixel (i, j) is referred to as “ ⁇ (i, j)”.
- I H (0) 0.25 ⁇ ⁇ P (i + 1, j + 1) + 2 ⁇ P (i, j + 1) + P (i ⁇ 1, j + 1) ⁇
- I M (0) 0.25 ⁇ ⁇ P (i + 1, j) + 2 ⁇ P (i, j) + P (i ⁇ 1, j) ⁇
- I L (0) 0.25 ⁇ ⁇ P (i + 1, j ⁇ 1) + 2 ⁇ P (i, j ⁇ 1) + P (i ⁇ 1, j ⁇ 1) ⁇
- ⁇ ⁇ / 4”.
- FIG. 11, and FIG. 12 are diagrams showing the configurations of filters for obtaining the pixel density indexes I H , I M , and I L , respectively.
- the pixel density indexes I H , I M , and I L in predetermined eight directions can be calculated. Then, the pixel density index I H of each Zone is calculated by the following equation using the corresponding two-direction pixel density index I H.
- the pixel density index I M of each Zone is calculated by the following equation using the corresponding two-direction pixel density index I M.
- I M, Zone1 I M (0) ⁇ w15 + I M ( ⁇ / 4) ⁇ (1 ⁇ w15) I M
- Zone2 I M ( ⁇ / 2) ⁇ w26 + I M ( ⁇ / 4) ⁇ (1-w26) I M
- Zone3 I M ( ⁇ / 2) ⁇ w37 + I M (3 ⁇ / 4) ⁇ (1-w37) I M
- Zone4 I M ( ⁇ ) ⁇ w48 + I M (3 ⁇ / 4) ⁇ (1-w48) I M
- Zone5 I M ( ⁇ ) ⁇ w15 + I M ( ⁇ 3 ⁇ / 4) ⁇ (1 ⁇ w15) I M
- Zone6 I M ( ⁇ / 2) ⁇ w26 + I M ( ⁇ 3 ⁇ / 4) ⁇ (1 ⁇ w26) I M
- Zone7 I M ( ⁇ / 2) ⁇ w37 + I M
- the pixel concentration index I L of each Zone utilizes the pixel concentration index I L corresponding two directions is calculated by the following equation.
- gradient indexes G H , G M , and G L are calculated for each pixel.
- the gradient indexes G H , G M , and G L depend on the direction of the gradient obtained by the above equation (3), similarly to the pixel density indexes I H , I M , and I L. Therefore, similarly to the pixel density index, first, an example is shown in which the gradient indices G H , G M , and G L in Zone 1 (0 ⁇ ⁇ ⁇ / 4) are calculated.
- G H ( ⁇ / 4) 0.5 ⁇ ⁇ gradMag (i + 1, j) + gradMag (i, j + 1) ⁇
- G M ( ⁇ / 4) gradMag (i, j)
- G L ( ⁇ / 4) 0.5 ⁇ ⁇ gradMag (i, j ⁇ 1) + gradMag (i ⁇ 1, j) ⁇
- G H, Zone1 G H (0) x ⁇ + G H ( ⁇ / 4) x (1- ⁇ ) G M
- Zone1 G M (0) ⁇ ⁇ + G M ( ⁇ / 4)
- ⁇ (1 ⁇ ) gradMag (i, j) G L
- the gradient index G M without depending on the direction of the gradient theta, is always "gradMag (i, j)". That is, the gradient index G M of each pixel, regardless of the direction ⁇ of the gradient is calculated by the equation (1) or (2) below.
- FIG. 13 and FIG. 14 are diagrams showing the configurations of filters for obtaining the gradient indices G H and G L , respectively.
- Zone1 G L (0) x w15 + G L ( ⁇ / 4) x (1-w15) G L
- Zone2 G L ( ⁇ / 2) x w26 + G L ( ⁇ / 4) x (1-w26) G L
- Zone3 G L ( ⁇ / 2) ⁇ w37 + G L (3 ⁇ / 4) ⁇ (1-w37) G L
- Zone4 GL ( ⁇ ) ⁇ w48 + GL (3 ⁇ / 4) ⁇ (1-w48) GL
- Zone5 GL ( ⁇ ) ⁇ w15 + GL ( ⁇ 3 ⁇ / 4) ⁇ (1 ⁇ w15) G L
- Zone6 G L ( ⁇ / 2) ⁇ w26 + G L ( ⁇ 3 ⁇ / 4) ⁇ (1 ⁇ w26) G L
- Zone7 G L ( ⁇ / 2) ⁇ w37 + G L ( ⁇ ⁇ w37 + G L ( ⁇
- an evaluation index (pixel density index I) is calculated for each pixel.
- H , I M , I L and gradient indices G H , G M , G L ) are calculated. These evaluation indexes are used for detecting a blur range and calculating a correction amount.
- Equation (4) indicates that the target pixel is located in the middle of the luminance slope.
- a pixel having a pixel density index satisfying the expression (4) is determined to belong to the blurring range (or arranged on the edge). That is, it is determined that the pixel satisfying the expression (4) needs to be corrected.
- a pixel whose pixel density index does not satisfy Expression (4) is determined not to belong to the blurring range. That is, it is determined that a pixel that does not satisfy Expression (4) does not need to be corrected.
- the pixels in the lamp area shown in FIG. 1 are basically determined to belong to the blurring range according to the above equation (4).
- Case 1 G H > G M > G L
- Case 2 G H ⁇ G M ⁇ G L
- Case 3 G H ⁇ G M and G L ⁇ G M
- Case 1 represents that the luminance gradient becomes steep. Therefore, the pixels belonging to case 1 are considered to belong to a region (A region) whose luminance level is lower than the center level in the edge ramp region shown in FIG.
- Case 2 represents that the luminance gradient becomes gentle. Therefore, the pixels belonging to Case 2 are considered to belong to a region (B region) whose luminance level is higher than the center level.
- Case 3 represents that the gradient of the target pixel is higher than the gradient of the adjacent pixels. That is, the pixels belonging to case 3 are considered to have a luminance level belonging to the center level or its neighboring area (C area). Then, the correction amount of the brightness level is calculated for each pixel extracted as the correction target.
- the luminance correction amount Leveldown of the pixel is expressed by the following equation. “S” is a correction factor, and “ ⁇ ” is obtained by the above equation (3).
- the luminance correction amount Levelup of the pixel is expressed by the following equation.
- the correction amount is zero. Even when the pixel does not belong to any of cases 1 to 3, the correction amount is zero.
- Step S15 The pixel value (for example, luminance level) of each pixel of the original image is corrected.
- pixel data Image (i, j) obtained by correction for the pixel (i, j) is obtained by the following equation.
- “Originai (i, j)” is pixel data of the pixel (i, j) of the original image.
- Image (i, j) Originai (i, j)-Leveldown (i, j)
- Image (i, j) Originai (i, j) + Levelup (i, j)
- image (i, j) Originai (i, j)
- the contour enhancement is not particularly limited, but is realized by, for example, an unsharp mask.
- the unsharp mask calculates a difference iDiffValue (i, j) between the original image and the smoothed image. This difference also represents the direction of change. Then, this difference is adjusted using the coefficient iStrength, and the adjusted difference is added to the original image. Thereby, an outline is emphasized.
- FIG. 15 shows an original image.
- FIG. 16 shows a corrected image by the correction method of the embodiment.
- FIG. 17 shows an image obtained by correcting the pixels belonging to the region 1 shown in FIG. As shown in FIG. 16, according to the correction method of the embodiment, the blurring of the contour is corrected. On the other hand, in the corrected image shown in FIG.
- FIG. 18 and FIG. 19 show pixels with corrected luminance levels.
- the pixel whose luminance level is corrected is represented in white.
- FIGS. 18 and 19 correspond to FIGS. 16 and 17, respectively.
- the number of pixels whose luminance level is corrected is reduced.
- FIG. 20 to 22 are diagrams for explaining the second embodiment.
- FIG. 20 shows an original image.
- FIG. 21 shows a corrected image obtained by the correction method of the embodiment.
- FIG. 22 shows an image obtained by correcting the pixels belonging to the region 3 shown in FIG.
- the blurring of the contour is corrected.
- the corrected image shown in FIG. 22 the unevenness of the face surface is emphasized and unnatural.
- the edge shape may become unnatural.
- FIG. 23 is a diagram illustrating a hardware configuration related to the image correction apparatus 1 of the embodiment.
- the CPU 101 uses the memory 103 to execute an image correction program.
- the storage device 102 is, for example, a hard disk and stores an image correction program. Note that the storage device 102 may be an external recording device.
- the memory 103 is a semiconductor memory, for example, and includes a RAM area and a ROM area.
- the reading device 104 accesses the portable recording medium 105 in accordance with an instruction from the CPU 101.
- the portable recording medium 105 includes, for example, a semiconductor device (PC card or the like), a medium to / from which information is input / output by a magnetic action, and a medium to / from which information is input / output by an optical action.
- the communication interface 106 transmits / receives data via a network in accordance with instructions from the CPU 101.
- the input / output device 107 corresponds to a camera, a display device, a device that receives an instruction from a user, or the like.
- the image correction program according to the embodiment is provided in the following form, for example. (1) Installed in advance in the storage device 102. (2) Provided by the portable recording medium 105. (3) Download from the program server 110.
- the image correction apparatus according to the embodiment is realized by executing the image correction program on the computer having the above configuration.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Studio Devices (AREA)
Abstract
勾配検出部13は、入力画像の各画素について画素値の勾配を検出する。ぶれ幅検出部14は、入力画像の各画素位置におけるぶれ幅を検出する。補正領域特定部15は、勾配検出部13により検出された勾配およびぶれ幅検出部14により検出されたぶれ幅に基づいて、補正を行うべき領域を特定する。補正部16は、補正領域特定部15により特定された領域内の画素の画素値を補正する。
Description
本発明は、画像補正装置および画像補正方法に係わり、例えば、画像のぶれを補正するための画像補正装置および画像補正方法に適用することができる。
撮影された画像の手ぶれ(ここでは、被写体の移動によるぶれを含まないものとする)を補正する技術として、例えば、画像内のオブジェクトまたはテクスチャのエッジをシャープにする方法が知られている。
画像内のオブジェクトまたはテクスチャのエッジにおいては、通常、画素値(輝度、濃度など)が急激に変化する。図1に示すプロファイルは、エッジにおける画素値(ここでは、輝度レベル)の変化を示している。また、このプロファイルの横軸は、画素の位置を表している。なお、エッジにおいては、輝度レベルが傾斜(すなわち、ランプ)しているので、本明細書ではエッジが存在する領域を「ランプ領域」と呼ぶことがある。
エッジをシャープにするためには、例えば、図1に示すように、輝度レベルが中心レベルよりも低い領域(A領域)では、各画素の輝度レベルは下げられる。一方、輝度レベルが中心レベルよりも高い領域(B領域)では、各画素の輝度レベルは上げられる。なお、ランプ領域の外側では、輝度レベルの補正は行われない。このような補正により、ランプ領域の幅が狭められ、エッジがシャープになる。この方法は、例えば、非特許文献1に記載されている。
また、関連する技術として、特許文献1には、一部の領域のみがぼけている画像において、ぼけ補正を行う画像処理方法が記載されている。すなわち、エッジ検出手段は、縮小画像において8つの異なる方向毎にエッジを検出する。ブロック分割手段は、縮小画像を16分割する。解析手段は、各ブロックの画像がぼけ画像であるか否かを判断すると共に、ぼけ画像であるブロック画像のぼけ情報(ぼけ幅L、ぶれ度、ぼけ方向)を検出する。パラメータ設定手段は、ぼけ情報に基づいて、補正パラメータを設定すると共に、ぼけ幅Lに応じて補正強度αを設定する。
ところが、すべてのエッジをシャープにすると、不自然な画像が得られることがある。また、この場合、不必要な補正が行われるので、処理時間の増大を招くこともある。さらに、ぶれ幅に応じて補正強度を設定する方法では、エッジの輝度の変化が過剰に急峻に補正されてしまい、「影」が目立ち過ぎたり、人の顔の凹凸が強調されて皺にみえてしまうことがある。すなわち、ぶれ補正により画質が劣化することがある。
特開2005-332381号公報
J.-G Leu, Edge sharpening through ramp width reduction, Image and Vision Computing 18 (2000) 501-514
本発明の課題は、画質を劣化させることなく、ぶれを適切に補正する画像補正装置および画像補正方法を提供することである。
実施形態の画像補正装置は、入力画像の各画素について画素値の勾配を検出する勾配検出部と、前記入力画像の各画素位置におけるぶれ幅を検出するぶれ幅検出部と、前記勾配検出部により検出された勾配および前記ぶれ幅検出部により検出されたぶれ幅に基づいて、補正を行うべき領域を特定する補正領域特定部と、前記補正領域特定部により特定された領域の画素の画素値を補正する補正部、を有する。
実施形態の画像補正装置は、入力画像の各画素について画素値の勾配を検出する勾配検出部と、前記入力画像の各画素位置におけるぶれ幅を検出するぶれ幅検出部と、前記勾配検出部により検出された勾配および前記ぶれ幅検出部により検出されたぶれ幅に基づいて、補正を行うべき領域を特定する補正領域特定部と、前記補正領域特定部により特定された領域の画素の画素値を補正する補正部、を有する。
この画像補正装置は、前記入力画像内のエッジを検出するエッジ検出フィルタをさらに備えるようにしてもよい。この場合、エッジ検出フィルタのサイズは、例えば、入力画像のサイズに応じて決定される。そして、勾配検出部は、エッジ検出フィルタの演算結果を利用して、各画素について画素値の勾配を算出する。また、ぶれ幅検出部は、エッジ検出フィルタの演算結果を利用して、各画素位置におけるぶれ幅を検出する。
上記構成の画像補正装置において、前記補正領域特定部は、例えば、前記勾配検出部により検出された勾配が勾配しきい値よりも大きく、かつ、前記ぶれ幅検出部により検出されたぶれ幅がぶれ幅しきい値よりも小さい領域を、補正を行うべき領域として特定する。
図2は、実施形態の画像補正装置の構成を示す図である。実施形態の画像補正装置1は、特に限定されるものではないが、例えば、電子カメラにより得られた画像を補正する。また、画像補正装置1は、基本的に、手ぶれを補正するものとする。手ぶれは、例えば、画像の撮影時に撮影装置が動くことによって発生する。また、手ぶれに起因する画像の劣化は、主に、画像内のオブジェクトまたはテクスチャのエッジにおいて発生する。よって、画像補正装置1は、エッジをシャープにすることによって、及び/又は、輪郭を強調することによって、手ぶれを補正する。
画像補正装置1は、エッジ検出部11、フィルタ選択部12、勾配検出部13、ぶれ幅検出部14、補正領域特定部15、補正部16を備える。エッジ検出部11は、この実施例ではSobelフィルタであり、入力画像の各画素についてフィルタ演算を行う。このフィルタ演算により、入力画像内のオブジェクトまたはテクスチャのエッジが検出される。また、エッジ検出部11は、サイズの異なる複数のSobelフィルタを備えている。この実施例では、図3に示す1組の3×3Sobelフィルタ、及び図4に示す1組の5×5Sobelフィルタを備えている。1組のSobelフィルタは、X方向SobelフィルタおよびY方向Sobelフィルタである。
Sobelフィルタは、対象画素およびその近傍の画素の画素値(例えば、輝度レベル値)を用いてフィルタ演算を行う。すなわち、3×3Sobelフィルタは、対象画素およびその周辺の8画素(合計、9画素)の輝度レベル値を用いてフィルタ演算を行う。5×5Sobelフィルタは、対象画素およびその周辺の24画素(合計、25画素)の輝度レベル値を用いてフィルタ演算を行う。このフィルタ演算により、各画素についての画素値の勾配が算出される。
フィルタ選択部12は、入力画像のサイズ応じて、エッジ検出部11において使用すべきSobelフィルタを決定する。入力画像のサイズは、例えば、画素数により定義される。この場合、特に限定されるものではないが、入力画像のサイズが1Mピクセル以下であれば3×3Sobelフィルタが選択され、入力画像のサイズが1Mピクセルよりも大きければ5×5Sobelフィルタが選択される。そして、エッジ検出部11は、フィルタ選択部12により選択されたSobelフィルタを用いて入力画像に対してフィルタ演算を行う。なお、画像サイズが大きくなると、一般に、ぶれ領域も大きくなる。したがって、入力画像のサイズに応じてSobelフィルタのサイズを変えることにより、適切なエッジ検出が可能になる。
勾配検出部13は、入力画像の各画素について画素値の勾配を検出する。この実施例では、勾配検出部13は、エッジ検出部11によるフィルタ演算の結果を利用して、入力画像の各画素について輝度レベル値の勾配を算出する。ぶれ幅検出部14は、エッジ検出部11によるフィルタ演算の結果を利用して、各画素位置におけるぶれ幅を算出する。
補正領域特定部15は、勾配検出部13により検出された勾配およびぶれ幅検出部14により検出されたぶれ幅の双方に基づいて、補正を行うべき領域を特定する。補正部16は、補正領域特定部15により特定された領域の画素の画素値を補正する。なお、補正部16は、例えば、エッジをシャープにする輪郭補正、及び/又は、輪郭強調を行う。
図5は、補正領域特定部15の動作を説明する図である。補正領域特定部15は、上述したように、勾配検出部13により検出された勾配およびぶれ幅検出部14により検出されたぶれ幅の双方に基づいて、補正を行うべき領域を特定する。ここで、ぶれ幅が大きい領域(領域1、2)においては、エッジのシャープ化などの手ぶれ補正を行うと、画質が劣化することがある。また、画素値の勾配が小さい領域(領域1、3)では、手ぶれ補正を行うと、補正後の画像が不自然になるか、補正による画質の改善効果が小さい。
したがって、実施形態の画像補正装置1においては、勾配検出部13により検出された勾配が勾配しきい値よりも大きく、かつ、ぶれ幅検出部14により検出されたぶれ幅がぶれ幅しきい値よりも小さい領域(すなわち、領域4)が、補正を行うべき領域として特定される。そして、特定された領域に属する画素の画素値が補正される。この結果、補正後の画像が不自然になることはなく、また、補正による画質の改善効果も大きい。さらに、領域1~3に属する画素について補正を行わないため、補正を行うべき画素数が少なくなるので、処理時間が短くなると共に、補正演算を行うプロセッサの負荷が小さくなる。
ぶれ幅しきい値は、特に限定されるものではないが、例えば、入力画像のサイズに応じて定義される。一例としては、フレームのX方向の画素数の1パーセントがぶれ幅しきい値と定義される。この場合、例えば、5Mピクセル画像(2560×1920画素)においては、ぶれ幅しきい値は25画素である。すなわち、ある画素位置において検出されたぶれ幅が25画素幅以下であれば、その画素位置は領域3、4に属し、ある画素位置において検出されたぶれ幅が25画素幅よりも大きければ、その画素位置は領域1、2に属することになる。なお、ぶれ幅しきい値は、他の基準に基づいて定義するようにしてもよい。例えば、実験またはシミュレーションにおいてぶれ幅しきい値を変えながら補正後の画像をモニタし、最適な画像(例えば、人の目で見て最も自然な画像)が得られるようにぶれ幅しきい値を決定するようにしてもよい。
勾配しきい値は、特に限定されるものではないが、例えば、実験またはシミュレーションにより決定される。この場合、勾配しきい値を変えながら補正後の画像をモニタし、最適な画像(例えば、人の目で見て最も自然な画像)が得られるように勾配しきい値が決定される。また、勾配しきい値は、画像のノイズを考慮して決定するようにしてもよい。すなわち、例えば、画像のノイズが画素値の勾配として表れる場合には、そのノイズに対して手ぶれ補正が行われてしまう。この場合、ノイズが強調されてしまい、原画像よりも補正後の画像の画質の方が劣化してしまう。このため、ノイズが大きい画像においては、通常時よりも勾配しきい値を大きくするようにしてもよい。あるいは、ノイズが小さい画像においては、通常時よりも勾配しきい値を小さくするようにしてもよい。
このように、実施形態の画像補正装置1においては、図5に示す領域1~3に属する画素については画素値の補正を行わないので、補正により画像が不自然になったり、或いは補正により画質が劣化することはない。さらに、画像補正のための演算量が少なくなり、消費電力も少なくなる。
なお、画像補正装置1は、例えばエッジ検出部11の前段に、入力画像を平滑化するための平滑化フィルタを備えてもよい。この場合、平滑化フィルタのサイズは、入力画像のサイズに応じて決めるようにしてもよい。平滑化フィルタを設ければ、入力画像のノイズを除去または低減することができる。
図6は、実施形態の画像補正方法を示すフローチャートである。以下、このフローチャートを参照しながら、実施形態の画像補正方法を詳しく説明する。
<エッジの検出>
ステップS1では、入力画像の画像データが入力される。画像データは、各画素の画素値(この実施例では、輝度レベル値)を含んでいる。ステップS2では、エッジ検出部11が使用すべきSobelフィルタのサイズが決定される。Sobelフィルタのサイズは、上述したように、入力画像のサイズに応じて決定される。そして、ステップS3において、ステップS2で決められたフィルタを用いて、入力画像の各画素についてSobelフィルタ演算が実行される。なお、Sobelフィルタ演算は、X方向およびY方向それぞれについて行われる。
<エッジの検出>
ステップS1では、入力画像の画像データが入力される。画像データは、各画素の画素値(この実施例では、輝度レベル値)を含んでいる。ステップS2では、エッジ検出部11が使用すべきSobelフィルタのサイズが決定される。Sobelフィルタのサイズは、上述したように、入力画像のサイズに応じて決定される。そして、ステップS3において、ステップS2で決められたフィルタを用いて、入力画像の各画素についてSobelフィルタ演算が実行される。なお、Sobelフィルタ演算は、X方向およびY方向それぞれについて行われる。
Sobelフィルタは、図3および図4に示すように、対象画素の周辺の画素の輝度レベル値を利用して、輝度レベルの変化量(すなわち、輝度レベルの勾配)を計算する。輝度レベルが一定の領域では、Sobelフィルタの演算結果は、ゼロまたはゼロに近い小さな値になる。ところが、X方向において輝度レベルが大きくなっていく領域では、X方向Sobelフィルタによる演算結果が正の値となる。また、X方向において輝度レベルが小さくなっていく領域では、X方向Sobelフィルタによる演算結果が負の値となる。Y方向においても同様である。ここで、画像内のオブジェクトまたはテクスチャのエッジ領域では、一般に、輝度レベルが大きくまたは急峻に変化する。したがって、エッジ領域では、Sobelフィルタの演算結果の値が大きくなる。すなわち、Sobelフィルタによる演算結果からエッジを検出することができる。
<輝度レベルの勾配の検出>
ステップS4では、入力画像の各画素について、輝度レベルの勾配が算出される。輝度レベルの勾配gradMagは、下記(1)式で算出される。なお、「gradX」はX方向Sobelフィルタの演算結果であり、「gradY」はY方向Sobelフィルタの演算結果である。
ステップS4では、入力画像の各画素について、輝度レベルの勾配が算出される。輝度レベルの勾配gradMagは、下記(1)式で算出される。なお、「gradX」はX方向Sobelフィルタの演算結果であり、「gradY」はY方向Sobelフィルタの演算結果である。
ステップS5では、各画素について得られた勾配gradMagが勾配しきい値と比較される。そして、勾配gradMagが勾配しきい値よりも大きければ、その画素は補正対象と判定される。一方、勾配gradMagが勾配しきい値以下であれば、その画素は補正対象でないと判定される。
画素の輝度レベルが、例えば、8ビットのデジタルデータで表される場合、輝度レベル値は「0」~「255」で表される。また、勾配しきい値は、特に限定されるものではないが、例えば、輝度レベルの最大値の10パーセント程度とする。この場合、勾配しきい値は「25」である。なお、勾配しきい値を決定する方法は、特に限定されるものではなく、上述のように実験またはシミュレーション等により決めるようにしてもよい。
<ぶれ幅の検出>
ぶれ幅を検出する方法は、特に限定されるものではないが、ここでは下記の方法で各画素位置におけるぶれ幅を検出する。
ぶれ幅を検出する方法は、特に限定されるものではないが、ここでは下記の方法で各画素位置におけるぶれ幅を検出する。
ステップS6では、Sobel演算の結果を利用して、各画素について、勾配の方向を求める。勾配の方向「PixDirection(θ)」は、下記(3)式で求められる。なお、「gradX」がゼロに近いとき(例えば、gradX<10-6)は、「PixDirection=-π/2」とする。
さらに、各画素について、勾配の方向が、図7に示すZone1~Zone8の何れに属するのかを判定する。なお、Zone1~Zone8は、以下の通りである。
Zone1:0≦PixDirection<π/4 且つ gradX>0
Zone2:π/4≦PixDirection<π/2 且つ gradY>0
Zone3:-π/2≦PixDirection<-π/4 且つ gradY<0
Zone4:-π/4≦PixDirection<0 且つ gradX<0
Zone5:0≦PixDirection<π/4 且つ gradX<0
Zone6:π/4≦PixDirection<π/2 且つ gradY<0
Zone7:-π/2≦PixDirection<-π/4 且つ gradY>0
Zone8:-π/4≦PixDirection<0 且つ gradX>0
ステップS7では、各画素位置における輝度レベルの勾配の方向が同じまたは略同じである画素が連続している数に基づいてぶれ幅が検出される。各画素位置における輝度レベルの勾配の方向は、ステップS6で得られたZone1~Zone8により表される。
図8は、輝度レベルの勾配の方向に基づいてぶれ幅を検出する方法を説明する図である。なお、以下の説明では、「輝度レベルの勾配の方向」を「勾配方向θ」と呼ぶことがある。また、図8に示す「1」は、勾配方向θが図7に示すZone1に属していることを表している。Zone2~Zone8については省略されている。
図8に示す例では、X方向において、勾配方向θがZone1に属している画素が10個連続して並んでいる。また、Y方向においては、勾配方向θがZone1に属している画素が7個連続して並んでいる。さらに、斜め方向においても、勾配方向θがZone1に属している画素がそれぞれ7個連続して並んでいる。ここで、手ぶれ画像では、オブジェクトまたはテクスチャのエッジ領域の勾配方向θがほぼ同じになるはずである。換言すれば、同じ勾配方向θの画素が連続している領域は、手ぶれ画像におけるエッジ領域と考えられる。また、同じ勾配方向θの画素が連続している領域の幅(すなわち、勾配方向θが同じ画素が連続している個数)は、手ぶれによるぶれ幅に相当する。
ステップS8では、ステップS7による検出結果を利用して補正対象領域を特定する。換言すれば、ステップS7による検出結果を利用して、補正を行うべきでない画素が特定される。一実施例においては、勾配方向θが同じである画素が連続して並んでいる数(以下、連続画素数C)が、所定のしきい値と比較される。ここで、図8に示す実施例において、上記しきい値を「8」とする。そうすると、X方向において連続画素数Cが「10」であり、上記しきい値よりも大きい。この場合、注目画素Pの左側に並ぶ4個の画素(Q1~Q4)、および注目画素Pの右側に並ぶ5個の画素(Q5~Q9)は、補正対象から除外される。
なお、ぶれ幅を検出する方法は、特に限定されるものではなく、他の方法で検出するようにしてもよい。例えば、連写により得られる複数の画像を利用して手ぶれ補正を行う場合には、連写画像間の動きベクトルの大きさに基づいてぶれ幅を算出するようにしてもよい。この場合、例えば、動きベクトルの大きさが、入力画像の横幅の1パーセントを超えた場合に、ぶれ幅がぶれ幅しきい値を越えたと判定される。
<ぶれ補正処理>
ステップS9では、ステップS2~S8において特定された領域に属する画素について補正処理を行う。ここで、ステップS4~S5では、輝度レベルの勾配が勾配しきい値よりも大きい画素が特定されている。すなわち、図5に示す領域2、4に属する画素が特定されている。また、ステップS6~S8では、ぶれ幅がぶれ幅しきい値よりも大きい領域が特定されている。すなわち、図5に示す領域3、4に属する画素が特定されている。したがって、図5に示す領域4に属する画素についてのみ、輝度レベルの補正が行われる。
ステップS9では、ステップS2~S8において特定された領域に属する画素について補正処理を行う。ここで、ステップS4~S5では、輝度レベルの勾配が勾配しきい値よりも大きい画素が特定されている。すなわち、図5に示す領域2、4に属する画素が特定されている。また、ステップS6~S8では、ぶれ幅がぶれ幅しきい値よりも大きい領域が特定されている。すなわち、図5に示す領域3、4に属する画素が特定されている。したがって、図5に示す領域4に属する画素についてのみ、輝度レベルの補正が行われる。
このように、ステップS4~S5において、領域1、3に属する画素が除外される。ここで、領域1、3に属する画素に対して手ぶれ補正を行うと、画像が不自然になる可能性が高い。したがって、領域1、3に属する画素について補正を行わないことにより、画像が不自然になることが回避され、さらに、画像補正に係る処理時間が短くなる。また、ステップS6~S8において領域A、Bに属する画素が除外される。この結果、副作用が発生し得る画素についての補正が行われなくなるので、画質の劣化を防ぎながら、手ぶれを補正することができる。
以下、ステップS9の補正方法を、図9に示すフローチャートを参照しながら具体的に説明する。なお、以下の補正処理は、ステップS2~S8において特定された領域に属する画素について行われる。
ステップS11では、各画素について評価指数IH、IM、IL、GH、GM、GLを算出する。ステップS12では、各画素について、評価指数IH、IM、ILを利用して、ぶれ範囲に属しているか否かを判定する。ぶれ範囲に属していると判定された画素について、ステップS13~S15が実行される。
ステップS13では、対象画素についての評価指数GH、GM、GLを利用して、その対象画素の輝度を補正すべきか否かを判定する。補正が必要な場合には、ステップS14において、評価指数IH、IM、IL、GH、GM、GLを利用して補正量を算出する。そして、ステップS15では、算出された補正量に従って、原画像を補正する。
なお、図9に示すステップS11~S15は、エッジのランプ領域(輝度レベル値が傾斜している領域)の幅を狭くすることで、そのエッジをシャープにする処理に相当する。以下、ステップS11~S15の処理を説明する。
<評価指数の算出(ステップS11)>
図6に示す手順によって特定された各画素(すなわち、図5に示す領域4に属する各画素)について、画素濃度指数IH、IM、ILを算出する。画素濃度指数IH、IM、ILは、上記(3)式で求められる勾配の方向に依存する。ここで、一実施例として、勾配の方向がZone1(0≦θ<π/4)に属する場合の画素濃度指数IH、IM、ILを算出する例を示す。以下では、画素(i, j)の勾配方向を「θ(i, j)」と呼ぶことにする。
図6に示す手順によって特定された各画素(すなわち、図5に示す領域4に属する各画素)について、画素濃度指数IH、IM、ILを算出する。画素濃度指数IH、IM、ILは、上記(3)式で求められる勾配の方向に依存する。ここで、一実施例として、勾配の方向がZone1(0≦θ<π/4)に属する場合の画素濃度指数IH、IM、ILを算出する例を示す。以下では、画素(i, j)の勾配方向を「θ(i, j)」と呼ぶことにする。
まず、「θ=0」に対して下式を定義する。なお、「P(i, j)」は、座標(i, j)に位置する画素の輝度値を表す。「P(i, j+1)」は、座標(i, j+1)に位置する画素の輝度値を表す。他の画素についても同様である。
IH(0)=0.25×{P(i+1, j+1)+2×P(i, j+1)+P(i-1, j+1)}
IM(0)=0.25×{P(i+1, j)+2×P(i, j)+P(i-1, j)}
IL(0)=0.25×{P(i+1, j-1)+2×P(i, j-1)+P(i-1, j-1)}
同様に、「θ=π/4」に対して下式を定義する。
IH(π/4)=0.5×{P(i+1, j)+P(i, j+1)}
IM(π/4)=0.25×{P(i+1, j-1)+2×P(i, j)+P(i-1, j+1)}
IL(π/4)=0.5×{P(i, j-1)+P(i-1, j)}
IH(0)=0.25×{P(i+1, j+1)+2×P(i, j+1)+P(i-1, j+1)}
IM(0)=0.25×{P(i+1, j)+2×P(i, j)+P(i-1, j)}
IL(0)=0.25×{P(i+1, j-1)+2×P(i, j-1)+P(i-1, j-1)}
同様に、「θ=π/4」に対して下式を定義する。
IH(π/4)=0.5×{P(i+1, j)+P(i, j+1)}
IM(π/4)=0.25×{P(i+1, j-1)+2×P(i, j)+P(i-1, j+1)}
IL(π/4)=0.5×{P(i, j-1)+P(i-1, j)}
ここで、Zone1における3つの画素濃度指数は、それぞれ「θ=0」の画素濃度指数および「θ=π/4」の画素濃度指数を利用する線形補間により算出される。すなわち、Zone1における3つの画素濃度指数は、下式により算出される。
IH,Zone1=IH(0)×ω+IH(π/4)×(1-ω)
IM,Zone1=IM(0)×ω+IM(π/4)×(1-ω)
IL,Zone1=IL(0)×ω+IL(π/4)×(1-ω)
ω=1-{4×θ(i, j)}/π
Zone2~Zone8の画素濃度指数についても、同様の手順で算出することができる。すなわち、「θ=0、π/4、π/2、3π/4、π、-3π/4、-π/2、-π/4」に対して、それぞれ画素濃度指数が算出される。これらの画素濃度指数は、それぞれ、平滑化された画像の各画素の輝度値に3×3フィルタ演算を行うことにより得られる。図10、図11、図12は、それぞれ画素濃度指数IH、IM、ILを得るためのフィルタの構成を示す図である。
IH,Zone1=IH(0)×ω+IH(π/4)×(1-ω)
IM,Zone1=IM(0)×ω+IM(π/4)×(1-ω)
IL,Zone1=IL(0)×ω+IL(π/4)×(1-ω)
ω=1-{4×θ(i, j)}/π
Zone2~Zone8の画素濃度指数についても、同様の手順で算出することができる。すなわち、「θ=0、π/4、π/2、3π/4、π、-3π/4、-π/2、-π/4」に対して、それぞれ画素濃度指数が算出される。これらの画素濃度指数は、それぞれ、平滑化された画像の各画素の輝度値に3×3フィルタ演算を行うことにより得られる。図10、図11、図12は、それぞれ画素濃度指数IH、IM、ILを得るためのフィルタの構成を示す図である。
これらのフィルタを用いることにより、所定の8方向の画素濃度指数IH、IM、ILを算出することができる。そして、各Zoneの画素濃度指数IHは、対応する2方向の画素濃度指数IHを利用して、下式により算出される。
IH,Zone1=IH(0)×w15+IH(π/4)×(1-w15)
IH,Zone2=IH(π/2)×w26+IH(π/4)×(1-w26)
IH,Zone3=IH(π/2)×w37+IH(3π/4)×(1-w37)
IH,Zone4=IH(π)×w48+IH(3π/4)×(1-w48)
IH,Zone5=IH(π)×w15+IH(-3π/4)×(1-w15)
IH,Zone6=IH(-π/2)×w26+IH(-3π/4)×(1-w26)
IH,Zone7=IH(-π/2)×w37+IH(-π/4)×(1-w37)
IH,Zone8=IH(0)×w48+IH(-π/4)×(1-w48)
なお、w15、w26、w37、w48は、それぞれ、下指示により表される。
W15=1-4θ/π
W26=4θ/π-1
W37=-1-4θ/π
W48=1+4θ/π
IH,Zone1=IH(0)×w15+IH(π/4)×(1-w15)
IH,Zone2=IH(π/2)×w26+IH(π/4)×(1-w26)
IH,Zone3=IH(π/2)×w37+IH(3π/4)×(1-w37)
IH,Zone4=IH(π)×w48+IH(3π/4)×(1-w48)
IH,Zone5=IH(π)×w15+IH(-3π/4)×(1-w15)
IH,Zone6=IH(-π/2)×w26+IH(-3π/4)×(1-w26)
IH,Zone7=IH(-π/2)×w37+IH(-π/4)×(1-w37)
IH,Zone8=IH(0)×w48+IH(-π/4)×(1-w48)
なお、w15、w26、w37、w48は、それぞれ、下指示により表される。
W15=1-4θ/π
W26=4θ/π-1
W37=-1-4θ/π
W48=1+4θ/π
また、各Zoneの画素濃度指数IMは、対応する2方向の画素濃度指数IMを利用して、下式により算出される。
IM,Zone1=IM(0)×w15+IM(π/4)×(1-w15)
IM,Zone2=IM(π/2)×w26+IM(π/4)×(1-w26)
IM,Zone3=IM(π/2)×w37+IM(3π/4)×(1-w37)
IM,Zone4=IM(π)×w48+IM(3π/4)×(1-w48)
IM,Zone5=IM(π)×w15+IM(-3π/4)×(1-w15)
IM,Zone6=IM(-π/2)×w26+IM(-3π/4)×(1-w26)
IM,Zone7=IM(-π/2)×w37+IM(-π/4)×(1-w37)
IM,Zone8=IM(0)×w48+IM(-π/4)×(1-w48)
IM,Zone1=IM(0)×w15+IM(π/4)×(1-w15)
IM,Zone2=IM(π/2)×w26+IM(π/4)×(1-w26)
IM,Zone3=IM(π/2)×w37+IM(3π/4)×(1-w37)
IM,Zone4=IM(π)×w48+IM(3π/4)×(1-w48)
IM,Zone5=IM(π)×w15+IM(-3π/4)×(1-w15)
IM,Zone6=IM(-π/2)×w26+IM(-3π/4)×(1-w26)
IM,Zone7=IM(-π/2)×w37+IM(-π/4)×(1-w37)
IM,Zone8=IM(0)×w48+IM(-π/4)×(1-w48)
同様に、各Zoneの画素濃度指数ILは、対応する2方向の画素濃度指数ILを利用して、下式により算出される。
IL,Zone1=IL(0)×w15+IL(π/4)×(1-w15)
IL,Zone2=IL(π/2)×w26+IL(π/4)×(1-w26)
IL,Zone3=IL(π/2)×w37+IL(3π/4)×(1-w37)
IL,Zone4=IL(π)×w48+IL(3π/4)×(1-w48)
IL,Zone5=IL(π)×w15+IL(-3π/4)×(1-w15)
IL,Zone6=IL(-π/2)×w26+IL(-3π/4)×(1-w26)
IL,Zone7=IL(-π/2)×w37+IL(-π/4)×(1-w37)
IL,Zone8=IL(0)×w48+IL(-π/4)×(1-w48)
IL,Zone1=IL(0)×w15+IL(π/4)×(1-w15)
IL,Zone2=IL(π/2)×w26+IL(π/4)×(1-w26)
IL,Zone3=IL(π/2)×w37+IL(3π/4)×(1-w37)
IL,Zone4=IL(π)×w48+IL(3π/4)×(1-w48)
IL,Zone5=IL(π)×w15+IL(-3π/4)×(1-w15)
IL,Zone6=IL(-π/2)×w26+IL(-3π/4)×(1-w26)
IL,Zone7=IL(-π/2)×w37+IL(-π/4)×(1-w37)
IL,Zone8=IL(0)×w48+IL(-π/4)×(1-w48)
このように、各画素について画素濃度指数IH、IM、ILを算出する際には、下記の手順が行われる。
(a)勾配方向θを算出する
(b)θに対応するZoneを検出する
(c)検出されたZoneに対応する1組のフィルタを用いてフィルタ演算を行う。たとえば、θがZone1に属する場合には、図10に示すフィルタを用いてIH(0)、IH(π/4)が算出される。IM、ILについても同様である。
(d)上記(c)で得られる1組の演算結果およびθに基づいて、IH、IM、ILを算出する
(a)勾配方向θを算出する
(b)θに対応するZoneを検出する
(c)検出されたZoneに対応する1組のフィルタを用いてフィルタ演算を行う。たとえば、θがZone1に属する場合には、図10に示すフィルタを用いてIH(0)、IH(π/4)が算出される。IM、ILについても同様である。
(d)上記(c)で得られる1組の演算結果およびθに基づいて、IH、IM、ILを算出する
次に、各画素について勾配指数GH、GM、GLを算出する。勾配指数GH、GM、GLは、画素濃度指数IH、IM、ILと同様に、上記(3)式で求められる勾配の方向に依存する。したがって、画素濃度指数と同様に、まず、Zone1(0≦θ<π/4)における勾配指数GH、GM、GLを算出する例を示す。
「θ=0」に対して下式を定義する。なお、「gradMag(i, j)」は、座標(i, j)に位置する画素の勾配の大きさを表す。また、「gradMag(i+1, j)」は、座標(i+1, j)に位置する画素の勾配の大きさを表す。他の画素についても同様である。
GH(0)=gradMag(i, j+1)
GM(0)=gradMag(i, j)
GL(0)=gradMag(i, j-1)
同様に、「θ=π/4」に対して下式を定義する。
GH(π/4)=0.5×{gradMag(i+1, j)+gradMag (i, j+1)}
GM(π/4)=gradMag(i, j)
GL(π/4)=0.5×{gradMag(i, j-1)+gradMag (i-1, j)}
GH(0)=gradMag(i, j+1)
GM(0)=gradMag(i, j)
GL(0)=gradMag(i, j-1)
同様に、「θ=π/4」に対して下式を定義する。
GH(π/4)=0.5×{gradMag(i+1, j)+gradMag (i, j+1)}
GM(π/4)=gradMag(i, j)
GL(π/4)=0.5×{gradMag(i, j-1)+gradMag (i-1, j)}
ここで、Zone1における勾配指数は、「θ=0」の勾配指数および「θ=π/4」の勾配指数を利用する線形補間により算出される。すなわち、Zone1における勾配指数は、下式により算出される。
GH,Zone1=GH(0)×ω+GH(π/4)×(1-ω)
GM,Zone1=GM(0)×ω+GM(π/4)×(1-ω)=gradMag(i, j)
GL,Zone1=GL(0)×ω+GL(π/4)×(1-ω)
ω=1-{4×θ(i, j)}/π
このように、勾配指数GMは、勾配の方向θに依存することなく、常に「gradMag(i, j)」である。即ち、各画素の勾配指数GMは、勾配の方向θに係わりなく、上述した(1)式または(2)式により算出される。
GH,Zone1=GH(0)×ω+GH(π/4)×(1-ω)
GM,Zone1=GM(0)×ω+GM(π/4)×(1-ω)=gradMag(i, j)
GL,Zone1=GL(0)×ω+GL(π/4)×(1-ω)
ω=1-{4×θ(i, j)}/π
このように、勾配指数GMは、勾配の方向θに依存することなく、常に「gradMag(i, j)」である。即ち、各画素の勾配指数GMは、勾配の方向θに係わりなく、上述した(1)式または(2)式により算出される。
Zone2~Zone8の勾配指数についても、同様の手順で算出することができる。すなわち、「θ=0、π/4、π/2、3π/4、π、-3π/4、-π/2、-π/4」に対して、それぞれ勾配指数が算出される。これらの勾配指数は、それぞれ、平滑化された画像の各画素の勾配の大きさgradMagに3×3フィルタ演算を行うことにより得られる。図13および図14は、それぞれ勾配指数GH、GLを得るためのフィルタの構成を示す図である。
このようなフィルタ演算により所定の8方向の勾配指数GH、GLが得られる。そして、各Zoneの勾配指数GHは、対応する2方向の勾配指数GHを利用して、下式により算出される。
GH,Zone1=GH(0)×w15+GH(π/4)×(1-w15)
GH,Zone2=GH(π/2)×w26+GH(π/4)×(1-w26)
GH,Zone3=GH(π/2)×w37+GH(3π/4)×(1-w37)
GH,Zone4=GH(π)×w48+GH(3π/4)×(1-w48)
GH,Zone5=GH(π)×w15+GH(-3π/4)×(1-w15)
GH,Zone6=GH(-π/2)×w26+GH(-3π/4)×(1-w26)
GH,Zone7=GH(-π/2)×w37+GH(-π/4)×(1-w37)
GH,Zone8=GH(0)×w48+GH(-π/4)×(1-w48)
なお、w15、w26、w37、w48は、それぞれ、下指示により表される。
W15=1-4θ/π
W26=4θ/π-1
W37=-1-4θ/π
W48=1+4θ/π
GH,Zone1=GH(0)×w15+GH(π/4)×(1-w15)
GH,Zone2=GH(π/2)×w26+GH(π/4)×(1-w26)
GH,Zone3=GH(π/2)×w37+GH(3π/4)×(1-w37)
GH,Zone4=GH(π)×w48+GH(3π/4)×(1-w48)
GH,Zone5=GH(π)×w15+GH(-3π/4)×(1-w15)
GH,Zone6=GH(-π/2)×w26+GH(-3π/4)×(1-w26)
GH,Zone7=GH(-π/2)×w37+GH(-π/4)×(1-w37)
GH,Zone8=GH(0)×w48+GH(-π/4)×(1-w48)
なお、w15、w26、w37、w48は、それぞれ、下指示により表される。
W15=1-4θ/π
W26=4θ/π-1
W37=-1-4θ/π
W48=1+4θ/π
同様に、各Zoneの勾配指数GLは、対応する2方向の勾配指数GLを利用して、下式により算出される。
GL,Zone1=GL(0)×w15+GL(π/4)×(1-w15)
GL,Zone2=GL(π/2)×w26+GL(π/4)×(1-w26)
GL,Zone3=GL(π/2)×w37+GL(3π/4)×(1-w37)
GL,Zone4=GL(π)×w48+GL(3π/4)×(1-w48)
GL,Zone5=GL(π)×w15+GL(-3π/4)×(1-w15)
GL,Zone6=GL(-π/2)×w26+GL(-3π/4)×(1-w26)
GL,Zone7=GL(-π/2)×w37+GL(-π/4)×(1-w37)
GL,Zone8=GL(0)×w48+GL(-π/4)×(1-w48)
GL,Zone1=GL(0)×w15+GL(π/4)×(1-w15)
GL,Zone2=GL(π/2)×w26+GL(π/4)×(1-w26)
GL,Zone3=GL(π/2)×w37+GL(3π/4)×(1-w37)
GL,Zone4=GL(π)×w48+GL(3π/4)×(1-w48)
GL,Zone5=GL(π)×w15+GL(-3π/4)×(1-w15)
GL,Zone6=GL(-π/2)×w26+GL(-3π/4)×(1-w26)
GL,Zone7=GL(-π/2)×w37+GL(-π/4)×(1-w37)
GL,Zone8=GL(0)×w48+GL(-π/4)×(1-w48)
このように、各画素について勾配指数GH、GM、GLを算出する際には、下記の手順が行われる。
(a)勾配の大きさgradMagを算出する
(b)gradMagからGMを算出する
(c)勾配の方向θを算出する
(d)θに対応するZoneを検出する
(e)検出されたZoneに対応する1組のフィルタを用いてフィルタ演算を行う。たとえば、θがZone1に属する場合には、図13に示すフィルタを用いてGH(0)、GH(π/4)が算出される。GLについても同様である。
(f)上記(e)で得られる1組の演算結果およびθに基づいて、GH、GLを算出する
以上説明したように、ステップS11においては、各画素について評価指数(画素濃度指数IH、IM、ILおよび勾配指数GH、GM、GL)が算出される。そして、これらの評価指数は、ぶれ範囲の検出、および補正量の算出のために使用される。
(a)勾配の大きさgradMagを算出する
(b)gradMagからGMを算出する
(c)勾配の方向θを算出する
(d)θに対応するZoneを検出する
(e)検出されたZoneに対応する1組のフィルタを用いてフィルタ演算を行う。たとえば、θがZone1に属する場合には、図13に示すフィルタを用いてGH(0)、GH(π/4)が算出される。GLについても同様である。
(f)上記(e)で得られる1組の演算結果およびθに基づいて、GH、GLを算出する
以上説明したように、ステップS11においては、各画素について評価指数(画素濃度指数IH、IM、ILおよび勾配指数GH、GM、GL)が算出される。そして、これらの評価指数は、ぶれ範囲の検出、および補正量の算出のために使用される。
<ぶれ範囲の検出(ステップS12)>
各画素について、それぞれ下記(4)式の条件を満たすか否かをチェックする。なお、(4)式は、対象画素が輝度スロープの途中に位置していることを示している。
IH>IM>IL ・・・(4)
画素濃度指数が(4)式を満たす画素は、ぶれ範囲に属している(或いは、エッジ上に配置されている)と判定される。すなわち、(4)式を満たす画素は、補正が必要であると判定される。一方、画素濃度指数が(4)式を満たしていない画素は、ぶれ範囲に属していないと判定される。すなわち、(4)式を満たしていない画素は、補正が必要でないと判定される。なお、図1に示すランプ領域内の画素は、基本的に、上記(4)式により、ぶれ範囲に属すると判定される。
各画素について、それぞれ下記(4)式の条件を満たすか否かをチェックする。なお、(4)式は、対象画素が輝度スロープの途中に位置していることを示している。
IH>IM>IL ・・・(4)
画素濃度指数が(4)式を満たす画素は、ぶれ範囲に属している(或いは、エッジ上に配置されている)と判定される。すなわち、(4)式を満たす画素は、補正が必要であると判定される。一方、画素濃度指数が(4)式を満たしていない画素は、ぶれ範囲に属していないと判定される。すなわち、(4)式を満たしていない画素は、補正が必要でないと判定される。なお、図1に示すランプ領域内の画素は、基本的に、上記(4)式により、ぶれ範囲に属すると判定される。
<補正量の算出(ステップS13~S14)>
各画素について、下記のケース1~3を満たすかチェックする。
ケース1:GH>GM>GL
ケース2:GH<GM<GL
ケース3:GH<GM 且つ GL<GM
ケース1は、輝度の勾配が急峻になっていくことを表している。したがって、ケース1に属する画素は、図1に示すエッジのランプ領域において、輝度レベルが中心レベルよりも低い領域(A領域)に属していると考えられる。一方、ケース2は、輝度の勾配が緩やかになっていくことを表している。したがって、ケース2に属する画素は、輝度レベルが中心レベルよりも高い領域(B領域)に属していると考えられる。なお、ケース3は、対象画素の勾配が、隣接画素の勾配よりも高いことを表している。すなわち、ケース3に属する画素は、輝度レベルが中心レベルまたはその近傍領域(C領域)に属していると考えられる。そして、補正対象として抽出された各画素について、それぞれ輝度レベルの補正量を算出する。
各画素について、下記のケース1~3を満たすかチェックする。
ケース1:GH>GM>GL
ケース2:GH<GM<GL
ケース3:GH<GM 且つ GL<GM
ケース1は、輝度の勾配が急峻になっていくことを表している。したがって、ケース1に属する画素は、図1に示すエッジのランプ領域において、輝度レベルが中心レベルよりも低い領域(A領域)に属していると考えられる。一方、ケース2は、輝度の勾配が緩やかになっていくことを表している。したがって、ケース2に属する画素は、輝度レベルが中心レベルよりも高い領域(B領域)に属していると考えられる。なお、ケース3は、対象画素の勾配が、隣接画素の勾配よりも高いことを表している。すなわち、ケース3に属する画素は、輝度レベルが中心レベルまたはその近傍領域(C領域)に属していると考えられる。そして、補正対象として抽出された各画素について、それぞれ輝度レベルの補正量を算出する。
画素がケース1に属する場合(すなわち、画素がランプ領域内の低輝度領域に位置する場合)、その画素の輝度の補正量Leveldownは、下式で表される。なお、「S」は補正因子であり、「θ」は上述の(3)式で得られる。
<補正(ステップS15)>
原画像の各画素の画素値(例えば、輝度レベル)を補正する。ここで、画素(i, j)について補正により得られる画素データImage(i, j)は、下式で得られる。「Originai(i, j)」は、原画像の画素(i, j)の画素データである。
ケース1:Image(i, j)=Originai(i, j)-Leveldown(i, j)
ケース2:Image(i, j)=Originai(i, j)+Levelup(i, j)
他のケース:Image(i, j)=Originai(i, j)
なお、実施形態の画像補正装置1は、上述したぶれ補正の代わりに、或いは上述したぶれ補正と共に、輪郭強調を行うこともできる。輪郭強調は、特に限定されるものではないが、例えば、アンシャープマスクにより実現される。アンシャープマスクは、原画像とその平滑化画像との間の差分iDiffValue(i, j)を算出する。この差分は、変化の方向も表す。そして、係数iStrengthを用いてこの差分を調整し、その調整された差分を原画像に加える。これにより、輪郭が強調される。
原画像の各画素の画素値(例えば、輝度レベル)を補正する。ここで、画素(i, j)について補正により得られる画素データImage(i, j)は、下式で得られる。「Originai(i, j)」は、原画像の画素(i, j)の画素データである。
ケース1:Image(i, j)=Originai(i, j)-Leveldown(i, j)
ケース2:Image(i, j)=Originai(i, j)+Levelup(i, j)
他のケース:Image(i, j)=Originai(i, j)
なお、実施形態の画像補正装置1は、上述したぶれ補正の代わりに、或いは上述したぶれ補正と共に、輪郭強調を行うこともできる。輪郭強調は、特に限定されるものではないが、例えば、アンシャープマスクにより実現される。アンシャープマスクは、原画像とその平滑化画像との間の差分iDiffValue(i, j)を算出する。この差分は、変化の方向も表す。そして、係数iStrengthを用いてこの差分を調整し、その調整された差分を原画像に加える。これにより、輪郭が強調される。
アンシャープマスクの計算式は、下記の通りである。なお、「iStrength」は、輪郭強調の強度を表す定数である。
補正値NewValue(i, j)=Original(i, j)+iDiffValue(i, j)×iStrength
このように、実施形態の画像補正方法においては、手ぶれ補正のための演算量を少なくすることができる。
補正値NewValue(i, j)=Original(i, j)+iDiffValue(i, j)×iStrength
このように、実施形態の画像補正方法においては、手ぶれ補正のための演算量を少なくすることができる。
<実施形態の画像補正による効果>
図15~図19は、第1の実施例を説明する図である。図15は、原画像を示す。図16は、実施形態の補正方法による補正画像を示す。図17は、図5に示す領域1に属する画素について補正を行った画像を示す。図16に示すように、実施形態の補正方法によれば、輪郭のぼけが修正されている。一方、図17に示す補正画像においては、硯の陰が強調されて不自然である。
図15~図19は、第1の実施例を説明する図である。図15は、原画像を示す。図16は、実施形態の補正方法による補正画像を示す。図17は、図5に示す領域1に属する画素について補正を行った画像を示す。図16に示すように、実施形態の補正方法によれば、輪郭のぼけが修正されている。一方、図17に示す補正画像においては、硯の陰が強調されて不自然である。
図18および図19は、輝度レベルが補正された画素を示している。図18および図19において、輝度レベルが補正された画素は白色で表されている。ここで、図18および図19は、それぞれ図16および図17に対応する。このように、実施形態の補正方法によれば、輝度レベルを補正が行われる画素の数が少なくなる。
図20~図22は、第2の実施例を説明する図である。図20は、原画像を示す。図21は、実施形態の補正方法による補正画像を示す。図22は、図5に示す領域3に属する画素について補正を行った画像を示す。図21に示すように、実施形態の補正方法によれば、輪郭のぼけが修正されている。一方、図22に示す補正画像においては、顔の表面の凹凸が強調されて不自然である。なお、特に図示しないが、図5に示す領域2に属する画素について補正を行った場合には、エッジの形状が不自然になることがある。
<ハードウェア構成>
図23は、実施形態の画像補正装置1に係わるハードウェア構成を示す図である。図23において、CPU101は、メモリ103を利用して画像補正プログラムを実行する。記憶装置102は、例えばハードディスクであり、画像補正プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
図23は、実施形態の画像補正装置1に係わるハードウェア構成を示す図である。図23において、CPU101は、メモリ103を利用して画像補正プログラムを実行する。記憶装置102は、例えばハードディスクであり、画像補正プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
読み取り装置104は、CPU101の指示に従って可搬型記録媒体105にアクセスする。可搬性記録媒体105は、例えば、半導体デバイス(PCカード等)、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース106は、CPU101の指示に従って、ネットワークを介してデータを送受信する。入出力装置107は、この実施例では、カメラ、表示装置、ユーザからの指示を受け付けるデバイス等に相当する。
実施形態に係わる画像補正プログラムは、例えば、下記の形態で提供される。
(1)記憶装置102に予めインストールされている。
(2)可搬型記録媒体105により提供される。
(3)プログラムサーバ110からダウンロードする。
そして、上記構成のコンピュータで画像補正プログラムを実行することにより、実施形態に係わる画像補正装置が実現される。
(1)記憶装置102に予めインストールされている。
(2)可搬型記録媒体105により提供される。
(3)プログラムサーバ110からダウンロードする。
そして、上記構成のコンピュータで画像補正プログラムを実行することにより、実施形態に係わる画像補正装置が実現される。
Claims (12)
- 入力画像の各画素について画素値の勾配を検出する勾配検出部と、
前記入力画像の各画素位置におけるぶれ幅を検出するぶれ幅検出部と、
前記勾配検出部により検出された勾配および前記ぶれ幅検出部により検出されたぶれ幅に基づいて、補正を行うべき領域を特定する補正領域特定部と、
前記補正領域特定部により特定された領域の画素の画素値を補正する補正部、
を有する画像補正装置。 - 請求項1に記載の画像補正装置であって、
前記入力画像内のエッジを検出するエッジ検出フィルタをさらに備え、
前記勾配検出部は、前記エッジ検出フィルタの演算結果を利用して、各画素について画素値の勾配を算出する
ことを特徴とする画像補正装置。 - 請求項1に記載の画像補正装置であって、
前記入力画像内のエッジを検出するエッジ検出フィルタをさらに備え、
前記ぶれ幅検出部は、前記エッジ検出フィルタの演算結果を利用して、各画素位置におけるぶれ幅を検出する
ことを特徴とする画像補正装置。 - 請求項3に記載の画像補正装置であって、
前記ぶれ幅検出部は、前記エッジ検出フィルタの演算結果に基づいて各画素位置における画素値の勾配の方向を算出し、前記勾配の方向が同じまたは略同じである画素が連続している数に基づいてぶれ幅を算出する
ことを特徴とする画像補正装置。 - 請求項2~4のいずれか1つに記載の画像補正装置であって、
前記エッジ検出フィルタのサイズは、前記入力画像のサイズに応じて決定されることを特徴とする画像補正装置。 - 請求項2~4のいずれか1つに記載の画像補正装置であって、
前記エッジ検出フィルタは、Sobelフィルタであることを特徴とする画像補正装置。 - 請求項1に記載の画像補正装置であって、
前記補正領域特定部は、前記勾配検出部により検出された勾配が勾配しきい値よりも大きく、かつ、前記ぶれ幅検出部により検出されたぶれ幅がぶれ幅しきい値よりも小さい領域を、補正を行うべき領域として特定する
ことを特徴とする画像補正装置。 - 請求項7に記載の画像補正装置であって、
前記ぶれ幅しきい値は、前記入力画像のサイズに応じて決定されることを特徴とする画像補正装置。 - 請求項1に記載の画像補正装置であって、
前記補正部は、エッジをシャープにする輪郭補正を行うことを特徴とする画像補正装置。 - 請求項1に記載の画像補正装置であって、
前記補正部は、輪郭強調を行うことを特徴とする画像補正装置。 - 入力画像の各画素について画素値の勾配を検出し、
前記入力画像の各画素位置におけるぶれ幅を検出し、
前記勾配検出部により検出された勾配および前記ぶれ幅検出部により検出されたぶれ幅に基づいて、補正を行うべき領域を特定し、
前記特定された領域の画素の画素値を補正する、
ことを特徴とする画像補正方法。 - コンピュータに、
入力画像の各画素について画素値の勾配を検出する勾配検出手順、
前記入力画像の各画素位置におけるぶれ幅を検出するぶれ幅検出手順、
前記勾配検出手順により検出された勾配および前記ぶれ幅検出手順により検出されたぶれ幅に基づいて、補正を行うべき領域を特定する補正領域特定手順、
前記補正領域特定手順により特定された領域の画素の画素値を補正する補正手順、
を実行させるための画像補正プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010525501A JP5158202B2 (ja) | 2008-08-19 | 2008-08-19 | 画像補正装置および画像補正方法 |
PCT/JP2008/002237 WO2010021009A1 (ja) | 2008-08-19 | 2008-08-19 | 画像補正装置および画像補正方法 |
US13/026,703 US8433153B2 (en) | 2008-08-19 | 2011-02-14 | Image correction apparatus and image correction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/002237 WO2010021009A1 (ja) | 2008-08-19 | 2008-08-19 | 画像補正装置および画像補正方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/026,703 Continuation US8433153B2 (en) | 2008-08-19 | 2011-02-14 | Image correction apparatus and image correction method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010021009A1 true WO2010021009A1 (ja) | 2010-02-25 |
Family
ID=41706906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/002237 WO2010021009A1 (ja) | 2008-08-19 | 2008-08-19 | 画像補正装置および画像補正方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8433153B2 (ja) |
JP (1) | JP5158202B2 (ja) |
WO (1) | WO2010021009A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248085A (ja) * | 2010-05-26 | 2011-12-08 | Tai Hyuk Nam | オートフォーカス画像システム |
JP2015170306A (ja) * | 2014-03-10 | 2015-09-28 | サクサ株式会社 | 画像処理装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8774547B2 (en) * | 2007-09-19 | 2014-07-08 | Panasonic Corporation | Contour correcting device, contour correcting method and video display device |
JP4999788B2 (ja) * | 2008-06-26 | 2012-08-15 | 三菱電機株式会社 | 移動目標検出装置及びコンピュータプログラム及び移動目標検出方法 |
JP6381311B2 (ja) * | 2013-07-04 | 2018-08-29 | キヤノン株式会社 | 画像形成装置、画像形成方法、およびプログラム |
JP6463177B2 (ja) * | 2015-03-11 | 2019-01-30 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
JP2016213718A (ja) * | 2015-05-11 | 2016-12-15 | キヤノン株式会社 | 画像処理装置及び画像処理方法、プログラム、記憶媒体 |
TWI590659B (zh) * | 2016-05-25 | 2017-07-01 | 宏碁股份有限公司 | 影像處理方法及攝像裝置 |
CN106846270B (zh) * | 2017-01-05 | 2020-02-14 | 浙江大华技术股份有限公司 | 一种图像边缘增强方法及装置 |
US11978412B2 (en) * | 2021-02-26 | 2024-05-07 | E Ink Holdings Inc. | Display device and image processing method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005310135A (ja) * | 2004-04-19 | 2005-11-04 | Seiko Epson Corp | 動きブレした画像におけるブレを補正する方法及び装置 |
JP2006011685A (ja) * | 2004-06-24 | 2006-01-12 | Noritsu Koki Co Ltd | 写真画像処理方法及びその装置 |
JP2006024193A (ja) * | 2004-06-07 | 2006-01-26 | Fuji Photo Film Co Ltd | 画像補正装置、画像補正プログラム、画像補正方法、および画像補正システム |
JP2006053854A (ja) * | 2004-08-16 | 2006-02-23 | Fuji Photo Film Co Ltd | 画像処理方法および装置並びにプログラム |
JP2006115446A (ja) * | 2004-09-14 | 2006-04-27 | Seiko Epson Corp | 撮影装置、及び画像評価方法 |
JP2006180445A (ja) * | 2004-11-29 | 2006-07-06 | Seiko Epson Corp | 画像補正装置、撮影装置、及び、画像補正装置用のコンピュータプログラム |
JP2007036894A (ja) * | 2005-07-28 | 2007-02-08 | Kyocera Corp | 画像処理装置 |
JP2008123396A (ja) * | 2006-11-15 | 2008-05-29 | Sanyo Electric Co Ltd | 画像復元装置及び方法並びに撮像装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005269373A (ja) * | 2004-03-19 | 2005-09-29 | Fuji Photo Film Co Ltd | 映像信号処理システムおよび電子映像機器 |
JP2005332381A (ja) | 2004-04-22 | 2005-12-02 | Fuji Photo Film Co Ltd | 画像処理方法および装置並びにプログラム |
-
2008
- 2008-08-19 JP JP2010525501A patent/JP5158202B2/ja not_active Expired - Fee Related
- 2008-08-19 WO PCT/JP2008/002237 patent/WO2010021009A1/ja active Application Filing
-
2011
- 2011-02-14 US US13/026,703 patent/US8433153B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005310135A (ja) * | 2004-04-19 | 2005-11-04 | Seiko Epson Corp | 動きブレした画像におけるブレを補正する方法及び装置 |
JP2006024193A (ja) * | 2004-06-07 | 2006-01-26 | Fuji Photo Film Co Ltd | 画像補正装置、画像補正プログラム、画像補正方法、および画像補正システム |
JP2006011685A (ja) * | 2004-06-24 | 2006-01-12 | Noritsu Koki Co Ltd | 写真画像処理方法及びその装置 |
JP2006053854A (ja) * | 2004-08-16 | 2006-02-23 | Fuji Photo Film Co Ltd | 画像処理方法および装置並びにプログラム |
JP2006115446A (ja) * | 2004-09-14 | 2006-04-27 | Seiko Epson Corp | 撮影装置、及び画像評価方法 |
JP2006180445A (ja) * | 2004-11-29 | 2006-07-06 | Seiko Epson Corp | 画像補正装置、撮影装置、及び、画像補正装置用のコンピュータプログラム |
JP2007036894A (ja) * | 2005-07-28 | 2007-02-08 | Kyocera Corp | 画像処理装置 |
JP2008123396A (ja) * | 2006-11-15 | 2008-05-29 | Sanyo Electric Co Ltd | 画像復元装置及び方法並びに撮像装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248085A (ja) * | 2010-05-26 | 2011-12-08 | Tai Hyuk Nam | オートフォーカス画像システム |
JP2015170306A (ja) * | 2014-03-10 | 2015-09-28 | サクサ株式会社 | 画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20110142363A1 (en) | 2011-06-16 |
JP5158202B2 (ja) | 2013-03-06 |
JPWO2010021009A1 (ja) | 2012-01-26 |
US8433153B2 (en) | 2013-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5158202B2 (ja) | 画像補正装置および画像補正方法 | |
JP5389903B2 (ja) | 最適映像選択 | |
US8509559B2 (en) | Hierarchical motion deblurring method for single image | |
US9338349B2 (en) | Generation of ghost-free high dynamic range images | |
US7792384B2 (en) | Image processing apparatus, image processing method, program, and recording medium therefor | |
US8374428B2 (en) | Color balancing for partially overlapping images | |
JP4454657B2 (ja) | ぶれ補正装置及び方法、並びに撮像装置 | |
US8965141B2 (en) | Image filtering based on structural information | |
JP5314271B2 (ja) | 映像の鮮明度向上のための装置および方法 | |
JP2013192224A (ja) | ブラー映像及びノイズ映像で構成されたマルチフレームを用いて非均一モーションブラーを除去する方法及び装置 | |
WO2016189901A1 (ja) | 画像処理装置、画像処理方法、プログラム、これを記録した記録媒体、映像撮影装置、及び映像記録再生装置 | |
JPWO2009037803A1 (ja) | 画像ノイズ除去装置、画像ノイズ除去方法及び画像ノイズ除去プログラム | |
US8488899B2 (en) | Image processing apparatus, method and recording medium | |
JP4935930B2 (ja) | 画像補正装置および画像補正方法 | |
JP2008147980A (ja) | 画像処理装置及び撮像装置及び画像処理方法及びプログラム及び記憶媒体 | |
JP2008147981A (ja) | 画像処理装置及び撮像装置及び画像処理方法及びプログラム及び記憶媒体 | |
US9466007B2 (en) | Method and device for image processing | |
JP5614550B2 (ja) | 画像処理方法、画像処理装置及びプログラム | |
KR101101434B1 (ko) | 이미지 선명도 향상 장치 | |
JP6528540B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2009145991A (ja) | 画像処理装置、画像処理方法、プログラムおよび記憶媒体 | |
JP6938282B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
WO2013125198A1 (ja) | 画像処理装置、撮像装置および画像処理プログラム | |
JP4930638B2 (ja) | 画像補正装置および画像補正方法 | |
CN106169175B (zh) | 图像处理装置、图像处理方法和记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08808269 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010525501 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08808269 Country of ref document: EP Kind code of ref document: A1 |