Statistical Operations Graylevel transformation Histogram equalization Multiimage operations

  • Slides: 24
Download presentation
Statistical Operations • Gray-level transformation • Histogram equalization • Multi-image operations 240 -373 Image

Statistical Operations • Gray-level transformation • Histogram equalization • Multi-image operations 240 -373 Image Processing 1

Histogram • If the number of pixels at each gray level in an image

Histogram • If the number of pixels at each gray level in an image is counted (may use the following code fragment( for (row=0; row<rowmax; roww(++ for (col=0; col=colmax; col(++ } count[image[row, col; ++[[ { 240 -373 Image Processing 2

Histogram • The array “count” can be plotted to represent a “histogram” of the

Histogram • The array “count” can be plotted to represent a “histogram” of the image as the number of pixels at particular gray level • The histogram can yield useful information about the nature of the image. An image may be too bright or too dark. 240 -373 Image Processing 3

Histogram Illustration Histogram 10 2 4 1 2 0 3 1 2 1 4

Histogram Illustration Histogram 10 2 4 1 2 0 3 1 2 1 4 2 2 1 3 1 2 2 0 4 2 4 1 0 4 1 5 9 8 7 6 5 4 3 2 1 0 0 1 2 240 -373 Image Processing 3 4 5 4

Global Attenuation in Brightness • To alter the brightness of an image by adding

Global Attenuation in Brightness • To alter the brightness of an image by adding or subtracting all pixel values with a constant for (row=0; row<rowmax; roww(++ for (col=0; col=colmax; col(++ } image[row, col] += constant; { 240 -373 Image Processing 5

240 -373 Image Processing 6

240 -373 Image Processing 6

240 -373 Image Processing 7

240 -373 Image Processing 7

240 -373 Image Processing 8

240 -373 Image Processing 8

240 -373 Image Processing 9

240 -373 Image Processing 9

Thresholding • Use : – To remove the gray level trends in an image

Thresholding • Use : – To remove the gray level trends in an image – To make gray level more discrete – To segment or split an image into distinct parts • Operation: – setting all gray levels below a certain level to “zero”, and above a certain level to a maximum brightness 240 -373 Image Processing 10

Code for Thresholding for (row=0; row<rowmax; roww(++ for (col=0; col=colmax; col(++ } if (image[row,

Code for Thresholding for (row=0; row<rowmax; roww(++ for (col=0; col=colmax; col(++ } if (image[row, col] > threshold( image[row, col] = MAX; else image[row, col] = MIN; { 240 -373 Image Processing 11

240 -373 Image Processing 12

240 -373 Image Processing 12

Thresholding Errors • Rarely is it possible to identify a perfect gray level break,

Thresholding Errors • Rarely is it possible to identify a perfect gray level break, what we want to be background pixels become foreground or vice versa – Type 1: not all pixels caught that should be included – Type 2: some pixels caught should not be included in the group 240 -373 Image Processing 13

An image before and after thresholding 240 -373 Image Processing 14

An image before and after thresholding 240 -373 Image Processing 14

Bunching (Quantizing( • Use: – to reduce the number of different gray level in

Bunching (Quantizing( • Use: – to reduce the number of different gray level in an image – to segment an image – to remove unwanted gray level degradation • Operation: – Close gray levels are combined, thus removing unwanted variations in data 240 -373 Image Processing 15

Bunching (Quantizing( • Method 1: inspecting histogram and combining close group into single gray

Bunching (Quantizing( • Method 1: inspecting histogram and combining close group into single gray level • Method 2: identifying a set of gray levels allowed in the final image, then changing the gray level in every pixel to its nearest allowed value 240 -373 Image Processing 16

Bunching Example **** 0 ** 1 ***** 2 ***** 3 ***** 4 ***** 5

Bunching Example **** 0 ** 1 ***** 2 ***** 3 ***** 4 ***** 5 ***** 6 ***** 7 ***** 8 *** 9 240 -373 Image Processing ****** 0 1 2 ********** 3 4 5 ******** 6 7 8 ****** 9 17

Bunching Code for (row=0; row<rowmax; row(++ for (col=0; col<colmax; col(++ } image[row, col] =

Bunching Code for (row=0; row<rowmax; row(++ for (col=0; col<colmax; col(++ } image[row, col] = bunchsize*((int)image[row, col]/bunchsize; ( { bunchsize = number of levels to be grouped into one 240 -373 Image Processing 18

Splittings • Use: – to increase the different two groups of gray levels so

Splittings • Use: – to increase the different two groups of gray levels so that the contrast between segments compose of one group of the other is enhanced • Operation: – rounding the gray levels up if they are in the range and down if they are in another 240 -373 Image Processing 19

Splitting Example • The characters on a car number-plate are at gray level 98

Splitting Example • The characters on a car number-plate are at gray level 98 • The background of the characters is at gray level 99 • Pushing 98 down to 80 and pushing 99 up to 120 will give the picture a better contrast around the number plate Question: How to find a good splitting level? 240 -373 Image Processing 20

Automatic Selection of Splitting Level • Use: – to find the best gray level

Automatic Selection of Splitting Level • Use: – to find the best gray level for splitting--usually for thresholding to black and white • Operation: – Let 240 -373 Image Processing 21

Automatic Selection of Splitting Level – Let P=Nx. M = the number of pixels

Automatic Selection of Splitting Level – Let P=Nx. M = the number of pixels under consideration m(g) = mean gray level for only those pixels containing gray level between zero and g, i. e. If the maximum number of gray level is G (G=0, …, G-1) then evaluate the following equation (T = splitting threshold( A Processing 240 -373 Image B 22

Example Histogram f(g) t(g) g. f(g) 4**** 0 4 0 1 ** 2 6

Example Histogram f(g) t(g) g. f(g) 4**** 0 4 0 1 ** 2 6 2 2 ***** 5 11 10 3 ***** 9 20 27 4 ***** 5 25 20 5 ***** 5 30 25 4. 642. 252. 063. 311430355***** 6 4. 031. 213. 333. 714935405***** 7 1. 470. 0916. 334. 522172499***** -4. 824827523*** 9 Sg. f(g) m(g) 0 2 12 39 59 84 0 0. 3 1. 1 2 2. 4 2. 8 A B A*B 0. 08 0. 13 0. 27 0. 63 0. 93 1. 36 23. 04 20. 25 13. 69 7. 84 5. 76 4. 00 0. 18 2. 83 3. 70 4. 94 5. 36 5. 44 8 T = max(A*B) - 1 = 4 240 -373 Image Processing INF 23

240 -373 Image Processing 24

240 -373 Image Processing 24