ROZ I cv. 01 úvod KM - FJFI - ČVUT

Podobné dokumenty
NPGR032 Cv úvod

ROZ1 - Cv. 1 - Zobrazenэ snэmku a zсklady Matlabu

ROZ II cv. 01 Dekonvoluce KM - FJFI - ČVUT

ROZ II cv. 01 Dekonvoluce KM - FJFI - ČVUT

Lineární algebra s Matlabem. Přednáška 4

Hough & Radon transform - cvičení

Analýza a zpracování digitálního obrazu

Základy zpracování obrazu

ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů

Pôvodne: Interaktívny program na operácie s maticami Teraz: Vysoko úrovňový jazyk na technické výpočty a interaktívne prostredie na:

1 Základní funkce pro zpracování obrazových dat

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

ROZ I. CVIČENÍ V. Morfologické operace v obraze teorie & praxe

Předzpracování dat. Cvičení 2: Import a příprava dat v Matlabu MI-PDD, 09/2011. Pavel Kordík MI-POA

DUM 01 téma: Úvod do počítačové grafiky

1 Jasové transformace

ROZ1 - Cv. 2 - Fourierova transformace ÚTIA - ZOI

Omezení barevného prostoru

Předzpracování dat. Pavel Kordík. Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague

Kde se používá počítačová grafika

Histogram a jeho zpracování

Histogram a jeho zpracování

NPGR032 CVIČENÍ III. Šum a jeho odstranění teorie&praxe. Adam Novozámský (novozamsky@utia.cas.cz)

Rozšíření bakalářské práce

Vizualizace. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií

Barevné systémy Josef Pelikán CGG MFF UK Praha

Software pro úpravu snímků LAB-10. Návod k obsluze

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

BPC2E_C08 Parametrické 3D grafy v Matlabu

Multimediální systémy. 02 Reprezentace barev v počítači

Praktická cvičení v grafickém editoru GIMP. březen 2012

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

MATLAB HRAVĚ Zdeněk Jančík, FIT VUT Brno

Barvy v počítačové grafice

ROZ1 - Cv. 3 - Šum a jeho odstranění ÚTIA - ZOI

Interpolace a aproximace dat.

Zpracování obrazů. Honza Černocký, ÚPGM

2010 Josef Pelikán, CGG MFF UK Praha

Otevření souboru. - druhé tlačítko zleva (v nástrojové liště se symbolem šipky a dokumentu)

MATLAB základy. Roman Stanec PEF MZLU

Práce na počítači. Bc. Veronika Tomsová

Mgr. Markéta Trnečková, Ph.D. Palacký University, Olomouc

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_135_IVT_HTML_08_tvorba_www

Rozvinutí funkce do Maclaurinova rozvoje

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Skriptování co se do minula nevešlo, práce s řetězci a řešení rovnic

Barvy v počítačové grafice

Barevné modely, práce s barvou. Martin Klíma

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

BPC2E_C09 Model komunikačního systému v Matlabu

Monochromatické zobrazování

Copyright c R.Fučík FJFI ČVUT Praha, 2008

2D grafika. Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace. Počítačová grafika, 2D grafika 2

Pracovní text a úkoly ke cvičením MF002

nástroj pro výběr - obdélník, elipsa... nástroj pro přesun - přesun výběru, vrstev a vodítek nástroj laso - vytváření výběru od ruky

X37SGS Signály a systémy

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

On-line škola mladých autorů , pořadatel: ČVUT FEL. Jak na obrázky? Martin Žáček

Š E D O T Ó N O V Á A B A R E V N Á K A L I B R A C E

Mikroskopická obrazová analýza

Grafika na počítači. Bc. Veronika Tomsová

Vyhodnocení experimentálního měření kmitání vibrační třídičky pomocí optické metody

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ KYBERNETIKA, AUTOMATIZACE A MĚŘENÍ. MRBT Projekt

Základy algoritmizace a programování

Program pro zobrazení černobílých snímků v nepravých barvách

Digitální fotografie II. Mgr. Milana Soukupová Gymnázium Česká Třebová

Cvičení 4 komplexní zpracování dat. Analýza povodí řeky Kongo

více křivek v jednom grafu hold on přidrží aktuální graf v grafickém okně, lze nakreslit více grafů do jednoho grafického okna postupně hold off

Cvi ení 2. Cvi ení 2. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 5, 2018

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

Analýza časového vývoje 3D dat v nukleární medicíně

