Lectures 4&5: Image Enhancement: Professor Heikki Kälviäinen Machine Vision and Pattern Recognition Research Group
Lectures 4&5: Image Enhancement: Professor Heikki Kälviäinen Machine Vision and Pattern Recognition Research Group
Professor Heikki Klviinen Machine Vision and Pattern Recognition Research Group Laboratory of Information Processing Department of Information Technology Lappeenranta University of Technology (LUT) [email protected] http://www.lut.fi/~kalviai http://www.it.lut.fi/ip/research/mvpr/
Content Background. Spatial domain methods. Frequency domain methods. Enhancement by point processing. Spatial filtering. Enhancement in the frequency domain.
Background: Motivation For preprocessing to make the image look better, i.e., more suitable for further processing. Problems with contrast, sharpness, smoothness, noise, distortions, etc.
Image negatives: s = ((L-1) r) where L = number of gray-levels Contrast stretching: Poor illumination, lack of dynamic range in the imaging sensor, wrong setting of a lens aperture during image acquisition. To increase the dynamic range of the gray-levels. Piecewise linear function. When a thresholding function => a binary image (two values only).
Contrast stretching
Compression of dynamic range: The dynamic range exceeds the capability of the display device. The need of brighter pixels. s = c log(1 + abs(r)) where c is a scaling constant Gray-level slicing: Highlighting a specific range of gray-levels with removing or preserving other pixels.
Gray-level slicing
Original image (top). Thresholded (left). Gray-level slicing (right).
Bit-plane slicing: Select the specific bit planes. For example: the image of eight 1-bit planes. Plane 7 contains all the high-order bits: Higher planes contain visually significant data. Note: digital watermarking! To select the plane 7 only corresponds to the image thresholded at gray-level 128.
10
Histogram of the image: p(r_k) = n_k/n where r_k is the kth gray-level n_k is the number of pixels with that gray-level n is the total number of pixels in the image k = 0, 1, 2, , L-1 L is the number of gray-levels
11
Histogram of an image
12
Enhancement by point processing: Histogram processing (cont.) Histogram equalization (or histogram linearization): to obtain the uniform histogram. Gray-level transformation function and its inverse function: s = T(r) where 0<=T(r)<=1 and T(r) is single-valued and monotonically increasing in 0<=r<=1 r = T^{-1}(s) where 0<=s<=1
13
Histogram equalization
14
Enhancement by point processing: Histogram processing (cont.) Probability density function: p_s(s) = [p_r(r) dr/ds]_{r=T^{-1}(s)} Transformation function: s = T(r) = integral_0^r (p_r(w)dw) where 0<=r<=1 ds/dr=p_r(r) Uniform density p_s(s) = [p_r(r) 1/p_r(r)]_{r=T^{-1}(s)} = 1 where 0<=s<=1 To obtain T^{-1} analytically is not always easy!
15
Example: p_r(r) = -2r + 2 when 0<=r<=1 0 elsewhere What transformation function makes the uniform density? s = T(r) = integral_0^r ((-2w + 2)dw) = -r^2 + 2r Proof: r = T^{-1}(s) = 1 sqrt(1-s), 0r1 => r = 1 - sqrt(1-s) p_s(s)=[p_r(r)dr/ds] = [(-2r+2)dr/ds] = 1 0s1
16
Enhancement by point processing: Histogram processing (cont.) In discrete form, probabilities: p_r(r_k) = n_k/n where 0r_k1 and k = 0, 1, , L-1 Transformation function: s_k = T(r_k) = n_j/n j=0,...,k = p_r(r_j) j=0,...,k where 0r_k1 and k=0,1,,L-1 The new value n is the gray-level closest to the sum of probabilities up to the original value k: n = round((L-1) x s_k)
17
Histogram specification: To apply another transformation function than an approximation to a uniform histogram. Local enhancement: Local processing instead of the whole image. For example, histogram equalization of a 7x7 neighborhood about each pixel.
18
The difference between two images f(x,y) and h(x,y): g(x,y) = f(x,y) h(x,y) done by pixelwise subtraction. The use of the mask image. Applications in medical image processing: The mask is a normal image which is subtracted from a sample image to point out regions of interest.
19
Image subtraction
20
Consider a noisy image g(x,y) formed by the addition of noise (x.y) to an original image image f(x,y): g(x,y) = f(x,y) + (x.y) By averaging noisy images, noise is reduced. Noise must be uncorrelated and must has the zero average value! Example: noisy microscope images.
21
Spatial filtering: Background Spatial filtering: the use of spatial filters. Spatial filters: Lowpass filters. Highpass filters. Bandpass filters. The mask: w1 w2 w3 w4 w5 w6 w7 w8 w9 Smoothing filters, sharpening filters.
22
23
Original image (upper left). Original + noise (upper right). Smoothed image (lower right). Median smoothing (lower left).
24
Spatial filtering: Sharpening filters For highlighting fine detail in an image or enhance detail that has been blurred. Filters: Basic highpass spatial filter. High-boost filtering. Derivative filters.
25
26
Spatial filtering: High-boost filtering Highpass = Original Lowpass. High-boost or high-frequency-emphasis filter: High boost= (A)(Original) Lowpass = (A-1)(Original) + Original Lowpass = (A-1)(Original) + Highpass. Looks like an original image, with edge enhancement by A.
27
Spatial filtering: High-boost filtering (cont.) Unsharp masking: to subtract a blurred image from an original image. In the printing and publishing industry. The mask with w = 9A -1 (with A1): -1 -1 -1 1/9 x -1 w -1 -1 -1 -1
28
29
30
31
32
33
34
Enhancement in the Frequency Domain: Lowpass filter G(u,v) = H(u,v) F(u,v). Ideal lowpass filter: H(u,v) = 1 if D(u,v) D_0, or 0 if D(u,v) > D_0. Original (left) and filtered image (right).
35
Enhancement in the Frequency Domain: Butterworth lowpass filter The transfer function: H(u,v) = 1/(1 + (D(u,v)/D_0)^(2n)) where n is the order of the filter D_0 is the cutoff frequency locus (select!) H(u,v) from 1 to 0. When D(u,v) = D_0, H(u,v) = 0.5. H(u,v) = 1/2 commonly used.
36
Enhancement in the Frequency Domain: Highpass filter Ideal high pass filter: H(u,v) = 0 if D(u,v) D_0, or 1 if D(u,v) > D_0. Original (left) and filtered image (right).
37
Enhancement in the Frequency Domain: Butterworth highpass filter The transfer function: H(u,v) = 1/(1 + (D_0/D(u,v))^(2n)) where n is the order of the filter D_0 is the cutoff frequency locus H(u,v) from 0 to 1. When D(u,v) = D_0, H(u,v) = 0.5. H(u,v) = 1/2 commonly used.
38
Summary For preprocessing to make the image look better, i.e., more suitable for further processing. Approaches: Spatial domain methods. Frequency domain methods. Enhancement by point processing. Spatial filtering. Enhancement in the frequency domain.
39