ROZ1 - Cv. 1 - the Department of Image Processing

Transkript

ROZ1 - Cv. 1 - the Department of Image Processing
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy
Matlabu
ÚTIA - ZOI
Motivace
Úvod
Matlab
Cvičenı́
Závěr
◮
Ústav teorie informace a automatizace AV ČR, v.v.i. http://www.utia.cas.cz
◮
Zpracovánı́ obrazové informace - http://zoi.utia.cas.cz
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
◮
Ústav teorie informace a automatizace AV ČR, v.v.i. http://www.utia.cas.cz
◮
Zpracovánı́ obrazové informace - http://zoi.utia.cas.cz
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
◮
◮
Matlab
Cvičenı́
Závěr
Organizace cvik - teorie + řešenı́ úkolů
Docházka
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
◮
◮
Matlab
Cvičenı́
Závěr
Organizace cvik - teorie + řešenı́ úkolů
Docházka
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
MATLAB
◮
◮
◮
Hned po přihlášenı́ zapnout!! (omezený počet licencı́ na
ČVUT)
Multilicence - https://download.cvut.cz
Stáhnout balı́k souborů na cvičenı́:
http://zoi.utia.cas.cz/ROZ1/studijni-materialy
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
MATLAB
◮
◮
◮
Hned po přihlášenı́ zapnout!! (omezený počet licencı́ na
ČVUT)
Multilicence - https://download.cvut.cz
Stáhnout balı́k souborů na cvičenı́:
http://zoi.utia.cas.cz/ROZ1/studijni-materialy
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
MATLAB
◮
◮
◮
Hned po přihlášenı́ zapnout!! (omezený počet licencı́ na
ČVUT)
Multilicence - https://download.cvut.cz
Stáhnout balı́k souborů na cvičenı́:
http://zoi.utia.cas.cz/ROZ1/studijni-materialy
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
’Nejprostudovanějšı́’ žena světa:
◮
Lenna Soderberg (Sjööblom) - Playboy - Miss November 1972
◮
Alexander Sawchuk - profesor na USC Signal and Image
Processing Institute
- červenec 1976, 512 x 512 px
◮
http://www.cs.cmu.edu/~chuck/lennapg/lenna.shtml
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
’Nejprostudovanějšı́’ žena světa:
◮
Lenna Soderberg (Sjööblom) - Playboy - Miss November 1972
◮
Alexander Sawchuk - profesor na USC Signal and Image
Processing Institute
- červenec 1976, 512 x 512 px
◮
http://www.cs.cmu.edu/~chuck/lennapg/lenna.shtml
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
’Nejprostudovanějšı́’ žena světa:
◮
Lenna Soderberg (Sjööblom) - Playboy - Miss November 1972
◮
Alexander Sawchuk - profesor na USC Signal and Image
Processing Institute
- červenec 1976, 512 x 512 px
◮
http://www.cs.cmu.edu/~chuck/lennapg/lenna.shtml
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Předzpracovánı́ snı́mku
◮
Využitı́ fourierovy transformace
◮
Potlačenı́ šumu, dekonvoluce
50
100
150
200
250
50
100
150
200
250
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Předzpracovánı́ snı́mku
◮
Využitı́ fourierovy transformace
◮
Potlačenı́ šumu, dekonvoluce
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Informace z obrázku
◮
Detekce hran
◮
Morfologie – počı́tánı́ objektů
◮
Rozpoznávánı́ objektů
◮
Registrace snı́mků
50
100
150
200
250
50
100
150
200
250
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Informace z obrázku
◮
Detekce hran
◮
Morfologie – počı́tánı́ objektů
◮
Rozpoznávánı́ objektů
◮
Registrace snı́mků
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Informace z obrázku
◮
Detekce hran
◮
Morfologie – počı́tánı́ objektů
◮
Rozpoznávánı́ objektů
◮
Registrace snı́mků
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Informace z obrázku
◮
Detekce hran
◮
Morfologie – počı́tánı́ objektů
◮
Rozpoznávánı́ objektů
◮
Registrace snı́mků
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Praktická zkouška
◮
2004 - Kostra kostry
◮
2005 - Vánočnı́ atmosféra
◮
2007 - Něco je ve vzduchu
◮
Zadánı́ pı́semek http://zoi.utia.cas.cz/zadani-pisemek-z-lonskych-let
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Praktická zkouška
◮
2004 - Kostra kostry
◮
2005 - Vánočnı́ atmosféra
◮
2007 - Něco je ve vzduchu
◮
Zadánı́ pı́semek http://zoi.utia.cas.cz/zadani-pisemek-z-lonskych-let
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Praktická zkouška
◮
2004 - Kostra kostry
◮
2005 - Vánočnı́ atmosféra
◮
2007 - Něco je ve vzduchu
◮
Zadánı́ pı́semek http://zoi.utia.cas.cz/zadani-pisemek-z-lonskych-let
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Praktická zkouška
◮
2004 - Kostra kostry
◮
2005 - Vánočnı́ atmosféra
◮
2007 - Něco je ve vzduchu
◮
Zadánı́ pı́semek http://zoi.utia.cas.cz/zadani-pisemek-z-lonskych-let
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Základy
◮
Current Directory, Command Window, Workspace, Command
History
◮
Debug - krokovánı́ skriptu
◮
Nápověda - help, doc, F1 - Getting started
◮
Základnı́ datový typ je matice.
◮
Za % následuje komentář (CTRL+R / CTRL+L)
◮
; za přı́kazem potlačı́ zobrazenı́ výsledku (CTRL+C)
◮
Rozdělenı́ přı́kazu na dva řádky: ... + Enter
◮
Case-sensitive
◮
function [out1,out2,...]=funname(in1,in2,...)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Zobrazenı́ snı́mku ’lena.pgm’
◮
imread(), image()
50
100
150
200
250
50
100
150
200
250
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Zobrazenı́ snı́mku ’lena.pgm’
◮
imread(), image()
◮
double(), colormap(), gray()
50
100
150
200
250
50
100
150
200
250
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Zobrazenı́ snı́mku ’lena.pgm’
◮
imread(), image()
◮
double(), colormap(), gray()
◮
I = double(imread(’lena.pgm’));
image(I);
colormap(gray(256));
50
100
150
200
250
50
100
150
200
250
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Skript na zobrazenı́ matice
◮
vytvořte skript: function [] = zobr(I)
(otestovat na ’lena.pgm’ a ’sipka.pgm’)
1
2
3
4
5
6
7
8
9
10
11
2
4
6
8
10
12
14
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Skript na zobrazenı́ matice
◮
◮
vytvořte skript: function [] = zobr(I)
(otestovat na ’lena.pgm’ a ’sipka.pgm’)
function [] = zobr(I)
figure;
colormap(gray(256));
axis image;
image(I);
1
2
3
4
5
6
7
8
9
10
11
2
4
6
8
10
12
14
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
matice o 2 řádcı́ch a 3 sloupcı́ch - A = [1 2 3 ; 4 5 6]
transpozice vektoru - v = u’
vektor v s krokem k od a do z - v=a:k:z
v = 2:6 - v = [2, 3, 4, 5, 6]
u = 2:2:8 - v = [2, 4, 6, 8]
prvky vektoru v s indexy od 2. do poslednı́ho v(2:end) !Matlab indexuje od ’1’
matice nul - zeros(m,n)
matice jedniček - ones(m,n)
jednotková matice - eye(m,n)
diagonálnı́ matice s vektorem v na diagonále - diag(v)
operátor ’:’ (všechny) - A(2,:) (všechny prvky v druhém řádku)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi
◮
◮
◮
◮
◮
◮
◮
◮
◮
◮
změna prvku v matici - A(2,1) = 5
odstraněnı́ 2 sloupce vektoru - A(:, 2) = []
Maticové operace: +,-,*; po prvcı́ch: A.*B
transpozice A’, inverze inv(A)
velikost matice - [m,n] = size(A); m=size(A,1)
ten většı́ z rozměrů matice - length(A)
počet prvků v matici A - numel(A)
matice náhodných čı́sel mezi 0 a 1 (rovnoměrné rozdělenı́) rand(m,n)
clear v; clear all; close all
Flow control - if else, for, while, continue, break,
return
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Zobrazte průběh exponenciály od -1 do 6
exp(), plot()
450
400
350
300
250
200
150
100
50
0
−1
0
1
2
3
4
5
6
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Zobrazte průběh exponenciály od -1 do 6
exp(), plot()
◮
x = -1:0.01:6; y = exp(x); plot(x,y)
450
400
350
300
250
200
150
100
50
0
−1
0
1
2
3
4
5
6
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Indexovánı́ logickou maticı́
◮
porovnávánı́: <, <=, >, >=, ==, ∼=
◮
všechny prvky matice většı́ než 5 - A(A>5)
◮
all(A); any(A); [row,col]= find(A>5)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Indexovánı́ logickou maticı́
◮
porovnávánı́: <, <=, >, >=, ==, ∼=
◮
všechny prvky matice většı́ než 5 - A(A>5)
◮
all(A); any(A); [row,col]= find(A>5)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Indexovánı́ logickou maticı́
◮
porovnávánı́: <, <=, >, >=, ==, ∼=
◮
všechny prvky matice většı́ než 5 - A(A>5)
◮
all(A); any(A); [row,col]= find(A>5)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vymažte šipce černou konturu
1
2
3
4
5
6
7
8
9
10
11
2
4
6
8
10
12
14
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
◮
Vymažte šipce černou konturu
S=double(imread(’sipka.pgm’));
S(S==0)=255;
zobr(S);
1
2
3
4
5
6
7
8
9
10
11
2
4
6
8
10
12
14
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Agregačnı́ fce - sum(A), min(A), max(A)
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Agregačnı́ fce - sum(A), min(A), max(A)
◮
Určete délku kontury šipky
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Agregačnı́ fce - sum(A), min(A), max(A)
◮
Určete délku kontury šipky
◮
S=double(imread(’sipka.pgm’));
sum(sum(S==0));
ans = 36
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte tento obraz:
(L=double(imread(’lena.pgm’));)
bez flipud() a fliplr()
50
100
150
200
250
300
350
400
450
500
50
100
150
200
250
300
350
400
450
500
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
◮
Vytvořte tento obraz:
(L=double(imread(’lena.pgm’));)
bez flipud() a fliplr()
L1=(L(end:-1:1,end:-1:1));
L2=(L(end:-1:1,:));
L3=L;
L4=(L(:,end:-1:1));
zobr([L2 L1;L3 L4]);
50
100
150
200
250
300
350
400
450
500
50
100
150
200
250
300
350
400
450
500
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte funkci: [croppI,subI]=croppSub(I)
- croppI ... výřez středu polovičnı́ velikosti I
- subI ... I sub-samplovaný na půlku
50
100
150
200
250
50
20
20
40
40
60
60
80
80
100
100
120
100
150
200
250
120
20
40
60
80
100
120
20
40
60
80
100
120
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte funkci: [croppI,subI]=croppSub(I)
- croppI ... výřez středu polovičnı́ velikosti I
- subI ... I sub-samplovaný na půlku
◮
function [croppI,subI]=croppSub(I)
S = round(size(I)/4);
croppI=I(S(1):3*S(1),S(2):3*S(2));
subI=I(1:2:end,1:2:end);
zobr(croppI);
zobr(subI);
end
50
100
150
200
250
50
20
20
40
40
60
60
80
80
100
100
120
100
150
200
250
120
20
40
60
80
100
120
20
40
60
80
100
120
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte funkci: [Y]=jaskontras(I,jas,kontrast)
- I ... vstupnı́ obrázek
- Y ... výstupnı́ obrázek
- jas ... hodnota zvýšenı́/snı́ženı́ jasu
- kontrast ... hodnota zvýšenı́/snı́ženı́ kontrastu
(hist() / imhist())
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte funkci: [Y]=jaskontras(I,jas,kontrast)
- I ... vstupnı́ obrázek
- Y ... výstupnı́ obrázek
- jas ... hodnota zvýšenı́/snı́ženı́ jasu
- kontrast ... hodnota zvýšenı́/snı́ženı́ kontrastu
(hist() / imhist())
◮
function [Y]=jaskontras(I,jas,kontrast)
Y=I * kontrast+jas;
zobr(Y);
end
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte funkci: [Y]=rgb2grayscale(I)
- I ... vstupnı́ obrázek (*.jpg - I(m x n x 3))
- Y ... výstupnı́ obrázek (grayscale - I(m x n))
použijte standart konverze NTSC
50
50
100
100
150
150
200
200
250
250
50
100
150
200
250
300
350
400
50
100
150
200
250
300
350
400
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́
◮
Vytvořte funkci: [Y]=rgb2grayscale(I)
- I ... vstupnı́ obrázek (*.jpg - I(m x n x 3))
- Y ... výstupnı́ obrázek (grayscale - I(m x n))
použijte standart konverze NTSC
◮
function [Y]=rgb2grayscale(I)
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);
Y = 0.2989*R + 0.5870*G + 0.1140*B;
zobr(Y);
end
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́ (pro rychlı́ky)
◮
najděte binárnı́ i grayscale těžiště šipky
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́ (pro rychlı́ky)
◮
najděte binárnı́ i grayscale těžiště šipky
◮
nápověda: find(), mean()
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́ (pro rychlı́ky)
◮
najděte binárnı́ i grayscale těžiště šipky
◮
nápověda: find(), mean()
◮
binárnı́: [x, y] = [8.0896, 6]
[y,x]=find(I<255); mean([x,y])
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Motivace
Úvod
Matlab
Cvičenı́
Závěr
Práce s maticemi - cvičenı́ (pro rychlı́ky)
◮
najděte binárnı́ i grayscale těžiště šipky
◮
nápověda: find(), mean()
◮
binárnı́: [x, y] = [8.0896, 6]
[y,x]=find(I<255); mean([x,y])
◮
grayscale: [x, y] = [ 8.0613, 6]
TX = sum(I,1) * [1:size(I,2)]’ / sum(I(:));
TY = [1:size(I,1)] * sum(I,2) / sum(I(:));
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu
Úvod
Motivace
Matlab
Cvičenı́
Závěr
KONEC
Děkuji za pozornost !
ÚTIA - ZOI
ROZ1 - Cv. 1 - Zobrazenı́ snı́mku a základy Matlabu