GRAFICKÉ FORMÁTY V BITMAPOVÉ GRAFICE

Self Organizing Map. Michael Anděl. Praha & EU: Investujeme do vaší budoucnosti. 1 / 10 Slef Organizing Map

DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH

Teorie barev. 1. Barvený model. 2. Gamut. 3. Barevný prostor. Barevný prostor různých zařízení

13 Barvy a úpravy rastrového

aplikační software pro práci s informacemi

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

Grafické výstupy v Octave/Matlabu a GnuPlotu

Světlo. Podstata světla. Elektromagnetické záření Korpuskulární charakter. Rychlost světla. Vlnová délka. Vlnění, foton. c = ,8 km/h

Barva. v počítačové grafice. Poznámky k přednášce předmětu Počítačová grafika

Obrazová data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

DZDDPZ5 Zvýraznění obrazu - prahování. Doc. Dr. Ing. Jiří Horák Ing. Tomáš Peňáz, Ph.D. Institut geoinformatiky VŠB-TU Ostrava

Systém GIMP - tvorba jednoduchých animací a grafiky pro web

Úvod do jazyka HTML (Hypertext Markup Language)

Téma: Barevné modely, formáty souborů

Metody zvýrazňování obrazu III. Vícepásmová zvýraznění. Spektrální příznaky. Příznakový prostor. Podstata vícepásmových zvýraznění

Makroskopická obrazová analýza pomocí digitální kamery

Cvičení 1. Úpravy obrázků programem IrfanView. Zpracoval: Ing. Vladimír Solnický SPŠ stavební, Opava, příspěvková organizace

Hromadné úpravy digitálních fotografií, metadata a úložiště

Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 39

Pavel Roubal Výukový modul projektu: Nové formy výuky ve školách kraje Vysočina

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

Přednáška kurzu MPOV. Barevné modely

Vlastnosti Fourierovy transformace

Úpravy rastrového obrazu

Popis programu řádkové kamery USB Video Interface

Transkript:

ROZ I cv. 01 úvod KM - FJFI - ČVUT LS 2014 ÚTIA - ZOI zoi.utia.cas.cz

Kontakty Ústav teorie informace a automatizace AV ČR, v.v.i. http://www.utia.cas.cz Zpracování obrazové informace http://zoi.utia.cas.cz 2 / 44

Kontakty Adam Novozámský: novozamsky@utia.cz Honza Kotera: kotera@utia.cz 3 / 44

Organizace cvik teorie + řešení úkolů docházka: http://zoi.utia.cas.cz >> For students >> Lecture courses (CZ) >> ROZ1 >> Materiály >> Přidat studenta 4 / 44

Matlab Hned po přihlášení zapnout!! (omezený počet licencí na ČVUT) Stáhnout balík souborů na cvičení: http://zoi.utia.cas.cz/roz1/studijni-materialy 5 / 44

Motivace Předzpracování snímku Využití Fourierovi transformace Potlačení šumu, dekonvoluce 6 / 44

Motivace Informace z obrázku Detekce hran Morfologie potlačení objektů 7 / 44

Motivace Praktická zkouška 2004 Kostra kostry 2005 Vánoční atmosféra 8 / 44

Motivace Praktická zkouška 2007 Něco je ve vzduchu Zadání písemek: http://zoi.utia.cas.cz/zadani-pisemek-z-lonskych-let 9 / 44

Základy MATLABU Úplné základy najdete zde: http://zoi.utia.cas.cz/files/roz1/matlab_reference_sheet.pdf Zde je oficiální HELP Matlabu: http://www.mathworks.com/help/index.html Nebo nápověda přímo v Matlabu help, doc, F1 10 / 44

Načtení snímku I = imread('lena2.png'); 11 / 44

Zobrazení matice Vytvořte funkci, která zobrazí matici I function zobr(i) % Img matice obrazových dat;... end help: figure, imagesc, axis, colormap, gray 12 / 44

Zobrazení matice Vytvořte funkci, která zobrazí matici I function zobr(i) % Img matice obrazových dat; figure; colormap(gray(256)); image(i); axis image; end 13 / 44

Práce s vícekanálovým obrázkem 1. Zobrazte barevný obrázek lena.pgm 2. Zobrazte 2 kanál (green) obrázku: lena.pgm 14 / 44

