CS589-04 Digital Image Processing Lecture 2. Intensity Transformation and Spatial Filtering Spring 2008 New Mexico Tech.
Download ReportTranscript CS589-04 Digital Image Processing Lecture 2. Intensity Transformation and Spatial Filtering Spring 2008 New Mexico Tech.
CS589-04 Digital Image Processing Lecture 2. Intensity Transformation and Spatial Filtering Spring 2008 New Mexico Tech Spatial Domain vs. Transform Domain ► Spatial domain image plane itself, directly process the intensity values of the image plane ► Transform domain process the transform coefficients, not directly process the intensity values of the image plane 11/6/2015 2 Spatial Domain Process g ( x, y ) T [ f ( x, y )]) f ( x, y ) : input image g ( x, y ) : output image T : an operator on f defined over a neighborhood of point ( x, y) 11/6/2015 3 Spatial Domain Process 11/6/2015 4 Spatial Domain Process Intensity transformation function s T (r ) 11/6/2015 5 Some Basic Intensity Transformation Functions 11/6/2015 6 Image Negatives Image negatives s L 1 r 11/6/2015 7 Example: Image Negatives Small lesion 11/6/2015 8 Log Transformations Log Transformations s c log(1 r ) 11/6/2015 9 Example: Log Transformations 11/6/2015 10 Power-Law (Gamma) Transformations s cr 11/6/2015 11 Example: Gamma Transformations 11/6/2015 12 Example: Gamma Transformations Cathode ray tube (CRT) devices have an intensity-to-voltage response that is a power function, with exponents varying from approximately 1.8 to 2.5 sr 11/6/2015 1/2.5 13 Example: Gamma Transformations 11/6/2015 14 Example: Gamma Transformations 11/6/2015 15 Piecewise-Linear Transformations ► Contrast Stretching — Expands the range of intensity levels in an image so that it spans the full intensity range of the recording medium or display device. ► Intensity-level Slicing — Highlighting a specific range of intensities in an image often is of interest. 11/6/2015 16 11/6/2015 17 Highlight the major blood vessels and study the shape of the flow of the contrast medium (to detect blockages, etc.) 11/6/2015 Measuring the actual flow of the contrast medium as a function of time in a series of images 18 Bit-plane Slicing 11/6/2015 19 Bit-plane Slicing 11/6/2015 20 Bit-plane Slicing 11/6/2015 21 Histogram Processing ► Histogram Equalization ► Histogram Matching ► Local Histogram Processing ► Using Histogram Statistics for Image Enhancement 11/6/2015 22 Histogram Processing Histogram h( rk ) nk rk is the k th intensity value nk is the number of pixels in the image with intensity rk nk Normalized histogram p (rk ) MN nk : the number of pixels in the image of size M N with intensity rk 11/6/2015 23 11/6/2015 24 Histogram Equalization The intensity levels in an image may be viewed as random variables in the interval [0, L-1]. Let pr (r ) and ps ( s) denote the probability density function (PDF) of random variables r and s. 11/6/2015 25 Histogram Equalization s T (r ) 0 r L 1 a. T(r) is a strictly monotonically increasing function in the interval 0 r L -1; b. 0 T (r ) L -1 for 0 r L -1. 11/6/2015 26 Histogram Equalization s T (r ) 0 r L 1 a. T(r) is a strictly monotonically increasing function in the interval 0 r L -1; b. 0 T (r ) L -1 for 0 r L -1. T (r ) is continuous and differentiable. ps (s)ds pr (r )dr 11/6/2015 27 Histogram Equalization r s T (r ) ( L 1) pr (w)dw 0 ds dT (r ) d r ( L 1) p ( w ) dw r 0 dr dr dr ( L 1) pr (r ) pr (r )dr pr (r ) 1 pr ( r ) ps ( s ) ( L 1) pr (r ) L 1 ds ds dr 11/6/2015 28 Example Suppose that the (continuous) intensity values in an image have the PDF 2r , 2 pr (r ) ( L 1) 0, for 0 r L-1 otherwise Find the transformation function for equalizing the image histogram. 11/6/2015 29 Example r s T (r ) ( L 1) pr (w)dw 0 ( L 1) r 0 2w dw 2 ( L 1) 2 r L 1 11/6/2015 30 Histogram Equalization Continuous case: r s T (r ) ( L 1) pr (w)dw 0 Discrete values: k sk T (rk ) ( L 1) pr (rj ) j 0 L 1 k ( L 1) nj MN j 0 j 0 MN k 11/6/2015 nj k=0,1,..., L-1 31 Example: Histogram Equalization Suppose that a 3-bit image (L=8) of size 64 × 64 pixels (MN = 4096) has the intensity distribution shown in following table. Get the histogram equalization transformation function and give the ps(sk) for each sk. 11/6/2015 32 Example: Histogram Equalization 0 s0 T (r0 ) 7 pr (rj ) 7 0.19 1.33 1 s1 T (r1 ) 7 pr (rj ) 7 (0.19 0.25) 3.08 3 j 0 1 j 0 11/6/2015 s2 4.55 5 s3 5.67 6 s4 6.23 6 s5 6.65 7 s6 6.86 7 s7 7.00 7 33 Example: Histogram Equalization 11/6/2015 34 11/6/2015 35 11/6/2015 36 Question Is histogram equalization always good? No 11/6/2015 37 Histogram Matching Histogram matching (histogram specification) — generate a processed image that has a specified histogram Let pr ( r ) and pz ( z ) denote the continous probability density functions of the variables r and z. pz ( z ) is the specified probability density function. Let s be the random variable with the probability r s T (r ) ( L 1) pr (w)dw 0 Define a random variable z with the probability z G ( z ) ( L 1) pz (t )dt s 0 11/6/2015 38 Histogram Matching r s T (r ) ( L 1) pr ( w)dw 0 z G ( z ) ( L 1) pz (t ) dt s 0 1 z G (s) G 11/6/2015 1 T (r) 39 Histogram Matching: Procedure ► Obtain pr(r) from the input image and then obtain the values of s r s ( L 1) pr ( w)dw 0 ► Use the specified PDF and obtain the transformation function G(z) z G( z ) ( L 1) pz (t )dt s 0 ► Mapping from s to z z G 1 (s) 11/6/2015 40 Histogram Matching: Example Assuming continuous intensity values, suppose that an image has the intensity PDF 2r , 2 pr (r ) ( L 1) 0, for 0 r L -1 otherwise Find the transformation function that will produce an image whose intensity PDF is 3z 2 , 3 pz ( z ) ( L 1) 0, 11/6/2015 for 0 z ( L -1) otherwise 41 Histogram Matching: Example Find the histogram equalization transformation for the input image r r 0 0 s T (r ) ( L 1) pr ( w)dw ( L 1) 2 r 2w dw 2 ( L 1) L 1 Find the histogram equalization transformation for the specified histogram z z 0 0 G( z ) ( L 1) pz (t )dt ( L 1) 3t 2 z3 dt s 3 2 ( L 1) ( L 1) The transformation function 1/3 z ( L 1) s 2 11/6/2015 1/3 2 r ( L 1) L 1 2 2 1/3 ( L 1)r 42 Histogram Matching: Discrete Cases ► Obtain pr(rj) from the input image and then obtain the values of sk, round the value to the integer range [0, L-1]. ( L 1) k sk T (rk ) ( L 1) pr (rj ) nj MN j 0 j 0 k ► Use the specified PDF and obtain the transformation function G(zq), round the value to the integer range [0, L-1]. q G( zq ) ( L 1) pz ( zi ) sk i 0 ► Mapping from sk to zq 11/6/2015 zq G1 (sk ) 43 Example: Histogram Matching Suppose that a 3-bit image (L=8) of size 64 × 64 pixels (MN = 4096) has the intensity distribution shown in the following table (on the left). Get the histogram transformation function and make the output image with the specified histogram, listed in the table on the right. 11/6/2015 44 Example: Histogram Matching Obtain the scaled histogram-equalized values, s0 1, s1 3, s2 5, s3 6, s4 7, s5 7, s6 7, s7 7. Compute all the values of the transformation function G, 0 G( z0 ) 7 pz ( z j ) 0.00 0 j 0 G ( z1 ) 0.00 G ( z3 ) 1.05 0 1 G ( z5 ) 4.55 5 G ( z7 ) 7.00 7 11/6/2015 G( z2 ) 0.00 0 G( z4 ) 2.45 2 G( z6 ) 5.95 6 45 Example: Histogram Matching 11/6/2015 46 Example: Histogram Matching Obtain the scaled histogram-equalized values, s0 1, s1 3, s2 5, s3 6, s4 7, s5 7, s6 7, s7 7. Compute all the values of the transformation function G, 0 G( z0 ) 7 pz ( z j ) 0.00 0 j 0 G ( z1 ) 0.00 G ( z3 ) 1.05 0 1 s0 G ( z5 ) 4.55 5 G ( z7 ) 7.00 7 11/6/2015 s2 G( z2 ) 0.00 0 G( z4 ) 2.45 2 s1 G( z6 ) 5.95 6 s3 s4 s5 s6 s7 47 Example: Histogram Matching s0 1, s1 3, s2 5, s3 6, s4 7, s5 7, s6 7, s7 7. rk 11/6/2015 0 1 2 3 4 5 6 7 48 Example: Histogram Matching rk zq 03 1 4 25 36 47 57 67 77 11/6/2015 49 Example: Histogram Matching 11/6/2015 50 Example: Histogram Matching 11/6/2015 51 Example: Histogram Matching 11/6/2015 52 Local Histogram Processing Define a neighborhood and move its center from pixel to pixel At each location, the histogram of the points in the neighborhood is computed. Either histogram equalization or histogram specification transformation function is obtained Map the intensity of the pixel centered in the neighborhood Move to the next location and repeat the procedure 11/6/2015 53 Local Histogram Processing: Example 11/6/2015 54 Using Histogram Statistics for Image Enhancement Average Intensity L 1 m ri p(ri ) i 0 1 MN M 1 N 1 f ( x, y) x 0 y 0 L 1 un (r ) (ri m)n p(ri ) i 0 Variance L 1 u2 (r ) (ri 2 i 0 11/6/2015 1 2 m) p(ri ) MN M 1 N 1 f ( x, y) m 2 x 0 y 0 55 Using Histogram Statistics for Image Enhancement Local average intensity L 1 msxy ri psxy (ri ) i 0 sxy denotes a neighborhood Local variance 11/6/2015 L 1 2 sxy (ri msxy ) psxy (ri ) 2 i 0 56 Using Histogram Statistics for Image Enhancement: Example E f ( x, y ), if msxy k0 mG and k1 G sxy k2 G g ( x, y ) otherwise f ( x, y ), mG : global mean; G : global standard deviation k0 0.4; k1 0.02; k2 0.4; E 4 11/6/2015 57 Spatial Filtering A spatial filter consists of (a) a neighborhood, and (b) a predefined operation Linear spatial filtering of an image of size MxN with a filter of size mxn is given by the expression g ( x, y) a b w(s, t ) f ( x s, y t ) s a t b 11/6/2015 58 Spatial Filtering 11/6/2015 59 Spatial Correlation The correlation of a filter w( x, y) of size m n with an image f ( x, y), denoted as w( x, y ) f ( x, y) w( x, y) f ( x, y) a b w(s, t ) f ( x s, y t ) s a t b 11/6/2015 60 Spatial Convolution The convolution of a filter w( x, y ) of size m n with an image f ( x, y), denoted as w( x, y ) f ( x, y) w( x, y) f ( x, y) a b w(s, t ) f ( x s, y t ) s a t b 11/6/2015 61 11/6/2015 62 Smoothing Spatial Filters Smoothing filters are used for blurring and for noise reduction Blurring is used in removal of small details and bridging of small gaps in lines or curves Smoothing spatial filters include linear filters and nonlinear filters. 11/6/2015 63 Spatial Smoothing Linear Filters The general implementation for filtering an M N image with a weighted averaging filter of size m n is given a g ( x, y ) b w(s, t ) f ( x s, y t ) s a t b a b w(s, t ) s a t b where m 2a 1, 11/6/2015 n 2b 1. 64 Two Smoothing Averaging Filter Masks 11/6/2015 65 11/6/2015 66 Example: Gross Representation of Objects 11/6/2015 67 Order-statistic (Nonlinear) Filters — Nonlinear — Based on ordering (ranking) the pixels contained in the filter mask — Replacing the value of the center pixel with the value determined by the ranking result E.g., median filter, max filter, min filter 11/6/2015 68 Example: Use of Median Filtering for Noise Reduction 11/6/2015 69 Sharpening Spatial Filters ► Foundation ► Laplacian Operator ► Unsharp Masking and Highboost Filtering ► 11/6/2015 Using First-Order Derivatives for Nonlinear Image Sharpening — The Gradient 70 Sharpening Spatial Filters: Foundation ► The first-order derivative of a one-dimensional function f(x) is the difference f f ( x 1) f ( x) x ► The second-order derivative of f(x) as the difference 2 f f ( x 1) f ( x 1) 2 f ( x) 2 x 11/6/2015 71 11/6/2015 72 Sharpening Spatial Filters: Laplace Operator The second-order isotropic derivative operator is the Laplacian for a function (image) f(x,y) 2 2 f f 2 f 2 2 x y 2 f f ( x 1, y ) f ( x 1, y) 2 f ( x, y) 2 x 2 f f ( x, y 1) f ( x, y 1) 2 f ( x, y) 2 y 2 f f ( x 1, y) f ( x 1, y ) f ( x, y 1) f ( x, y 1) - 4 f ( x, y) 11/6/2015 73 Sharpening Spatial Filters: Laplace Operator 11/6/2015 74 Sharpening Spatial Filters: Laplace Operator Image sharpening in the way of using the Laplacian: g ( x, y) f ( x, y) c 2 f ( x, y) where, f ( x, y ) is input image, g ( x, y ) is sharpenend images, c -1 if 2 f ( x, y ) corresponding to Fig. 3.37(a) or (b) and c 1 if either of the other two filters is used. 11/6/2015 75 11/6/2015 76 Unsharp Masking and Highboost Filtering ► Unsharp masking Sharpen images consists of subtracting an unsharp (smoothed) version of an image from the original image e.g., printing and publishing industry ► Steps 1. Blur the original image 2. Subtract the blurred image from the original 3. Add the mask to the original 11/6/2015 77 Unsharp Masking and Highboost Filtering Let f ( x, y ) denote the blurred image, unsharp masking is g mask ( x, y ) f ( x, y ) f ( x, y ) Then add a weighted portion of the mask back to the original g ( x, y ) f ( x, y ) k * g mask ( x, y ) k 0 when k 1, the process is referred to as highboost filtering. 11/6/2015 78 Unsharp Masking: Demo 11/6/2015 79 Unsharp Masking and Highboost Filtering: Example 11/6/2015 80 Image Sharpening based on First-Order Derivatives For function f ( x, y ), the gradient of f at coordinates ( x, y ) is defined as f g x x f grad( f ) g y f y The magnitude of vector f , denoted as M ( x, y) Gradient Image 11/6/2015 M ( x, y) mag(f ) g x 2 g y 2 81 Image Sharpening based on First-Order Derivatives The magnitude of vector f , denoted as M ( x, y) M ( x, y) mag(f ) g x 2 g y 2 M ( x, y) | g x | | g y | z1 z4 z7 11/6/2015 z2 z5 z8 z3 z6 z9 M ( x, y) | z8 z5 | | z6 z5 | 82 Image Sharpening based on First-Order Derivatives Roberts Cross-gradient Operators M ( x, y) | z9 z5 | | z8 z6 | z1 z4 z7 11/6/2015 z2 z5 z8 z3 z6 z9 Sobel Operators M ( x, y) | ( z7 2 z8 z9 ) ( z1 2 z2 z3 ) | | ( z3 2 z6 z9 ) ( z1 2 z4 z7 ) | 83 Image Sharpening based on First-Order Derivatives 11/6/2015 84 Example 11/6/2015 85 Example: Combining Spatial Enhancement Methods Goal: Enhance the image by sharpening it and by bringing out more of the skeletal detail 11/6/2015 86 Example: Combining Spatial Enhancement Methods Goal: Enhance the image by sharpening it and by bringing out more of the skeletal detail 11/6/2015 87