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)