Práce s vícekanálovým obrázkem 1. Zobrazte barevný obrázek lena.png (3-D matice) pokud jsou data typu uint8: rozmezi 0 255 I = uint8(imread('lena.png')); zobr(i); pokud jsou data typu double, tak funkce image potřebuje mít v tomto tipu data v rozmezí <0, 1>, proto dělíme hodnoty 0-255 v takovém případě 255 I = double(imread('lena.png')); zobr(i/255); 2. Zobrazte 2 kanál (green) obrázku: lena.png 15 / 44

RGB to GRAY Napište funkci rgb2grayscale(i), která převede RGB obrázek I na šedotónový Vyzkoušejte funkci na obrázku lena.pgm function [Y] = rgb2grayscale(i) % Img matice obrazových dat;... end 16 / 44

RGB to GRAY function [Y]=rgb2grayscale(I) R = I(:,:,1); G = I(:,:,2); B = I(:,:,3); Y = 0.2989*R + 0.5870*G + 0.1140*B; end 17 / 44

Práce s maticemi Zobrazte průběh exponenciály od -1 do 6 help: exp, plot 18 / 44

Práce s maticemi Zobrazte průběh exponenciály od -1 do 6 x = -1 : 0.01 : 6; y = exp(x); plot(x,y); 19 / 44

Práce s maticemi Vymažte šipce (sipka.pgm) černou konturu 20 / 44

Práce s maticemi Vymažte šipce (sipka.pgm) černou konturu S=double(imread('sipka.pgm')); S(S==0)=255; zobr(s); 21 / 44

Práce s maticemi Určete délku kontury šipky (počet pixelů) 22 / 44

Práce s maticemi Určete délku kontury šipky (počet pixelů) S = double(imread('sipka.pgm')); sum(sum(s == 0)); ans = 36 23 / 44

Práce s maticemi najděte binární i grayscale těžiště šipky binární: všechny barvy mají váhu 1 kromě bílé (hodnota 255), kterou beru jako pozadí a má váhu 0 grayscale: hodnota intenzity je jeho váha tedy černá (hodnota 0) má váhu 0 bílá (hodnota 255) má váhu 255 help: find, mean 24 / 44

Práce s maticemi binární: [x, y] = [8.0896, 6] [y, x] = find(i < 255); mean([x, y]); grayscale: [x, y] = [ 8.0613, 6] x = sum(i,1) * [1:size(I,2)]' / sum(i(:)); y = [1:size(I,1)] * sum(i,2) / sum(i(:)); 25 / 44

Práce s maticemi Vytvořte tento obraz bez použití flipud a fliplr 26 / 44

Práce s maticemi L=double(imread('lena.png')); L = rgb2grayscale(l); 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]); 27 / 44

Práce s maticemi Napište funkci: function [croppi,subi]=croppsub(i) % croppi...výřez středu poloviční velikosti I % subi...i zmenšený na půlku (bez interpolace)... end help: size, round 28 / 44

Práce s maticemi Napište funkci: function [croppi,subi]=croppsub(i) % croppi...výřez středu poloviční velikosti I % subi...i zmenšený na půlku 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); end 29 / 44

Práce s maticemi Napište funkci: function [Y]=jaskontrast(I, jas, kontrast) % I...vstupní obrázek % jas...hodnota zvýšení/snížení jasu % kontrast...hodnota zvýšení/snížení kontrastu... end help: hist, imhist 30 / 44

Práce s maticemi Napište funkci: function [Y]=jaskontrast(I, jas, kontrast) % I...vstupní obrázek % jas...hodnota zvýšení/snížení jasu % kontrast...hodnota zvýšení/snížení kontrastu Y=I * kontrast+jas; end 31 / 44

Práce s obrázkem načtěte obrázek lena.png udělejte z něho jednokanálový binární obrázek (např. I < 128) uložte ho jako *.bmp obrázek help: imwrite 32 / 44

Práce s obrázkem načtěte obrázek lena.png udělejte z něho jednokanálový binární obrázek (např. I < 128) uložte ho jako *.bmp obrázek I = double(imread('lena.png')); I = rgb2grayscale(i); I = (I>128)*255; imwrite(i,'lean_bin.bmp','bmp'); 33 / 44

Práce s obrázkem Pomocí výběru bodů v obrázku lena2.png nakreslete červený trojúhelník, jehož body budou: levé oko, pravé oko, střed pusy síla čáry bude 4px help: ginput, line, imsave 34 / 44

Práce s obrázkem Pomocí výběru bodů v obrázku lena2.png nakreslete červený trojúhelník, jehož body budou: levé oko, pravé oko, střed pusy síla čáry bude 4px I = imread('lena2.png'); zobr(i); [x, y] = ginput(3); x = [x; x(1)]; y = [y; y(1)]; line(x,y,'color','r','linewidth',4); 35 / 44

