Title: Matlab
1Matlab
- Esercitazione 1 - Introduzione
2Matlab
Current Directory
Contenuto cartella corrente
Variabili correnti
editor
Command window
Comandi recenti
3Matrici
- MATLAB tratta tutte le variabili come matrici
- I vettori sono forme speciali di matrici con una
sola riga o colonna - Gli scalari sono trattati come vettori con una
sola riga e una sola colonna
v_riga 1 2 3
1 2 3
1 2 3
v_colonna 1 2 3
1 2 3 4 5 6 7 8 9
matrice 1 2 3 4 5 6 7 8 9
4Operatori
Trasposizione () a
Potenze ( o .) ab o a.b Moltiplicazione (
o .) ab o a.b Divisione (/ o ./) a/b o a./b
5 11 10 1 3 4 8 17 15
A B
1 2 3 1 0 1 2 4 3
1 2 2 2 3 1 0 1 2
A
B
1 4 6 2 0 1 0 3 8
A . B
Addizione () a b Sottrazione (-) a -
b Assegnamento () a b
5Linearita degli operatori (1)
1 2 3 1 0 1 2 4 3
1 2 2 2 3 1 0 1 2
A
B
3 6 9 3 0 3 6 12 9
2 4 4 4 6 2 0 2 4
5 10 13 7 6 5 6 14 13
mean(3A2B) mean
mean
8.78
3 6 9 3 0 3 6 12 9
2 4 4 4 6 2 0 2 4
mean(3A)mean(2B) mean
mean
5.673.11 8.78
operatore lineare
H(aAßB) H(a A)H(ßB)
6Linearita degli operatori (2)
1 2 3 1 0 1 2 4 3
1 2 2 2 3 1 0 1 2
A
B
5 10 13 7 6 5 6 14 13
median(3A2B) median
7
3 6 9 3 0 3 6 12 9
2 4 4 4 6 2 0 2 4
median(3A)median(2B) median
median
64 10
operatore non lineare
H(aAßB) ? H(a A)H(ßB)
7Estrazione di sotto-matrici
1 2 3 1 0 1 2 4 3
1 2 3 1 0 1 2 4 3
1 1 2
A
A ()
A ( ,1)
A (1 ,)
1 2 3
A(1) A(1,1) A(4) A(1,2) A(7) A(1,3)
A(2) A(2,1) A(5) A(2,2) A(8) A(2,3)
A(3) A(3,1) A(6) A(3,2) A(9) A(3,3)
A (2 ,3) 4
A (6) 4
I 2 3
I,J ind2sub(siz,ind)
I,J ind2sub(3 3, 5 6)
J 2 2
ind sub2ind(3 3, 3, 2)
IND sub2ind(siz,I,J)
ind 6
8Creazione di matrici da sottomatrici
1 0 0 0 0 1
1 1 2
0 2 3
1 0 0
B
C
D
E
1 0 1 1 2 0 2 3 0
1 1 0 1 0 0 2 0 1
F B, C, D
F
G B, E
G
1 1 0 1 0 0 2 0 1
1 0 1 1 2 0 2 3 0
1 1 0 1 0 0 2 0 1
1 1 0 1 0 0 2 0 1
H F, G
H
H
H(13,23)E
9Operazioni su matrici
size (A)
3x3
1 2 3 1 0 1 2 4 3
length (A)
9
A
min (A)
1 0 1
max (A())
4
max (A)
2 4 3
mean(A()), std(A()), var(A()),
sum(A()), abs(A())
Matrici notevoli
0 0 0 0 0 0 0 0 0
0.8147 0.9134 0.2785 0.9058 0.6324
0.5469 0.1270 0.0975 0.9575
zeros (3)
rand (3)
1 1 1 1 1 1 1 1 1
distribuzione uniforme 0 1
ones (3)
randn(3)
distribuzione gaussiana a media nulla
10Istruzioni if e for
if expression1 is true execute these
commands elseif expression2 is true
execute these commands else the
default execute these commands end
for x 1 p M comandi end
11Listruzione find
ind find(condizione)
1 2 3 1 0 1 2 4 3
A
ind1 3 4
ind1 find(A2)
ind2 1 2 5 8
ind2 find(Alt2)
0 2 3 0 0 0 2 4 3
A(ind2) 0
A
12Funzioni
Definizione
function output1, output2 name (input1,
input2, input3)
(il nome della funzione deve avere lo stesso nome
del file .m in cui viene salvata)
Uso
output1, output2 name (input1, input2,
input3)
Esempio
function minimo, massimo minmax (A)
minimo min(A) massimo max(A)
Dalleditor si salva come minmax.m
A1 2 3 1 0 1 2 4 3 m, M minmax (A) x
(m M)/2
Sul workspace
13Immagini
1
x
1
b a(2136,924)
uint8
a im2double(a)
double
y
14Immagini a colori
size(a) 384 512 3
size(b) 384 512
brgb2gray(a)
15Operazioni base con le immagini
Aprire limmagine
a imread(icona.pgm)
Visualizzare limmagine
imshow(a)
figure() imshow(a)
b1-a figure() subplot(1,2,1) imshow(a)
subplot(1,2,2) imshow(b) title(esempio)
.pgm
Salvare limmagine
.jpg
.png
imwrite (b, icona2.pgm')
16Connessione tra pixel
8-connessione
4-connessione
Numero di Eulero regioni connesse - buchi
A
B
i
E 0
E -1
E 2
- quante sono le regioni 8-connesse?
- quante sono le regioni 4 connesse?
- qual è il numero di Eulero nei due casi?
17Distanza tra pixel
Distanza Euclidea
D v(39-4)²(11-31)² 40.31
D sqrt((39-4)2(11-31)2))
City Block Distance
D 39-411-31 55
D abs(39-4)abs(11-31)
Chessboard distance
D max(abs(39-4),abs(11-31))
18Listogramma e la binarizzazione
figure() imhist(a)
f find(alt0.3) z ones(size(a)) z(f)
0 imshow(z)
bw im2bw(a, 0.3)
19Funzioni MATLAB viste oggi
- ind2sub, sub2ind
- mean, median
- size, length
- min, max, mean, std, var
- sum, abs
- zeros, ones, rand, randn
- find
- im2double
- imread, imwrite
- imshow, subplot, figure