0% found this document useful (0 votes)
41 views25 pages

CSE 455: Computer Vision: Matlab 101 Getting Started With MATLAB

This document provides an introduction and overview of MATLAB for a computer vision course. It discusses getting started with MATLAB, including the workspace, command prompt, command history and common operators. It also covers variables, control flow, matrices, manipulating matrices through operations like concatenation and filtering, functions, scripts, debugging, images and basic image filtering. Tips are provided on performance and data visualization.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views25 pages

CSE 455: Computer Vision: Matlab 101 Getting Started With MATLAB

This document provides an introduction and overview of MATLAB for a computer vision course. It discusses getting started with MATLAB, including the workspace, command prompt, command history and common operators. It also covers variables, control flow, matrices, manipulating matrices through operations like concatenation and filtering, functions, scripts, debugging, images and basic image filtering. Tips are provided on performance and data visualization.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

CSE 455 : Computer Vision

MATLAB 101
Getting Started with MATLAB
Why?
• All assignments are going to be in MATLAB

• Interactive programming environment, easy


manipulation of image data, allows rapid
prototyping
Getting Started

Workspace

Files in Command
current Prompt
directory

Command
History
Getting Started
• Common operators: +,-,/,*

• Variables:
– Assigned using =
– There is no need to explicitly define the type of
variable
Control of Flow
• if statements and loops

If <logical expression>
<statements>
end

for <var> = <start_exp>:<end_exp>


<statements>
end
Matrices
• MATLAB’s power lies in efficiently
manipulating matrices
Matrices
• Initializing matrices
>> A = zeros(10,10)
>> A = zeros(10)
>> A = eye(10,10)
>> A = [1 2 3;4 5 6]
>> A = zeros(10,10,10)

• Accessing matrix elements


– A(2,1) : 2nd row, 1st column of A
– A(:,1) : 1st column of A
– A(1:10,:) : first 10 rows and all columns of A
Manipulating Matrices
• +,-,*,/ can be applied to matrices (provided
dimensions agree)

• Element wise operations:


.* : Element wise multiplication
./ : Element wise division

• Transposing a matrix: A’
Manipulating Matrices
• Some very useful operations:
– B = reshape(A,m,n) : Takes a matrix A with m*n
elements and reshapes it into a matrix with m
rows and n columns
1 4 7 10
2 5 8 11
3 6 9 12

Reshape(A,2,6)

1 3 5 7 9 11
2 4 6 8 10 12
Manipulating Matrices
• Some very useful operations:
– Concatenating matrices:
A= 1 2 3 [A;B] 1 2 3
4 5 6
B= 4 5 6

1 4
1 4 [A B]
2 5
A= 2 B= 5
3 6
3 6
Manipulating Matrices
• Some very useful operations:
– Concatenating matrices:
A= 1 2 3 cat(1,A,B) 1 2 3
4 5 6
B= 4 5 6

1 4
1 4 cat(2,A,B)
2 5
A= 2 B= 5
3 6
3 6

– Useful for concatenating along higher dimensions


Manipulating Matrices
• Some very useful operations:
– repmat(A,m,n) : Repeats A, m times along rows
and n times along columns

1 2 1 2 1 2
3 4 3 4 3 4
1 2 repmat(A,2,3)
1 2 1 2 1 2
3 4
3 4 3 4 3 4
Manipulating Matrices
• find
>> inds = find(A>0);

• sum
>> sum(A,1); % sum A along first dimension

• mean, var, etc.


Manipulating Matrices
• Summary:
– Operators: + , - , / , * , .*, ./
– reshape
– cat
– repmat
– find, sum, mean, etc.
MATLAB Help
• help <function_name>

OR

• doc <function_name>
Matlab Scripts: m-files
• Save a sequence of MATLAB commands as a
script

• MATLAB has a built-in editor which can be


invoked using the edit command
Matlab Functions
• Function name same as the filename

• Header of a function file:


function <retval> = <function_name>(arglist)

• MATLAB will recognize all function files in the


working directory. Additional directories may be
added to the path.
Debugging in MATLAB
• Demo
Images in MATLAB
• Loading an image
>> I = imread(‘filename’);

• Image is represented as a H x W x 3 matrix

• imagesc(I) displays the image

• Saving images: imwrite(I,’filename’);


Image Filtering Example
Input Image Filtered Image
1 0 1 2 7 8
0 5 0 3 6 9
0 3 0 0 6 1
0 3 0 6 7 8
6 6 5 5 4 4

Take weighted sum of values in the box, weights specified by the filter
1*1 + 1*0 + 1*1 + 1*0 + 2*5 + 1*0 + 1*0 + 1*3 + 1*0 = 15

Filter
1 1 1
1 2 1
1 1 1
Image Filtering Example
Input Image Filtered Image
1 0 1 2 7 8
0 5 0 3 6 9
0 3 0 0 6 1
0 3 0 6 7 8
6 6 5 5 4 4

Assume zero values outside the boundary.

Filter
1 1 1
1 2 1
1 1 1
MATLAB Demo
MATLAB Tips
• MATLAB is slow
MATLAB Tips
• MATLAB can be slow

• Dynamic allocation is evil

• For loops are evil


Data Visualization
• plot, bar, hist, scatter

• surf/mesh

You might also like