Podobné dokumenty

cvičení 01

cvičení 01 klient server. Student v roli klienta naprogramuje svoji semestrální práci a zavolá odevzdávací funkci distribuovanou v rámci SAKo knihovny. Odevzdávací funkce následně kontaktuje server a provede ...

Více

Přednáška 4

Přednáška 4 Použití funkce strcat k řetězení znakových polí: >> a1=input('jmeno :','s') jmeno :pokus a1 =pokus >> a2=input('pripona :','s') pripona :txt a2 =txt >> U1=strcat(a1,'.',a2) U1 =pokus.txt Použití fu...

Více

důkaz elimanator

důkaz elimanator Důkaz: (sloupcový pohled): soustava má řešenı́ právě když vektor b ležı́ v lineárnı́m obalu sloupcových vektorů A1 , A2 , . . . , An , což je právě tehdy, když hod A = hod(A | b). V...

Více

Základy algoritmizace a programování

Základy algoritmizace a programování >>helpdesk Spustí "průzkumník" informačních souborů, které jsou dostupné ve formátu html. Pokud víme, co hledáme, lze použít příkaz >>doc

Více

Toto

Toto objekt, nebo je můžeme specifikovat až po vytvoření objektu prostřednictvím jeho identifikace a následným použitím funkcí set a get se získanými identifikátory. Následující přehled obsahuje všechny...

Více

21 Plochy

21 Plochy kde M ⊂ R2 je souvislá množina s neprázdným vnitřkem. 2. Plocha se nazývá uzavřená, existuje-li ke každému hraničnı́mu bodu U ∈ M bod V ∈ M takový, že U 6= V a Γ(U ) = Γ(V ). 3. Přı́...

Více