Title: Image (and Video) Coding and Processing Lecture 5: Point Operations
1Image (and Video) Coding and ProcessingLecture
5 Point Operations
2Lecture Overview
- Todays lecture will focus on
- Point-Operations These are operations that
basically do not involve any explicit spatial
memory - Examples
- Contrast stretching
- Noise Clipping
- Histogram Equalization
- Note Most of this talk is borrowed from a
lecture by my colleague Min Wu at UMD
3Point Operations / Intensity Transform
- Basic idea
- Zero memory operation
- each output only depend on the input intensity
at the point - Map a given gray or color level u to a new level
v, i.e. v f ( u ) - Doesnt bring in new info.
- But can improve visual appearance or make
features easier to detect - Example-1 Color coordinate transformations
- RGB of each pixel ? luminance chrominance
components ? etc. - Example-2 Scalar quantization
- quantize pixel luminance/color with fewer bits
4Gamma Characteristics Gamma Correction
- Non-linearity in CRT display
- Voltage U vs. Displayed luminance L
- L U ? where ? 2.0 2.5
- Use preprocessing to compensate ?-distortion
- U L 1/ ?
- log(L) gives similar compensation curve to
?-correction - good for many practical applications
- Camera may have L1/?c capturing distortion with
?c 1.0-1.7 - Power-law transformations are also useful for
general purpose contrast manipulation
5Typical Types of Gray-level Transformation
Figure is from slides at Gonzalez/ Woods DIP book
website (Chapter 3)
6Example Negative Transformation
Figure is from slides at Gonzalez/ Woods DIP book
website (Chapter 3)
7Example Log Transformation
Figure is from slides at Gonzalez/ Woods DIP book
website (Chapter 3)
8Example Effects of Different Gammas
L0
( vectors sample image from Matlab )
L01/2.2
L02.2
9Luminance Histogram
- Represents the relative frequency of occurrence
of the various gray levels in the image - For each gray level, count the of pixels having
that level - Can group nearby levels to form a big bin count
pixels in it
( From Matlab Image Toolbox Guide Fig.10-4 )
10Luminance Histogram (contd)
- Interpretation
- Treat pixel values as i.i.d random variables
- Histogram is an estimate of the probability
distribution of the r.v. - Unbalanced histogram doesnt fully utilize the
dynamic range - Low contrast image histogram concentrating in a
narrow luminance range - Under-exposed image histogram concentrating on
the dark side - Over-exposed image histogram concentrating on
the bright side - Balanced histogram gives more pleasant look and
reveals rich content
11Example Balanced and Unbalanced Histograms
Figure is from slides at Gonzalez/ Woods DIP book
website (Chapter 3)
12Image with Unbalanced Histogram
( From Matlab Image Toolbox Guide Fig.10-10
10-11 )
13Contrast Stretching for Low-Contrast Images
- Stretch the over-concentrated graylevels in
histogram via a nonlinear mapping - Piece-wise linear stretching function
- Assign slopes of the stretching region to be
greater than 1
14Contrast Stretching Example
original
stretched
15Clipping Thresholding
- Clipping
- Special case of contrast stretching with ? ?
0 - Useful for noise reduction when interested signal
mostly lie in range a,b - Thresholding
- Special case of clipping with a b T
- Useful for binarization of scanned binary images
- documents, signatures, fingerprints
16Examples of Histogram Equalization
( From Matlab Image Toolbox Guide Fig.10-10
10-11 )
17Equalization Example (contd)
original
equalized
18Histogram Equalization
- Goal Map the luminance of each pixel to a new
value such that the output image has
approximately uniform distribution of gray levels - To find what mapping to use first model pixels
as i.i.d. r.v. - How to generate r.v. with desired distribution? ?
Match c.d.f - Want to transform one r.v. with certain p.d.f. to
a new r.v. with uniform p.d.f. - For r.v. U with continuous p.d.f. over 0,1,
construct a new r.v. V by a monotonically
increasing mapping v(u) such that - Can show V is uniformly distributed over 0,1 ?
FV(v) v - FV(v) P(V? v) P( FU(u)? v)
- P( U ? F-1U(v) ) FU( F-1U(v)
) v - For u in discrete prob. distribution, the output
v will be approximately uniform
19How to Do Histogram Equalization?
- Approach map input luminance u to the
corresponding v - v will be approximately uniform for u with
discrete prob. distribution - b/c all pixels in one bin are mapped to a new
bin (no splitting)
20Histogram Equalization Algorithm
21Histogram Equalization A Mini-Example
- xi 0 1 2 3 4
5 6 7 (L8) - p(xi) 0.1 0.2 0.4 0.15 0.1
0.05 0 0 - v 0.1 0.3 0.7 0.85 0.95
1.0 1.0 1.0 - v 0 1.5 4.7 5.8 6.6
7 7 7 (L-1)/(1-vmin) 7.78 - 0 2 5 6
7 7 7 7
22Summary Contrast Stretching vs. Histogram Eq.
- What are in common?
- What are different?
23Generalization of Histogram Equalization
- Histogram specification
- Want output v with specified p.d.f. pV(v)
- Use uniformly distributed r.v. W as an
intermediate step - W FU(u) FV(v) ? V F-1V (FU(u) )
- Approximation in the intermediate step needed for
discrete r.v. - W1 FU(u) , W2 FV(v) ? take v s.t. its w2 is
equal to or just above w1
Figure is from slides at Gonzalez/ Woods DIP book
website (Chapter 3)
24Generalization of Histogram Equalization
- Histogram modification
- u ? v f(u) ? v unif.-quantized v
- f(u) u1/2 or f(u) u1/3
- f(u) log(1u)
- range compression(good for spectrum
visualization) - Histogram specification
- Want output v with specified p.d.f. pV(v)
- Use uniformly distributed r.v. W as an
intermediate step - W FU(u) FV(v) ? V F-1V (FU(u) )
- Approximation in the intermediate step needed for
discrete r.v. - W1 FU(u) , W2 FV(v) ? take v s.t. its w2 is
equal to or just above w1
25For Next Time
- Next time we will focus on quantization