Presentation is loading. Please wait.

Presentation is loading. Please wait.

SCCS 4761 Point Processing Basic Image Processing Operations Arithmetic Operations Histograms.

Similar presentations


Presentation on theme: "SCCS 4761 Point Processing Basic Image Processing Operations Arithmetic Operations Histograms."— Presentation transcript:

1 SCCS 4761 Point Processing Basic Image Processing Operations Arithmetic Operations Histograms

2 SCCS 4762 Basic Image Processing Operations 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). Image-Processing operations may be divided into 3 classes based on information required to perform the transformation.

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

4 SCCS 4764 Arithmetic Operations Addition Subtraction Multiplication Division Complement

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

6 SCCS 4766 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 Clipping the result by setting y = 255 if y > 255 y = 0 if y < 0

7 SCCS 4767 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)

8 SCCS 4768 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);

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

10 SCCS 47610 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);

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

12 SCCS 47612 Comparison: Addition VS Multiplication

13 SCCS 47613 Comparison: Subtraction VS Division

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

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

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

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

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

19 SCCS 47619 Contrast Enhancement by Spreading Out Histogram Histogram Stretching (Contrast Stretching) Histogram Equalization

20 SCCS 47620 1. Histogram Stretching 0 max I I #pixel IminImax

21 SCCS 47621 Steps of Histogram/Contrast Stretching Create the histogram of the image Gray level ( i ) No. of gray value ( n i ) 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.

22 SCCS 47622 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. xy 52 65 78 811 914

23 SCCS 47623 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

24 SCCS 47624 Histogram Stretching: Example originaloutput

25 SCCS 47625 Histogram before/after Adjustment Before After

26 SCCS 47626 Histogram Mapping: Piecewise Linear I #pixel IminImax I #pixel IminImax Mapping function: Ix1 Ix2 Iy1 Iy2

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

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

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

30 SCCS 47630 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).

31 SCCS 47631 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.

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

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

34 SCCS 47634 Histogram Equalization: Example BEFOREAFTER http://www.mathworks.com/access/helpdesk/help/toolbox/images/histeq.html

35 SCCS 47635 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]

36 SCCS 47636 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

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

38 SCCS 47638 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]));


Download ppt "SCCS 4761 Point Processing Basic Image Processing Operations Arithmetic Operations Histograms."

Similar presentations


Ads by Google