One-dimensional lens shading correction
View Patent ↗In one embodiment, a method for correcting image data for a captured image for lens shading artifacts is provided. The method comprises determining a plurality of one dimensional correction curves that can be applied to the image data to correct for lens shading artifacts therein; and correcting the image data for lens shading artifacts based on the one dimensional curves.
1. A method for correcting image data for a captured image for lens shading artifacts, the method comprising:
determining a plurality of one dimensional correction curves that can be applied to the image data to correct for lens shading artifacts therein, comprising determining a first set of correction curves comprising a correction curve for each y coordinate in the image data; and determining a second set of correction curves comprising a correction curve for each x coordinate in the image data; and
correcting the image data for lens shading artifacts based on the one dimensional curves.
2. The method of claim 1 , wherein determining the first set of correction curves comprises determining an exact correction curve L y i (x) for a y coordinate y=y 0 ; and for each y coordinate y i ≠y 0 determining an approximated correction curve L y i (x) based on the exact correction curve.
3. The method of claim 2 , wherein determining an approximated correction curve L y i (x) based on the exact correction curve comprises selecting at least two segments in the exact correction curve; and determining scaling parameters to morph each segment into a corresponding segment in the approximated curve.
4. The method of claim 3 , further comprising storing scaling parameters for a top and a bottom row in the image data and determining the scaling parameters for the intermediate rows by interpolation.
5. The method of claim 1 , wherein determining the second set of correction curves comprises determining an exact correction curve L X i (y) for an x coordinate x=x 0 ; and for each x coordinate x i ≠x 0 determining an approximated correction curve L x i (y) based on the exact correction curve.
6. The method of claim 5 , wherein determining an approximated correction curve L x i (y) based on the exact correction curve comprises selecting at least two segments in the exact correction curve; and determining scaling parameters to morph each segment into a corresponding segment in the approximated curve.
7. The method of claim 6 , further comprising storing scaling parameters for a leftmost and a rightmost column in the image data and determining the scaling parameters for the intermediate columns by interpolation.
8. The method of claim 2 , wherein the coordinate y=y 0 runs through a brightest spot in the image data.
9. The method of claim 5 , wherein the coordinate x=x 0 runs through a brightest spot in the image data.
10. An image processor, comprising:
an image buffer to store image data for a captured image; and
lens shading correction logic to perform a method for correcting image data for lens shading artifacts, the method comprising:
determining a plurality of one dimensional correction curves that can be applied to the image data to correct for lens shading artifacts therein comprising determining a first set of correction curves comprising a correction curve for each y coordinate in the image data; and determining a second set of correction curves comprising a correction curve for each x coordinate in the image data; and
correcting the image data for lens shading artifacts based on the one dimensional curves.
11. The image processor of claim 10 , wherein determining the first set of correction curves comprises determining an exact correction curve L y i (x) for a y coordinate y=y 0 ; and for each y coordinate y i ≠y 0 determining an approximated correction curve L y i (x) based on the exact correction curve.
12. The image processor of claim 11 , wherein determining an approximated correction curve L y i (x) based on the exact correction curve comprises selecting at least two segments in the exact correction curve; and determining scaling parameters to morph each. segment into a corresponding segment in the approximated curve.
13. The image processor of claim 12 , the method for correcting the image data further comprises storing scaling parameters for a top and a bottom row in the image data and determining the scaling parameters for the intermediate rows by interpolation.
14. A camera system, comprising:
camera optics;
an image sensor positioned so that light passing through the camera optics impinges on the image sensor; and
an image processor coupled to the image sensor to receive image data for a captured image therefrom, wherein the image processor comprises lens shading correction logic to perform a method for correcting the image data for lens shading artifacts, the method comprising:
determining a plurality of one dimensional correction curves that can be applied to the image data to correct for lens shading artifacts therein, comprising determining a first set of correction curves comprising a correction curve for each y coordinate in the image data; and determining a second set of correction curves comprising a correction curve for each x coordinate in the image data; and
correcting the image data for lens shading artifacts based on the one dimensional curves.
15. The camera system of claim 14 , wherein determining the first set of correction curves comprises determining an exact correction curve L y i (x) for a y coordinate y=y 0 ; and for each y coordinate y i ≠y 0 determining an approximated correction curve L y i (x) based on the exact correction curve.
16. The camera system of claim 15 , wherein determining an approximated correction curve L y i (x) based on the exact correction curve comprises selecting at least two segments in the exact correction curve; and determining scaling parameters to morph each segment into a corresponding segment in the approximated curve.
17. The camera system of claim 16 , wherein the method for correcting the image data further comprises storing scaling parameters for a top and a bottom row in the image data and determining the scaling parameters for the intermediate rows by interpolation.