ROZ1 - Cv. 1 - the Department of Image Processing
Transkript
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
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 ...
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...
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...
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
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...