Color cast detection and removal in digital images
First Claim
1. A method of color cast detection and removal comprising the steps of:
- providing a color image consisting of pixels;
providing a color space having an achromatic axis and two chromatic axes;
providing a default gray radius from the achromatic axis;
establishing bins of neutral color in a chromatic plane;
populating the bins with the pixels based on pixel chromaticity;
computing a color histogram with chromaticity peaks for the pixels in the bins within the default gray radius;
adjusting the default gray radius to a gray radius based on the chromaticity peaks in the color histogram;
detecting color cast from a dominant chromaticity peak within the gray radius and color cast distance from the distance thereof from the achromatic axis;
removing the color cast from the pixels by subtracting the color cast distance from the color image in the color space; and
outputting a color cast removed color image.
1 Assignment
0 Petitions
Accused Products
Abstract
Digital images often have undesired color casts due to unusual illuminant sources. A color correction method is provided that uses adaptive segmentation to identify the presence of such casts, estimate their chromatic strength, and alter the image'"'"'s near-neutral-color regions to compensate for the cast. The method identifies most major objects in a scene and their average color. A color space having an achromatic axis is provided with a default gray radius that is used for establishing bins of neutral color in a chromatic plane. The bins are populated with the pixels of the digital color image based on pixel chromaticity. A color histogram computed with chromaticity peaks for the pixels in the bins within the default gray radius. The default gray radius is adjusted to a gray radius based on the chromaticity peaks in the color histogram. The color cast is detected from a dominant chromaticity peak, or two chromatic peaks in the same chromatic quadrant, within the gray radius and color cast distance from the distance thereof from the achromatic axis. The color cast is removed from the pixels by subtracting the color cast distance from the color image in the color space and outputting a color cast removed color image.
-
Citations
32 Claims
-
1. A method of color cast detection and removal comprising the steps of:
-
providing a color image consisting of pixels;
providing a color space having an achromatic axis and two chromatic axes;
providing a default gray radius from the achromatic axis;
establishing bins of neutral color in a chromatic plane;
populating the bins with the pixels based on pixel chromaticity;
computing a color histogram with chromaticity peaks for the pixels in the bins within the default gray radius;
adjusting the default gray radius to a gray radius based on the chromaticity peaks in the color histogram;
detecting color cast from a dominant chromaticity peak within the gray radius and color cast distance from the distance thereof from the achromatic axis;
removing the color cast from the pixels by subtracting the color cast distance from the color image in the color space; and
outputting a color cast removed color image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
designating groups of adjacent pixels in the color image; and
eliminating groups of adjacent pixels which do not have the majority of the pixels with similar chrominance values whereby only large objects of near-constant reflectance will be processed.
-
-
3. The method as claimed in claim 1 wherein the step of computing a color histogram includes a step of:
-
establishing ranges of chrominance values; and
compacting the bins by joining bins having a proximate range of chrominance values.
-
-
4. The method as claimed in claim 1 wherein the step of computing a color histogram includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine the connection of the pixels therein to other pixels in other bins having the proximate range of colors;
establishing segmentation bins for containing connected pixels having the proximate range of colors;
populating the segmentation bins with connected pixels having the proximate range of colors; and
calculating the centroids of the segmentation bins.
-
-
5. The method as claimed in claim 1 wherein the step of computing a color histogram includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine the connection of the pixels therein to other pixels in other bins having the proximate ranges of colors;
establishing segmentation bins for containing connected pixels having the proximate range of colors;
populating the segmentation bins with connected pixels having the proximate range of colors; and
detecting spaces between the segmentation bins whereby boundaries of objects in the color image are determined.
-
-
6. The method as claimed in claim 1 wherein the step of computing a color histogram includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine the connection of the pixels therein to other pixels in other bins having distal ranges of colors;
establishing segmentation bins for containing connected pixels having the proximate range of colors;
populating the segmentation bins with connected pixels having the proximate range of colors; and
detecting spaces between the segmentation bins having non-adjacent ranges of colors whereby boundaries of high chromaticity objects in the color image are determined.
-
-
7. The method as claimed in claim 1 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks proximate the default gray radius; and
changing the gray radius to include the chromaticity peaks proximate the default gray radius.
-
-
8. The method as claimed in claim 1 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks proximate the default gray radius; and
changing the gray radius to include the chromaticity peaks proximate the default gray radius.
-
-
9. The method as claimed in claim 1 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks proximate the default gray radius; and
changing the initial bin range of chrominance.
-
-
10. The method as claimed in claim 1 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks proximate the default gray radius; and
changing the maximum growth of any bin from an initial bin range of chrominance.
-
-
11. The method as claimed in claim 1 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks proximate the default gray radius; and
recomputing the color histogram for the pixels in the bins within the gray radius.
-
-
12. The method as claimed in claim 1 wherein the step of adjusting the default gray radius includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine the connection of the pixels therein to other pixels in other bins having the proximate ranges of colors;
establishing segmentation bins for containing connected pixels having the proximate range of colors;
populating the segmentation bins with connected pixels having the proximate range of colors;
detecting chromaticity peaks proximate the default gray radius; and
recomputing the color histogram for pixels in the segmentation bins within the gray radius.
-
-
13. The method as claimed in claim 1 wherein the step of computing a color histogram includes the step of:
determining the existence of dominant chromaticity peaks in different chromatic quadrants in the color space to prevent the step of removing the color cast.
-
14. The method as claimed in claim 1 wherein the step of computing a color histogram includes the steps of:
eliminating the dominant chromaticity peak from the computing of the color histogram when the amplitude thereof is less than a multiplicative threshold value times greater than the average amplitude of the non-dominant chromaticity peaks.
-
15. The method as claimed in claim 1 wherein the step of providing a default gray radius includes the step of:
selecting a color space from a color space selected from a group consisting of L*a*b*, YUV, and Lst.
-
16. The method as claimed in claim 1 wherein the step of removing the color cast includes the step of:
-
building a lookup table having corrections for the color cast distance; and
transforming the color image using the lookup table to provide the color cast removed color image.
-
-
17. A method of color cast detection and removal comprising the steps of:
-
providing a color image consisting of pixels;
providing a color space having an achromatic axis and two chromatic axes;
providing a default gray radius from the achromatic axis;
establishing bins of neutral color in a chromatic plane;
populating the bins with the pixels based on pixel chromaticity;
computing a color histogram with chromaticity peaks for the pixels in the bins within the default gray radius;
adjusting the default gray radius to a gray radius based on the chromaticity peaks in the color histogram;
detecting color cast from a plurality of chromatic peaks in the same chromatic quadrant within the gray radius and color cast distance from the mean average distance thereof from the achromatic axis;
removing the color cast from the pixels by subtracting the color cast distance from the color image in the color space; and
outputting a color cast removed color image. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
designating groups of adjacent pixels in the color image; and
eliminating groups of adjacent pixels which do not have greater than ¾
of the pixels with similar chrominance values whereby only large objects of near-constant reflectance will be processed.
-
-
19. The method as claimed in claim 17 wherein the step of computing a color histogram includes a step of:
-
establishing ranges of chrominance values; and
compacting the bins by joining bins having a proximate range of chrominance and luminescence values.
-
-
20. The method as claimed in claim 17 wherein the step of computing a color histogram includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine adjacent pixels therein to other pixels in other bins having the proximate range of colors;
establishing segmentation bins for containing adjacent pixels having the proximate range of colors;
populating the segmentation bins with connected pixels having the proximate range of colors; and
calculating the centroids of the segmentation bins and total area of the adjacent pixels.
-
-
21. The method as claimed in claim 17 wherein the step of computing a color histogram includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine the connection of the pixels therein to other pixels in other bins having the proximate ranges of colors;
establishing segmentation bins for containing adjacent pixels having the proximate range of colors;
populating the segmentation bins with adjacent pixels having the proximate range of colors; and
detecting spaces between the segmentation bins whereby boundaries of objects in the color image are determined.
-
-
22. The method as claimed in claim 17 wherein the step of computing a color histogram includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine the connection of the pixels therein to other pixels in other bins having distal ranges of colors;
establishing segmentation bins for containing adjacent pixels having the proximate range of colors;
populating the segmentation bins with adjacent pixels having the proximate range of colors; and
detecting spaces between the segmentation bins having non-adjacent ranges of colors whereby boundaries of high chromaticity objects in the color image are determined.
-
-
23. The method as claimed in claim 17 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks outside but proximate the default gray radius; and
increasing the gray radius to include the chromaticity peaks outside but proximate the default gray radius.
-
-
24. The method as claimed in claim 17 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks outside but proximate the default gray radius; and
increasing the gray radius to include the chromaticity peaks proximate the default gray radius.
-
-
25. The method as claimed in claim 17 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks outside but proximate the default gray radius; and
changing the initial bin range of luminance and chrominance.
-
-
26. The method as claimed in claim 17 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks outside but proximate the default gray radius; and
changing the maximum growth of any bin from an initial bin range of luminance and chrominance.
-
-
27. The method as claimed in claim 17 wherein the step of adjusting the default gray radius includes the steps of:
-
detecting chromaticity peaks outside but proximate the default gray radius; and
recomputing the color histogram for the pixels in the bins within the gray radius.
-
-
28. The method as claimed in claim 17 wherein the step of adjusting the default gray radius includes the steps of:
-
establishing ranges of colors;
sorting the bins to determine adjacent pixels therein to other pixels in other bins having the proximate ranges of colors;
establishing segmentation bins for containing adjacent pixels having the proximate range of colors;
populating the segmentation bins with adjacent pixels having the proximate range of colors;
detecting chromaticity peaks outside but proximate the default gray radius; and
recomputing the color histogram for pixels in the segmentation bins within the gray radius.
-
-
29. The method as claimed in claim 17 wherein the step of computing a color histogram includes the step of:
determining the existence of two dominant chromaticity peaks in two different chromatic quadrants in the color space to prevent the step of removing the color cast.
-
30. The method as claimed in claim 17 wherein the step of computing a color histogram includes the steps of:
eliminating the dominant chromaticity peak from the computing of the color histogram when the amplitude thereof is less than a multiplicative threshold value times greater than the average amplitude of the non-dominant chromaticity peaks.
-
31. The method as claimed in claim 17 wherein the step of providing a default gray radius includes the step of:
selecting a color space from a color space selected from a group consisting of L*a*b*, YUV, and Lst.
-
32. The method as claimed in claim 17 wherein the step of removing the color cast includes the step of:
-
building a three-dimensional lookup table having corrections for the color cast distance; and
transforming the color image using the three-dimensional lookup table to provide the color cast removed color image.
-
Specification