1 / 23

Statistical Operations

Statistical Operations. Gray-level transformation Histogram equalization Multi-image operations. 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++) {

xenon
Download Presentation

Statistical Operations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

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

  5. 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

  6. 240-373 Image Processing

  7. 240-373 Image Processing

  8. 240-373 Image Processing

  9. 240-373 Image Processing

  10. 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

  11. 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

  12. 240-373 Image Processing

  13. 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

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

  15. 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

  16. 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

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

  18. 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

  19. 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

  20. 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

  21. 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

  22. Automatic Selection of Splitting Level • Let P=NxM = the number of pixels under consideration • Let 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 B 240-373 Image Processing

  23. Example Histogram f(g) t(g) g.f(g) Sg.f(g) m(g) A B A*B 0 **** 4 4 0 0 0 0.08 23.04 0.18 1 ** 2 6 2 2 0.3 0.13 20.25 2.83 2 ***** 5 11 10 12 1.1 0.27 13.69 3.70 3 ********* 9 20 27 39 2 0.63 7.84 4.94 4 ***** 5 25 20 59 2.4 0.93 5.76 5.36 5 ***** 5 30 25 84 2.8 1.36 4.00 5.44 6 ***** 5 35 30 114 3.3 2.06 2.25 4.64 7 ***** 5 40 35 149 3.7 3.33 1.21 4.03 8 ********* 9 49 72 221 4.5 16.33 0.09 1.47 9 *** 3 52 27 248 4.8 -INF- T = max(A*B) - 1 = 4 240-373 Image Processing

More Related