160 likes | 184 Views
Matlab Lecture 2. Image Enhancement in the Spatial Domain (MATLAB). Image Enhancement in the Spatial Domain. Spatial Domain: Background. g(x, y) = T [f(x, y)] f(x, y) : input image g(x, y) : output image T : an operator on f (Transformation Function). In Matlab : Function imadjust.
E N D
Matlab Lecture 2 Image Enhancement in the Spatial Domain (MATLAB)
Spatial Domain: Background • g(x, y) = T [f(x, y)] • f(x, y) : input image • g(x, y) : output image • T : an operator on f (Transformation Function)
In Matlab: Function imadjust • Adjust image intensity values or colormap • Syntax : (in gray images) J = imadjust(I) maps the values in intensity image I to new values in J. This increases the contrast of the output image J. • J = imadjust(I,[low_inhigh_in],[low_out high_out]) maps the values in intensity image I to new values in J such that values between low_in and high_in map to values between low_out and high_out.
Function Imadjust • J = imadjust(...,gamma) • maps the values in intensity image I to new values in J, where gamma specifies the shape of the curve describing the relationship between the values in I and J.
Function imadjust (cont.) • If gamma is less than 1, the mapping is weighted toward higher (brighter) output values. If gamma is greater than1, the mapping is weighted toward lower (darker) output values. If you omit the argument, gamma defaults to 1(linear mapping).
Image Adjust Examples (matlab code) • Adjust a low-contrast grayscale image. I = imread('pout.tif'); J = imadjust(I); figure, imshow(I), figure, imshow(J)
Image Adjust Examples • Adjust the grayscale image, specifying the contrast limits. K1 = imadjust(I,[0.3 0.7],[.2 .6]); figure, imshow(K1) K2 = imadjust(I,[0.3 0.7],[]); figure, imshow(K2)
Image Adjust Examples Adjust the gamma L1 = imadjust(I,[0.3 0.7], [ ],2); figure, imshow(L1) L2 = imadjust(I,[0.3 0.7], [ ],.3); figure, imshow(L2)
Negative image Obtaining a negative image I = imread('pout.tif'); K1 =imadjust(I, [0 1] , [1 0]); K2 = imcomplement(I); imshow(I), figure, imshow(K1), figure, imshow(K2)
stretchlim Example Contrast Stretching: I = imread('pout.tif'); J = imadjust(I,stretchlim(I),[]); imshow(I), figure, imshow(J)
Logarithmic and contraststretching • Logarithmic: g=c*log(1+double(f)) • Contrast stretching : compress the input levels lower than m into a narrow range of dark levels in the output image; similarly, it compresses the values above m into a narrow band of light levels in the output.
Logarithmic and contraststretching Example I = imread('pout.tif'); g=c*log(1+double(I)) gs=im2uint8(mat2gray(g));
Thresholding Example I = imread('pout.tif'); threshold = graythresh(I); BW = im2bw(I,threshold); imshow(BW);
In Matlab: im2bw • Convert an image to a binary image, based on threshold • Syntax: BW = im2bw(I,level) BW = im2bw(X,map,level) BW = im2bw(RGB,level)
Im2bw: Example Im2bw: Example load trees BW = im2bw(X,map,0.4); Imview(X,map), imview(BW)