1 / 38

Point Processing

Point Processing. Basic Image Processing Operations Arithmetic Operations Histograms. Basic Image Processing Operations. Image-Processing operations may be divided into 3 classes based on information required to perform the transformation. . Transforms

diem
Download Presentation

Point Processing

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. Point Processing Basic Image Processing Operations Arithmetic Operations Histograms SCCS 476

  2. Basic Image Processing Operations Image-Processing operations may be divided into 3 classes based on information required to perform the transformation. • Transforms • process entire image as one large block • Neighborhood processing • process the pixel in a small neighborhood of pixels around the given pixel. • Point operations • process according to the pixel’s value alone (single pixel). SCCS 476

  3. Transformed Image Transform Image-processing operation Output Image Processed Transformed Image Inverse Transform Schema of Image Processing Image SCCS 476

  4. Arithmetic Operations • Addition • Subtraction • Multiplication • Division • Complement SCCS 476

  5. Arithmetic Operations (cont) Let x is the old gray value, yis the new gray value, c is a positive constant. • Addition: y = x + c • Subtraction: y = x - c • Multiplication: y = cx • Division: y = x/c • Complement: y= 255 - x SCCS 476

  6. Arithmetic Operations (cont) • Addition: y = x + c • Subtraction: y = x - c • Multiplication: y = cx • Division: y = x/c • Complement: y= 255 - x • To ensure that the results are integers in the range [0, 255], • the following operations should be performed • Rounding the result to obtain an integer • Clippingthe result by setting • y = 255 if y > 255 • y = 0 if y < 0 SCCS 476

  7. Arithmetic Operations (cont) • MATLAB functions • Addition: imadd(x,y) • Add two images or add constant to image • Subtraction: imsubstract(x,y) • Subtract two images or subtract constant to image • Multiplication: immultiply(x,y) • Multiply two images or multiply image by constant • Division: imdivide(x,y) • Divide two images or divide image by constant • Complement: imcomplement(x) SCCS 476

  8. Addition & Subtraction • Lighten/darken the image • Some details may be lost • MATLAB: • commands: • x = imread(‘filename.ext’); • y = uint8(double(x) + c); or • y = uint8(double(x) - c); • function: • x = imread(‘filename.ext’); • y = imadd(x, c); or • y = imsubtract(x, c); SCCS 476

  9. Ex: Addition & Subtraction Added by 128 Subtracted by 128 Draw graphs of the transformation functions !!! SCCS 476

  10. Multiplication & Division • Lighten/darken the image • Some details may be lost (but less than addition/subtraction) • MATLAB: • commands: • x = imread(‘filename.ext’); • y = uint8(double(x)*c); or • y = uint8(double(x)/c); • functions: • x = imread(‘filename.ext’); • y = immultiply(x, c); or • y = imdivide(x, c); SCCS 476

  11. Ex: Multiplication & Division Multiplied by 2 Divided by 2 Draw graphs of the transformation functions !!! SCCS 476

  12. Comparison: Addition VS Multiplication SCCS 476

  13. Comparison: Subtraction VS Division SCCS 476

  14. Complement • Create the negative image • MATLAB: • commands: • x = imread(‘filename.ext’); • y = uint8(255 - double(x)); • function: • x = imread(‘filename.ext’); • y = imcomplement(x); SCCS 476

  15. Ex: Complement Draw a graph of the transformation function !!! SCCS 476

  16. Histogram • Graph showing the number of pixels for each intensity • Normalized histogram: histogram where the number of pixel is divided by the total number of pixel so the range is [0,1] • Cumulative histogram: histogram which shows the number of pixels whose intensity is less or equal to each intensity. SCCS 476

  17. Histogram Example >> p = imread(‘pout.tif’) >> inshow(p) >> figure;imhist(p) SCCS 476

  18. What Histogram Describes? • Brightness • dark image has gray levels (histogram) clutered at the lower end. • bright image has gray levels (histogram) clutered at the higher end. • Contrast • well contrasted image has gray levels (histogram) spread out over much of the range. • low contrasted image has gray levels (histogram) clutered in the center. SCCS 476

  19. Contrast Enhancement by Spreading Out Histogram • Histogram Stretching (Contrast Stretching) • Histogram Equalization SCCS 476

  20. 1. Histogram Stretching #pixel #pixel I I Imin Imax max 0 SCCS 476

  21. Steps of Histogram/Contrast Stretching • Create the histogram of the image Gray level ( i ) No. of gray value ( ni ) 0……………………………………………. 15 1……………………………………………. . 0 2……………………………………………. . 0 3……………………………………………. .0 4……………………………………………. . 0 5……………………………………………. 70 6……………………………………………110 7……………………………………………. 45 8…………………………………………… 70 9……………………………………………. 35 10………………………………………..... . 0 11………………………………………….. 0 12…………………………………………... 0 13…………………………………………… 0 14…………………………………………… 0 15………………………………………….. 15 Draw the histogram. SCCS 476

  22. Steps of Histogram/Contrast Stretching (cont) • From the histogram, stretch out the gray levels in the center of the range by applying the piecewise linear function • Ex: [5,9]  [2,14] • y= [(14 – 2)/(9 – 5)](x– 5) + 2, Draw a graph of transformation • Gray levels outside this range are either left as original values or transforming according to the linear function at the ends of the graph. • x y • 2 • 5 • 8 • 11 • 14 SCCS 476

  23. Steps of Histogram/Contrast Stretching (cont) • Change the old gray values to the new gray values by using the piecewise linear function from the previous step as a mapping function. • Create the histogram from the new image SCCS 476

  24. Histogram Stretching: Example original output SCCS 476

  25. Histogram before/after Adjustment After Before SCCS 476

  26. Imin Imax Iy2 Iy1 Mapping function: Histogram Mapping: Piecewise Linear #pixel #pixel I I Imin Imax Ix1 Ix2 SCCS 476

  27. MATLAB: Histogram/Contrast Stretching • Command: imadjust • Syntax: imadjust(x, [a,b], [c,d]); imadjust(x, [a,b], [c,d], ); • convert intensity x ato c • convert intensity x  bto d • values of a,b,c,d must be between 0 and 1 •  : positive constant (describe the shape of the function, < 1 concave downward, > 1 concave upward) SCCS 476

  28. Transformation Function with Gamma (Power –Law Transformation) Brighten image Linear mapping Darken image SCCS 476

  29. Example of Adjusting by the Power-Law Transformation Adjust by using Gamma = 0.5 Original SCCS 476

  30. MATLAB: Piecewise Linear • A MATLAB function for applying a piecewise linear-stretching function (see Figure 4.15) • Command: find • Syntax: find(condition) • Ex pix = find(im >= a(i) & im < a(i+1)); pix holds the index for members in im having intensity between a(i) and a(i+1) include a(i). SCCS 476

  31. 2. Histogram Equalization • The trouble with the methods of histogram stretching is that they require user input. • Histogram equalization is an entirely automatic procedure. • Idea: Each gray level in the image occurs with the same frequency. • Give the output image with uniform intensity distribution. SCCS 476

  32. Histogram Equalization (cont) • Mapping function: where p(i)is the PDF of the intensity level i, obtained from cumulative histogram. SCCS 476

  33. Histogram Equalization: Procedure Example: Suppose a 4-bit grayscale image has the histogram associated with a table of the numbers ni of gray values. (page 78) SCCS 476

  34. Histogram Equalization: Example BEFORE AFTER http://www.mathworks.com/access/helpdesk/help/toolbox/images/histeq.html SCCS 476

  35. MATLAB: Histogram Equalization • Command: histeq • Syntax: histeq(image, target_hist) histeq(image, #bin) histeq(indexed_im, #bin, target_hist) histeq(indexed_im, map, #bin) • Default: #bin = 64 • Output: output_im,[output_im, transform], new_map, [new_map, transform] SCCS 476

  36. Lookup Tables • Improve the performance of point processing • Why? • one intensity is always mapped to the same value • reduce the computing time • Lookup table: array Input intensity: index in the array Output intensity: value of the member SCCS 476

  37. Ex: Lookup Table (1) • Function: output = input/2; • MATLAB >> T = uint8(floor(0:255)/2); >> output = T(input); SCCS 476

  38. Ex: Lookup Table in MATLAB (2) • Function: • MATLAB >> T1 = 0.6667*[0:95]; >> T2 = 2*[96:160] – 128; >> T3 = 0.6632*[161:255] + 85.8947; >> T = uint8(floor([T1 T2 T3])); SCCS 476

More Related