130 likes | 316 Views
Matlab Lecture 2. Image Enhancement in the Spatial Domain (MATLAB). Main intensity transformation function. Photographic negative ( imcomplement ). Log transformation ( c*log(1+double(f)) ). Power-Law (gamma) transformation ( imadjust ). In Matlab : Function imadjust.
E N D
Matlab Lecture 2 Image Enhancement in the Spatial Domain (MATLAB)
Main intensity transformation function • Photographic negative (imcomplement). • Log transformation ( c*log(1+double(f)) ). • Power-Law (gamma) transformation (imadjust).
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_outhigh_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 than 1, 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)
Image Adjust Examples Adjust the gamma L1 = imadjust(I,[], [ ],2); figure, imshow(L1) L2 = imadjust(I,[], [ ],.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: • LOW_HIGH = stretchlim(I): returns LOW_HIGH, a two-element vector of pixel values that specify lower and upper limits that can be used for contrast stretching image I • I = imread('pout.tif'); • J = imadjust(I, stretchlim(I), []); • imshow(I), figure, imshow(J)
Logarithmic • Logarithmic: g=c*log(1+double(f)) • I = imread('pout.tif'); • g=c*log(1+double(I)) • gs=im2uint8(mat2gray(g));
In Matlab: im2bw • Convert an image to a binary image, based on threshold • BW = Im2bw(I, level) : The output image BW replaces all pixels in the input image with luminance greater than level with the value 1 (white) and replaces all other pixels with the value 0 (black) • I: is the grayscale image • level : in the range [0,1] • Example: • I = imread('pout.tif'); • I2 = im2bw(I, 0.5); • imshow(I2)