System and method for histogram-based image contrast enhancement
First Claim
1. A method of operating a computer to produce contrast enhanced images, wherein an image is composed of a plurality of pixels, said method comprises the steps of:
- inputting in digital form an original image into a storage unit of said computer;
producing a histogram of said digital form having a first axis corresponding to a first measurable property and a second axis corresponding to a count of pixels having a particular value for said first measurable property;
dividing said histogram into clusters;
performing histogram equalization on each cluster thereby producing a modified histogram; and
using said modified histogram to adjust the value of said first measurable property in said digital form, thereby producing said contrast enhanced image.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of operating a computer to produce contrast enhanced digital images commences with the step of producing a histogram of having a first axis corresponding to a measurable property (e.g., luminance) and a second axis corresponding to a count of pixels having a particular value for the measurable property. This histogram is divided into clusters and histogram equalization or stretching is performed on each cluster thereby producing a modified histogram. Using said modified histogram to adjust the value of said first measurable property in said digital form, thereby producing a contrast enhanced image. The histogram is divided into clusters using a pattern matching technique. For example, patterns in the histogram that resemble gaussian distributions and patterns that resemble uniform distributions are separated into individual clusters.
-
Citations
17 Claims
-
1. A method of operating a computer to produce contrast enhanced images, wherein an image is composed of a plurality of pixels, said method comprises the steps of:
-
inputting in digital form an original image into a storage unit of said computer;
producing a histogram of said digital form having a first axis corresponding to a first measurable property and a second axis corresponding to a count of pixels having a particular value for said first measurable property;
dividing said histogram into clusters;
performing histogram equalization on each cluster thereby producing a modified histogram; and
using said modified histogram to adjust the value of said first measurable property in said digital form, thereby producing said contrast enhanced image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
converting said RGB image into a format having a luminance component.
-
-
6. The method of claim 5 wherein said format is selected from the set of Y-Cb-Cr, CIE L*a*b*, CIE XYZ, and Y-U-V.
-
7. The method of claim 1, wherein said first measurable property is a light intensity measure and wherein for each light intensity value said count of pixels is a count of pixels having that particular light intensity, and wherein said histogram has an extent equal to the highest and lowest light intensity values in said original image, each cluster represents a range in said histogram, the sum of the histogram values for the range corresponds to the number of pixels having a light intensity within the range of the cluster, and further comprising the step of:
remapping cluster boundaries according to the cluster'"'"'s range (Ro), the number of pixels within the range (Ni), the total number of pixels in the image (Nt), and the histogram extent (Eo).
-
8. The method of claim 7 wherein said remapping step comprises the further step of selecting a desired range for the histogram (Ed) of said output image;
- and stretching the width of each cluster according to the relationship;
wherein w is a weighting factor ranging from 0 to 1.0.
- and stretching the width of each cluster according to the relationship;
-
9. The method of claim 1 wherein said digital form of said image further comprises a second measurable property and wherein said generating step further comprises the step of:
for each pixel in said contrast enhanced image limiting the value of said first measurable property as a function of the value of said second measurable property.
-
10. The method of claim 9 further comprising the steps of:
-
generating a table of maximum values of said first measurable property as a function of said second measurable property; and
wherein said limiting step further comprises the step of for each value V of said second measurable property retrieving from said table the maximum value M for said first measurable property corresponding to said value V and if said value V exceeds said maximum value M setting the value V to M.
-
-
11. An image processing system, having a memory, for producing contrast enhanced images, comprising:
-
a histogram producing unit operable to produce a histogram data structure in said memory, said histogram corresponding to an image composed of a plurality of pixels, and said histogram containing, for each level of a first property of said pixels, a count of pixels having a value for said first property corresponding to said level, thereby defining an extent for said histogram corresponding to a range represented by the lowest such level having a non-zero count and the highest such level having a non-zero count;
a clusterizer connected to said histogram data structure and operable to partition said histogram data structure into clusters;
a histogram cluster boundary adjuster connected to said histogram data structure and operable to adjust boundaries of each cluster in said data structure such that said boundaries conform to a function having the parameters cluster width (Ro), a count of pixels in the cluster (Ni), a count of pixels in the image (Nt), the original histogram extent (Eo), and a desired histogram extent (Ed); and
a histogram adjuster connected to said histogram data structure and operable to modify the histogram for each such cluster according to a desired characteristic, wherein said histogram adjuster is a histogram equalizer and said desired characteristic is uniform distribution of pixels contained in said cluster.
-
-
12. An image processing system, having a memory, for producing contrast enhanced images, comprising:
-
a histogram producing unit operable to produce a histogram data structure in said memory, said histogram corresponding to an image composed of a plurality of pixels, and said histogram containing, for each level of a first property of said pixels, a count of pixels having a value for said first property corresponding to said level, thereby defining an extent for said histogram corresponding to a range represented by the lowest such level having a non-zero count and the highest such level having a non-zero count;
a clusterizer connected to said histogram data structure and operable to partition said histogram data structure into clusters;
a histogram cluster boundary adjuster connected to said histogram data structure and operable to adjust boundaries of each cluster in said data structure such that said boundaries conform to a function having the parameters cluster width (Ro), a count of pixels in the cluster (Ni), a count of pixels in the image (Nt), the original histogram extent (Eo), and a desired histogram extent (Ed); and
a histogram adjuster connected to said histogram data structure and operable to modify the histogram for each such cluster according to a desired characteristic, wherein said histogram adjuster is a histogram stretcher and said desired characteristic is conformance of the histogram extend to said desired histogram extent (Ed) for each cluster.
-
-
13. An image processing system, having a memory, for producing contrast enhanced images, comprising:
-
a histogram producing unit operable to produce a histogram data structure in said memory, said histogram corresponding to an image composed of a plurality of pixels, and said histogram containing, for each level of a first property of said pixels, a count of pixels having a value for said first property corresponding to said level, thereby defining an extent for said histogram corresponding to a range represented by the lowest such level having a non-zero count and the highest such level having a non-zero count;
a clusterizer connected to said histogram data structure and operable to partition said histogram data structure into clusters;
a histogram cluster boundary adjuster connected to said histogram data structure and operable to adjust boundaries of each cluster in said data structure such that said boundaries conform to a function having the parameters cluster width (Ro), a count of pixels in the cluster (Ni), a count of pixels in the image (Nt), the original histogram extent (Eo), and a desired histogram extent (Ed); and
a histogram adjuster connected to said histogram data structure and operable to modify the histogram for each such cluster according to a desired characteristic, and wherein said function is;
wherein w is a weighting factor ranging from 0 to 1.0.
-
-
14. An image processing system, having a memory, for producing contrast enhanced images, comprising:
-
a histogram producing unit operable to produce a histogram data structure in said memory, said histogram corresponding to an image composed of a plurality of pixels, and said histogram containing, for each level of a first property of said pixels, a count of pixels having a value for said first property corresponding to said level, thereby defining an extent for said histogram corresponding to a range represented by the lowest such level having a non-zero count and the highest such level having a non-zero count;
a clusterizer connected to said histogram data structure and operable to partition said histogram data structure into clusters;
a histogram cluster boundary adjuster connected to said histogram data structure and operable to adjust boundaries of each cluster in said data structure such that said boundaries conform to a function having the parameters cluster width (Ro), a count of pixels in the cluster (Ni), a count of pixels in the image (Nt), the original histogram extent (Eo), and a desired histogram extent (Ed); and
a histogram adjuster connected to said histogram data structure and operable to modify the histogram for each such cluster according to a desired characteristic, and wherein said clusterizer partitions said histogram into equal size clusters.
-
-
15. An image processing system, having a memory, for producing contrast enhanced images, comprising:
-
a histogram producing unit operable to produce a histogram data structure in said memory, said histogram corresponding to an image composed of a plurality of pixels, and said histogram containing, for each level of a first property of said pixels, a count of pixels having a value for said first property corresponding to said level, thereby defining an extent for said histogram corresponding to a range represented by the lowest such level having a non-zero count and the highest such level having a non-zero count;
a clusterizer connected to said histogram data structure and operable to partition said histogram data structure into clusters;
a histogram cluster boundary adjuster connected to said histogram data structure and operable to adjust boundaries of each cluster in said data structure such that said boundaries conform to a function having the parameters cluster width (Ro), a count of pixels in the cluster (Ni), a count of pixels in the image (Nt), the original histogram extent (Eo), and a desired histogram extent (Ed); and
a histogram adjuster connected to said histogram data structure and operable to modify the histogram for each such cluster according to a desired characteristic, and wherein said clusterizer further comprises a pattern recognizer operable to detect areas approximating uniform distribution and areas approximating Gaussian distribution, and partitioning the histogram on boundaries between such areas.
-
-
16. An apparatus for improving the visual appearance of digitized images stored in an image data structure, by contrast enhancement, comprising:
-
a histogram data structure;
a histogram generator connected to said histogram data structure and operable to store in said histogram data structure histogram data for a first property of said images;
a histogram clusterizer connected to said histogram data structure and operable to define clusters in said histogram, wherein each such cluster has a range;
a histogram remapper connected to said histogram data structure and operable to adjust said range of each such cluster; and
a histogram adjuster connected to said histogram data structure and operable to adjust the histogram of each cluster, wherein said histogram adjuster is a histogram equalizer.
-
-
17. An apparatus for improving the visual appearance of digitized images stored in an image data structure, by contrast enhancement, comprising:
-
a histogram data structure;
a histogram generator connected to said histogram data structure and operable to store in said histogram data structure histogram data for a first property of said images;
a histogram clusterizer connected to said histogram data structure and operable to define clusters in said histogram, wherein each such cluster has a range;
a histogram remapper connected to said histogram data structure and operable to adjust said range of each such cluster; and
a histogram adjuster connected to said histogram data structure and operable to adjust the histogram of each cluster, wherein said histogram adjuster is a histogram stretcher.
-
Specification