intensity transformations (chapter 3) cs474/674 – prof. bebis
TRANSCRIPT
Intensity Transformations (Chapter 3)
CS474/674 – Prof. Bebis
Spatial Domain Methods
f(x,y)
g(x,y)
g(x,y)
f(x,y)
Point Processing
Area/Mask Processing
Point Processing Transformations
• Convert a given pixel value to a new pixel value based on some predefined function.
Identity Transformation
Negative Image
• O(r,c) = 255-I(r,c)
Contrast Stretching or Compression
• Stretch gray-level ranges where
we desire more information
(slope > 1).
• Compress gray-level ranges that
are of little interest
(0 < slope < 1).
Thresholding
• Special case of contrast compression
Intensity Level Slicing
• Highlight specific ranges of gray-levels only.
Same as doublethresholding!
Bit-level Slicing
• Highlighting the contribution made by a specific bit.• For pgm images, each pixel is represented by 8 bits.• Each bit-plane is a binary image
Logarithmic transformation
• Enhance details in the darker regions of an image at the expense of detail in brighter regions.
compress
stretch
Exponential transformation
• Reverse effect of that obtained using logarithmic mapping.
compress
stretch
Histogram Equalization
• A fully automatic gray-level stretching technique.
• Need to talk about image histograms first ...
Image Histograms
• An image histogram is a plot of the gray-level frequencies (i.e., the number of pixels in the image that have that gray level).
Image Histograms (cont’d)
• Divide frequencies by total number of pixels to represent as probabilities.
Image Histograms (cont’d)
Properties of Image Histograms
• Histograms clustered at the low end correspond to dark images.• Histograms clustered at the high end correspond to bright
images.
Properties of Image Histograms (cont’d)
• Histograms with small spread correspond to low contrast images (i.e., mostly dark, mostly bright, or mostly gray).
• Histograms with wide spread correspond to high contrast images.
Properties of Image Histograms (cont’d)Low contrast High contrast
Histogram Equalization
• The main idea is to redistribute the gray-level values uniformly.
Histogram Equalization (cont’d)
• In practice, the equalized histogram might not be completely flat.
Probability - Definitions
• Random experiment: an experiment whose result is not certain in advance (e.g., throwing a die)
• Outcome: the result of a random experiment
• Sample space: the set of all possible outcomes (e.g., {1,2,3,4,5,6})
• Event: a subset of the sample space (e.g., obtain an odd number in the experiment of throwing a die = {1,3,5})
Random Variables - Review
• A function that assigns a real number to random experiment outcomes (i.e., helps to reduce space of possible outcomes)
X(j)
X: # of heads
Random Variables - Example
• Consider the experiment of throwing a pair of dice• Define the r.v. X=“sum of dice”• X=x corresponds to the event
Probability density function
• The probability density function (pdf) is a real-valued function fX(x) describing the density of probability at each point in the sample space.
• In the discrete case, this is just a histogram!
Gaussian
Probability distribution function
• The integral of fX(x) defines the probability distribution function FX(x) (i.e., cumulative probability)
• In the discrete case, simply take the sum:
fX(x) FX(x)
GaussianfX(a)da
non-decreasing
Probability distribution function (cont’d)
Random Variable Transformations
• Suppose Y=T(X)– e.g., Y=X+1
• If we know fX(x), can we find fY(y)?
• Yes - it can be shown that:
Transformations of r.v. - Example
μ=0, σ=1
μ=1, σ=1
0
Special transformation!
1 1( ) ( )
1( ) [ ( ) ] [ ( ) ] 1
( )Y X Xx T y x T yX
dXf y f x f x
dY f x
Proof:
Histogram Equalization (cont’d)
The intensity levels can be viewed as a random variable in [0,1]
pr(r) ps(s)
Histogram Equalization (cont’d)
For PGM images:L=256 (graylevels)k=0,1,2, …, L-1 (possible graylevels)rk=k/(L-1) (normalized graylevel in [0, 1])
Histogram Equalization (cont’d)
then, de-normalize: sk x (L-1)
Histogram Equalization Example
3 bit 64 x 64 image
input histogram equalized histogram
Histogram Equalization Examples
equalized images and histogramsoriginal images and histograms
Histogram Specification (Matching)
• Histogram equalization yields a uniform pdf only.• What if we want to obtain a histogram other than uniform?
fR(r)
fR(a)da fZ(a)da
fZ(z)
onlydesiredhistogramis known
so, Q(r)=G-1(T(r))
Histogram Specification (cont’d)
• fS(s) and fV(v) are uniform• G(z) can be computed by specifying fZ(z) but I2 and I’2 are
unknown!• z=G-1(v) requires that v is a r.v. with uniform pdf• IDEA: use z=G-1(s) instead of z=G-1(v)
– s is a r.v. with uniform pdf• The desired transformation is
z=G-1(T(r))
fR(a)da fz(a)da
Histogram Specification (cont’d)
• Comments– We do not need to apply T( ) and G-1( ) separately!– Combine them: Q=G-1T, thus, z=Q(r)– Histogram specification assumes that we know G-1 (not
always easy to find).– G( ) must be in [0,1] and must be non-decreasing.
z=G-1(T(r))=Q(r)
Histogram Specification Example
3 bit 64 x 64 image
specified histogram
actual histogram
input histogram
Histogram Specification (cont’d)
• Histogram specification might yield superior results than histogram equalization.
results of histogram equalization
Histogram Specification (cont’d)results of histogram specification
G(z)
G-1(z)
Local Histogram Processing
• Histogram equalization/specification are global methods.– The intensity transformation is computed using pixels from
the entire image.
• Global transformations are not appropriate for enhancing little details in an image.– The number of pixels in these areas might be very small,
contributing very little to the computation of the transformation.
Local Histogram Processing
Idea: Define a transformation function based on the intensity
distribution in a neighborhood of every pixel in the image!
Local Histogram Processing (cont’d)
1. Define a neighborhood and move its center from pixel to pixel.
2. At each location, the histogram of the points in the neighborhood is computed. Obtain histogram equalization or histogram specification transformation.
3. Map the intensity of the pixel centered in the neighborhood.
4. Move to the next location and repeat the procedure.
Local Histogram Processing: Example
local histogramequalization3 x 3 neighborhood
global histogramequalization
Histogram Statistics
1
0
( ) ( ) ( )L
nn i i
i
r r m p r
1
0
( )L
i ii
m r p r
1 1
0 0
1( , )
M N
x y
f x yMN
12 2
20
( ) ( ) ( )L
i ii
r r m p r
1 1
2
0 0
1( , )
M N
x y
f x y mMN
n-th momentaround mean
Variance(2nd moment)
Mean(average intensity)
Example: Comparison of Standard Deviation Values
31.6 14.3 49.2
σ is useful for estimating image contrast!
Local Histogram Statistics
1
0
Local average intensity
( )
denotes a neighborhood
xy xy
L
s i s ii
xy
m r p r
s
12 2
0
Local variance
( ) ( )xy xy xy
L
s i s s ii
r m p r
Using Histogram Statistics for Image Enhancement
• Useful when parts of the image might contain hidden features.
Task: enhance darkareas without changingbright areas.
Idea: Find dark, low contrastareas using local statistics.
Using Histogram Statistics for Image Enhancement: Example
0 1 2
0 1 2
( , ), if and ( , )
( , ), otherwise
: global mean; : global standard deviation
0.4; 0.02; 0.4; 4
xy xys G G s G
G G
E f x y m k m k kg x y
f x y
m
k k k E
Question
• Intensity operations can yield pixel values outside of the range [0 – 255].
• You should convert values back to the range [0 – 255] to ensure that the image is displayed properly.
• How would you find the following mapping?
[fmin – fmax] [ 0 – 255]