Matlab Lecture 2
Download
Report
Transcript Matlab Lecture 2
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_in high_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 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 twoelement 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)