0% found this document useful (0 votes)
11 views

MATLAB

Uploaded by

eshonshahzod01
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

MATLAB

Uploaded by

eshonshahzod01
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

MATLAB

IMAGE PROCESSING TOOLBOX


Gulsah Tumuklu Ozyer
Introduction
MatLab : Matrix Laboratory
 A high-level language for matrix calculations, numerical
analysis, & scientific computing
 Programming
 Can type on command line, or use a program file (“m”-file)
 Semicolon at end of line is optional (suppresses printing)
 Control flow (if, for, while, switch,etc) similar to C
 Differences from C: no variable declarations, no pointers
MATLAB’s Workspace

who,whos - current variables in workspace


save - save workspace variables to *.mat file
load - load variables from *.mat file
clear all - clear workspace variables
Matlab Basics
 Everything is a matrix
 a variable is a 1x1 matrix

 Initializing a matrix:
 Example: my_matrix = [1 2 3; 4 5 6; 7 8 9];

 Accessing a matrix (row, column): my_matrix =


 my_matrix(1,2) has the value 2
1 2 3
 Colon operator generates a range 4 5 6
 Example: 1:10 = [1 2 3 4 5 6 7 8 9 10] 7 8 9
 mytest(1, 2:4) is equivalent to mytest(1,[2 3 4])
 mytest(3, :) refers to all elements of row 3
Basic Operations on Matrices

All the operators in MATLAB defined on matrices : +,


-, *, /, ^, sqrt, sin, cos etc.
Element wise operators defined with
preceding dot : .*, ./, .^ .
size(A) - size vector
sum(A) - columns sums vector
sum(sum(A)) - all the elements sum
Logical Conditions

== , < , > , (not equal)~= ,(not)~

find(‘condition’) - Returns indexes of A’s


elements that satisfies the condition.
Logical Conditions(cont.)
Example:
>> A = [1 2; 3 4], I = find(A<4)

A=

1 2
3 4

I=

1
2
3
Flow Control

MATLAB has five flow control constructs:


if statements
switch statements
for loops
while loops
break statements
Scripts and Functions

There are two kinds of M-files:


Scripts, which do not accept input arguments
or return output arguments. They operate on
data in the workspace.
Functions, which can accept input arguments
and return output arguments. Internal variables
are local to the function.
Visualization and Graphics
plot(x,y), plot(x,sin(x)) - plot 1-D function
figure , figure(k) - open a new figure
hold on, hold off - refreshing
mesh(x_ax,y_ax,z_mat) - view surface
contour(z_mat) - view z as top. map
subplot(3,1,2) - locate several plots in figure
axis([xmin xmax ymin ymax]) - change axes
title(‘figure title’) - add title to figure
The Image Processing Toolbox
 The Image Processing Toolbox is a collection of functions
that extend the capability of the MATLAB ® numeric
computing environment. The toolbox supports a wide range
of image processing operations, including:
 Geometric operations
 Neighborhood and block operations
 Linear filtering and filter design
 Transforms
 Image analysis and enhancement
 Binary image operations
MATLAB Image Types

Indexed images : m-by-3 color map


Intensity images : [0,1] or uint8
Binary images : {0,1}
RGB images : m-by-n-by-3
Read and Write Images
I = imread(‘colors.jpg');
imshow(I);
Indexed Image:
[x,map] = imread(‘color.png');

 imwrite(I, ‘newim.jpg’)
Image Display
 image - create and display image object
 imagesc - scale and display as image
 imshow - display image
 colorbar - display colorbar
 getimage- get image data from axes
 truesize - adjust display size of image
 zoom - zoom in and zoom out of 2D plot
Image Conversion
 gray2ind - intensity image to index image
 im2bw - image to binary
 im2double - image to double precision
 im2uint8 - image to 8-bit unsigned integers
 im2uint16 - image to 16-bit unsigned integers
 ind2gray - indexed image to intensity image
 mat2gray - matrix to intensity image
 rgb2gray - RGB image to grayscale
 rgb2ind - RGB image to indexed image
Geometric Operations
Image resizing: imresize(I,[x y],’method’). Method is
bilinear, bicubic or nearest neighbours.
Image rotation: imrotate(I,angle,’method’) method is
same as before. Zero padding in the rotated image.
Image cropping: J=imcrop;
Neighbourhood Processing
 To speed up neighbourhood processing transform every
neighbourhood to column vector and perform vector
operations.

 The borders are usually padded with zeros for the


computations of the edges neighborhoods.
 Linear filtering can be done with convolution
- conv2(Img, h) or correlation
- filter2(Img, h).
 Nonlinear filtering: nlfilter(I,[sx sy],’func’) where func is
a function that recieves the windows and returns scalars.

17
Transforms
 Fourier and inverse Fourier transform:

F=fftshift(fft2(f)); F is a complex matrix


Freal=real(F);Fimag=imag(F);Fabs=abs(F);Fphs=angle(F);
imshow(Freal)
f=ifft2(F);

 DCT and compression


I=imread(‘cameraman.tif’);
I=im2double(I);
T=dctmtx(8);
B=blkproc(I,[8 8], ‘P1*x*P2’,T,T’);
mask=[1 1 1 0 0 …];
B2=blkproc(B,[8 8],’P1*x’,mask);
I2=blkproc(B2,[8 8],’P1*x*P2,T’,T);
It is also possible to use dct2 and idct2.
18
Analyzing and Enhancing Images
pixval returns the value of a pointed pixel and the distance
between two pointed pixels.

impixel returns the data value for a selected set of pixels. The
set can be pointed by the mouse or by coordinates.

imcontour plots the contours of the image.

imhist(I,n) plots the histogram of I with n bins.

19
Edge detection:
edge(I,’sobel’);
edge(I,’canny’);
Or by fspecial(‘sobel’) and conv2.
Image Enhancement:
Histogram stretching:
imadjust(I,[low high],[bottom top]);
Gamma correction:
imadjust(I,[],[],gamma_coef);
Histogram Equalization
histeq(I)

20
Noise removal
To add noise to an image:

imnoise(I,’type’,coef); type can be ‘salt n pepper’,


‘speckle’, ‘gaussian’ for S&P, multiplicative and
additive noise.

Averaging or gaussian filtering:


F=filter2(fspecial(‘average’,3),J);

Median filtering:
F=medfilt(J,[3 3]);

21
Morphological Operations

 Dilation : imdilate()
 Erosion: imerode()
 Closing: imclose()
 Opening: imopen()

22
Color
The available colorspaces:
RGB, NTSC (US televisions), YCbCr (Digital video), HSV.
Transformations between the spaces:
rgb2ntsc, hsv2rgb, …

23
Questions?

You might also like