230 likes | 514 Views
Image (and Video) Coding and Processing Lecture 5: Point Operations. Wade Trappe. Lecture Overview. Today’s lecture will focus on: Point-Operations: These are operations that basically do not involve any explicit spatial memory Examples: Contrast stretching Noise Clipping
E N D
Image (and Video) Coding and ProcessingLecture 5: Point Operations Wade Trappe
Lecture Overview • Today’s 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
v output gray level input gray level u Point 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 uto a new level v, i.e.v = f ( u ) • Doesn’t 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
L’ L’ = a U U U ~ logL ~ L1/ L Gamma 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
Typical Types of Gray-level Transformation Figure is from slides at Gonzalez/ Woods DIP book website (Chapter 3)
Example: Negative Transformation Figure is from slides at Gonzalez/ Woods DIP book website (Chapter 3)
Example: Log Transformation Figure is from slides at Gonzalez/ Woods DIP book website (Chapter 3)
Example: Effects of Different Gammas L0 ( “vectors” sample image from Matlab ) L01/2.2 L02.2
Luminance Histogram • Represents the relative frequency of occurrenceof 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 )
Luminance Histogram (cont’d) • Interpretation • Treat pixel values as i.i.d random variables • Histogram is an estimate of the probability distribution of the r.v. • “Unbalanced” histogram doesn’t 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
Example: Balanced and Unbalanced Histograms Figure is from slides at Gonzalez/ Woods DIP book website (Chapter 3)
v output gray level a b o input gray level u Contrast 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
Contrast Stretching: Example original stretched
v output gray level a b o input gray level u v output gray level T o input gray level u Clipping & 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
( From Matlab Image Toolbox Guide Fig.10-10 & 10-11 ) Examples of Histogram Equalization
Equalization Example (cont’d) original equalized
Histogram 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
P(V<=v) P(U<=u) 1 1 Fu0 Fu0 c.d.f c.d.f u0 v0 o o gray level v 255 gray level u 255 How 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)
u v v’ Uniform quantization pU(xi) v [0,1] • Map discrete v [0,1] to v’ {0,…,L-1} • vmin is the smallest positive value of v • vmin 0 1 L-1 Histogram Equalization Algorithm
Histogram Equalization: A Mini-Example • xi 0 1 2 3 4 5 6 7 (L=8) • 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
v P(V<=v) P(U<=u) output gray level 1 1 Fu0 Fu0 a b c.d.f c.d.f o input gray level u u0 v0 o o gray level v 255 gray level u 255 Summary: Contrast Stretching vs. Histogram Eq. • What are in common? • What are different?
Generalization 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)
For Next Time… • Next time we will focus on quantization