Hromadné zpracování souborů napište skript, kterému předáte jméno složky a on vám přebarví ve všech *.png obrázcích všechny zelené pixely na bílo (255,255,255) a poté obrázky uloží do podsložky ( \ng ) jako name_of_file-nog.png Vyzkoušejte na složce flags help: dir, fullfile, exist, mkdir, length, fprintf, imwrite, rgb2hsv 36 / 44

Hromadné zpracování souborů Nápověda z teorie barevných prostorů: je dobré obrázek převést z RGB do HSV: Hue H (barva) (0-360 ) Saturation S (sytost) (0% 100%) Value V (jas) (0% 100%) 37 / 44

Hromadné zpracování souborů function [Y] = nogreen(i) I_hsv = rgb2hsv(i); I_bin = I_hsv(:,:,1) > 0.1944 & I_hsv(:,:,1) < 0.4722; R = I(:,:,1); G = I(:,:,2); B = I(:,:,3); R(I_bin) = 255; G(I_bin) = 255; B(I_bin) = 255; Y(:,:,1) = R; Y(:,:,2) = G; Y(:,:,3) = B; end 38 / 44

Hromadné zpracování souborů function del_green(folder) train_images = dir(fullfile(folder, '*.png')); my_path = [folder '\\' 'ng']; if (exist(my_path,'dir') ~= 2) mkdir(my_path); end for i = 1:length(train_images) i current_filename = train_images(i).name; fprintf('processing %s\\%s...\n', folder,current_filename); Img = double(imread([folder '\\' current_filename])); Img_nG = nogreen(img); imwrite(img_ng./255, [folder '\\' 'ng\\' current_filename], 'png'); end end 39 / 44

Práce s videem ve filmové praxi se už několik let používá tzv. Green- Screen technika: nasnímá se objekt (např. reportér) před zeleným plátnem a poté se všechny zelené pixely nahradí obrázkem v pozadí takhle to vypadá, když si rosnička oblékne zelené šaty zdroj: http://www.mirror.co.uk/news/worl d-news/weather-forecaster- wardrobe-malfunction-presenter- 825367 40 / 44

Práce s videem napište skript, kterému předáte dvě videa: green-screen video (vicka.mp4, kos.wmv) background video (ulice.mp4, hlava.wmv) a on vám uloží video, které bude kombinací těchto dvou je potřeba mít nainstalované kodeky pro mp4!!! help: VideoReader, VideoWriter 41 / 44

Práce s videem function [Img] = switch_geen_px(img, Img_back) R = Img(:,:,1); G = Img(:,:,2); B = Img(:,:,3); R_back = Img_back(:,:,1); G_back = Img_back(:,:,2); B_back = Img_back(:,:,3); Img_hsv = rgb2hsv(img); mybin = Img_hsv(:,:,1) > 0.1944 & Img_hsv(:,:,1) < 0.4722... & Img_hsv(:,:,2) > 0.20 & Img_hsv(:,:,3) > 0.15; R(myBin) = R_back(myBin); G(myBin) = G_back(myBin); B(myBin) = B_back(myBin); end Img(:,:,1) = R; Img(:,:,2) = G; Img(:,:,3) = B; 42 / 44

Práce s videem function [] = greenscreen(name_in1, name_in2, name_out) xyloobj = VideoReader(name_in1); xyloobj_back = VideoReader(name_in2); vidobj = VideoWriter(name_out); open(vidobj); nframes = xyloobj.numberofframes; nframes_back = xyloobj_back.numberofframes; if(nframes<nframes_back) nframes_all = nframes; else nframes_all = nframes_back; end end for k = 1 : nframes_all clc; fprintf('done: %2.2f %% \n', 100*k/nFrames_all); Img = read(xyloobj, k); Img_back = read(xyloobj_back, k); Img = switch_green_px(img, Img_back); writevideo(vidobj,img); end close(vidobj); fprintf('\n'); 43 / 44

Práce s videem greenscreen('video\kos.wmv',... 'video\hlava.wmv','video\output'); 44 / 44

Práce s videem greenscreen('video\sesit.mp4',... 'video\hlava.wmv','video\output2'); 45 / 44

Práce s videem greenscreen('video\vicka.mp4',... 'video\ulice.wmv','video\output3'); 46 / 44

Děkuji za pozornost