Transformace obrazu. Pavel Strachota. 16. listopadu FJFI ČVUT v Praze

Podobné dokumenty
13 Barvy a úpravy rastrového

Jana Dannhoferová Ústav informatiky, PEF MZLU

Geometrické transformace pomocí matic

Geometrické transformace obrazu

Geometrické transformace obrazu a související témata. 9. přednáška předmětu Zpracování obrazů

Deformace rastrových obrázků

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Geometrické transformace

Omezení barevného prostoru

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

Interpolace pomocí splajnu

KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od

Úpravy rastrového obrazu

5. Plochy v počítačové grafice. (Bézier, Coons)

Plochy zadané okrajovými křivkami

ANALYTICKÁ GEOMETRIE V ROVINĚ

Počítačová grafika 1 (POGR 1)

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Kristýna Bémová. 13. prosince 2007

Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26

Křivky a plochy technické praxe

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

GEODETICKÉ VÝPOČTY I.

Reprezentace bodu, zobrazení

Algoritmizace prostorových úloh

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

Integrace. Numerické metody 7. května FJFI ČVUT v Praze

Numerické řešení diferenciálních rovnic

1 Projekce a projektory

POČÍTAČOVÁ GRAFIKA - PGR PROGRAM PŘEDNÁŠEK. Po 9:00-10:30, KN:A-214

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

výsledek 2209 y (5) (x) y (4) (x) y (3) (x) 7y (x) 20y (x) 12y(x) (horní indexy značí derivaci) pro 1. y(x) = sin2x 2. y(x) = cos2x 3.

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

Interpolace, ortogonální polynomy, Gaussova kvadratura

Základní vlastnosti ploch

Plochy počítačové grafiky II. Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS


Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

7 Analytické vyjádření shodnosti

Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ

SEMESTRÁLNÍ PRÁCE X. Aproximace křivek Numerické vyhlazování

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Analytická geometrie lineárních útvarů

Funkce v ıce promˇ enn ych Extr emy Pˇredn aˇska p at a 12.bˇrezna 2018

zdroj světla). Z metod transformace obrázku uvedeme warping a morfing, které se

Matematika I 12a Euklidovská geometrie

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ. u. v = u v + u v. Umět ho aplikovat při

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)

Elementární křivky a plochy

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Základní vlastnosti křivek

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

Počítačová grafika 2 (POGR2)

Parciální derivace a diferenciál

11 Zobrazování objektů 3D grafiky

Řešení nelineárních rovnic

Matematika pro informatiky

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Globální extrémy. c ÚM FSI VUT v Brně. 10. ledna 2008

GEOREFERENCOVÁNÍ RASTROVÝCH DAT

4. Statika základní pojmy a základy rovnováhy sil

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Textury a šumové funkce

Diferenciál funkce dvou proměnných. Má-li funkce f = f(x, y) spojité parciální derivace v bodě a, pak lineární formu (funkci)

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Parciální derivace a diferenciál

Lingebraické kapitolky - Analytická geometrie

scale n_width width center scale left center range right center range value weight_sum left right weight value weight value weight_sum weight pixel

11. Skalární součin a ortogonalita p. 1/16

Eukleidovský prostor a KSS Eukleidovský prostor je bodový prostor, ve kterém je definována vzdálenost dvou bodů (metrika)

úloh pro ODR jednokrokové metody

Vlastní čísla a vlastní vektory

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

Kombinatorická minimalizace

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

3.2. ANALYTICKÁ GEOMETRIE ROVINY

Topografické plochy KG - L MENDELU. KG - L (MENDELU) Topografické plochy 1 / 56

Definice Tečna paraboly je přímka, která má s parabolou jediný společný bod,

Diplomová práce Prostředí pro programování pohybu manipulátorů

Pseudospektrální metody

Základy matematiky pro FEK

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Lineární algebra : Metrická geometrie

Matematický ústav UK Matematicko-fyzikální fakulta

Interpolace Lagrangeovy polynomy. 29. října 2012

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ TĚŽIŠTĚ

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

Aproximace funkcí. Polynom Φ m (x) = c 0 + c 1 x + c 2 x c m x m. Φ m (x) = c 0 g 0 (x) + c 1 g 1 (x) + c 2 g 2 (x) +...

Slajdy k přednášce Lineární algebra I

Transkript:

Transformace obrazu Pavel Strachota FJFI ČVUT v Praze 16. listopadu 2012

Obsah 1 Interpolace 2 Geometrické transformace obrazu 3 Alpha-blending, warping, morphing

Obsah 1 Interpolace 2 Geometrické transformace obrazu 3 Alpha-blending, warping, morphing

Interpolace v 1D množina n diskrétních vzorků hodnot funkce (signálu) f : [a,b] R na intervalu [a,b]: { (xi,f (x i )) i Nn,x i [a,b] } interpolace - konstrukce funkce f : [a,b] R pouze ze znalosti (x i,f (x i )) tak, aby f (xi ) = f (x i ) i N n (1) význam: snaha rekonstruovat přibližnou hodnotu f (x) pro každé x [a,b] pomocí f (x) aproximace - obecná rekonstrukce hodnot funkce f bez podmínky (1) Poznámka: N n = {k Z 0 k < n} = {0,1,2,...,n 1}

jinak též po částech konstantní interpolace obvykle ekvidistantní rozdělení intervalu kde definujeme x i = a + ih h = (b a) n 1 f (x) = f (xi ) (( x x i h 2,x i + h ) ) [a,b] 2 Interpolace v 1D Interpolace nejbližším sousedem

jinak též po částech konstantní interpolace obvykle ekvidistantní rozdělení intervalu kde definujeme x i = a + ih h = (b a) n 1 f (x) = f (xi ) (( x x i h 2,x i + h ) ) [a,b] 2 Interpolace v 1D Interpolace nejbližším sousedem

Interpolace v 1D Lineární interpolace dva sousední body spojeny úsečkou definujeme x i+1 x f (x) = f (x i ) + x x i f (x i+1 ) x i+1 x i x i+1 x i x [x i,x i+1 ]

Interpolace v 1D Lineární interpolace dva sousední body spojeny úsečkou definujeme f (x) = f (xi ) + x x i x i+1 x i (f (x i+1 ) f (x i )) x [x i,x i+1 ]

Interpolace v 1D Polynomiální interpolace 1/2 úsečkou můžeme interpolovat 2 body (lineární interpolace) n bodů lze interpolovat polynomem L(x) stupně n 1 definujeme potom Φ i ( xj ) = δij Φ i (x) = n (x x k ) k=1 k i, n (x i x k ) k=1 k i Lagrangeův interpolační polynom má potom tvar f (x) = Ln (x) = n f (x i )Φ i (x) i=1

Interpolace v 1D Polynomiální interpolace 2/2 Lagrangeův polynom se nekonstruuje přímo, ale efektivně pomocí diferenčního schématu (viz Numerická matematika) extrémní hodnoty funkce f (x) mohou ležet výrazně mimo interval ( ) minf (x i ),maxf (x i ) i N n i N n = tzv. overshoot

Interpolace v 1D Interpolace kubikou kubika, kubický spline - křivka popsaná parametricky: x = x (t), y = y (t) x (t), y (t) jsou polynomy 3. stupně interpolace po segmentech (spojení každých dvou bodů) koeficienty polynomů lze nalézt tak, aby výsledná křivka měla např. spojitou derivaci ( ) ẋ (t) ẏ (t) v bodech navazování segmentů segment křivky lze definovat pomocí tzv. řídících bodů mezi řídící body budou patřit i body [x i,f (x i )] detaily viz letní semestr, přednáška Křivky a plochy

Interpolace v 2D Interpolace nejbližším sousedem pravidelná mřížka s rozestupem (velikostí oka sítě) h = 1 vzorky funkce f (x,y), tj. např. hodnoty intenzity pixelů [i, j]: f i,j = f (i,j) interpolace: f (x,y) = fi,j ) ( (x,y) i 1 2,i + 1 2 ( j 1 2,j + 1 ) 2

Interpolace v 2D Bilineární interpolace separabilní procedura nejprve lineární interpolace ve směru osy x: f 0,1 f x,1 f 1,1 f x,j = f i,j + (x i) ( f i+1,j f i,j ) f x,j+1 = f i,j+1 + (x i) ( f i+1,j+1 f i,j+1 ) f x,y = f(x, y) poté lineární interpolace získaných hodnot ve směru y x y x, y [0, 1] f (x,y) = fx,j + (y j) ( f x,j+1 f x,j ) f 0,0 f x,0 f 1,0

separabilní procedura nejprve lineární interpolace ve směru osy x: Interpolace v 2D Bilineární interpolace f x,j = f i,j + (x i) ( f i+1,j f i,j ) f x,j+1 = f i,j+1 + (x i) ( f i+1,j+1 f i,j+1 ) poté lineární interpolace získaných hodnot ve směru y f (x,y) = fx,j + (y j) ( f x,j+1 f x,j )

Interpolace v 2D Bikubická interpolace interpolace bikubickou plochou mezi 4 body [i,j],[i + 1,j],[i,j + 1],[i + 1,j + 1] obecně f (x,y) = 3 k=0 l=0 3 a kl x k y l 16 koeficientů a kl lze odvodit z 4 4 podmínek pro 4 krajní body rovnost funkčních hodnot f (i,j) = f (i,j), f (i + 1,j) = f (i + 1,j) atd. rovnost derivací ve směru x: x f (i,j) = x f (i,j), atd. rovnost derivací ve směru y: y f (i,j) = y f (i,j), atd. rovnost smíšených derivací: 2 xy f (i,j) = 2 xyf (i,j), atd. pokud derivace nejsou známy, lze je aproximovat konečnými diferencemi

Interpolace v 2D Bilineární interpolace Bikubická interpolace bikubická interpolace je náročnější, ale generuje hladší funkci

Interpolace barev neinterpolujeme skalární funkci, ale barvu musíme umět sčítat barvy, násobit bravy skalárem barva má 3 parametry - lze uvažovat jako vektor s vektory pracujeme standardně - po složkách vyjádření v různých barevných prostorech + interpolace parametrů po složkách = různý výsledek viz přednáška Vnímání a reprezentace barev obvykle si vystačíme s prostorem RGB

Obsah 1 Interpolace 2 Geometrické transformace obrazu 3 Alpha-blending, warping, morphing

Základní transformace změna velikosti obrazu rotace zrcadlení Dva způsoby implementace transformace transformace obrazů T : A B dopředné mapování: procházíme obrázek A pixelech, hledáme polohu transformovaného pixelu v obraze B (hledáme obraz bodu při zobrazení T ) zpětné mapování: procházíme obrázek B po pixelech, hledáme polohu vzoru daného pixelu v obraze A při zobrazení T = obvykle potřebujeme najít T 1

problémy: 1 změní se počet pixelů Změna velikosti obrazu 2 pixely mají po transformaci neceločíselné souřadnice řešení: 1 procházíme pouze pixely cílového obrazu - použijeme zpětné mapování 2 na původní obrázek A použijeme interpolaci = intenzita obrazu je definována všude výběr interpolačního algoritmu: nejbližším sousedem - nejrychlejší, ale při zvětšení je obraz kostrbatý, při zmenšení se ztrácí tenké objekty (čáry apod.) = aliasing bilineární - ve většině případů dostačující, při zvětšení rozmazává hrany bikubická - dostačující hladkost, lépe zachovává hrany

Rotace obrazu rotace o násobky 90 triviální rotace bodu kolem počátku o úhel α proti směru hodinových ručiček x = x cosα ysinα y = y cosα + xsinα zpětná transformace je otočení o α x = x cosα + y sinα y = y cosα x sinα opět použijeme interpolaci rotovaný obraz se vejde na větší plátno než obraz původní nutnost vypočítat rozměr plátna: pomocí rotace rohů obrazu při zpětném mapování nutnost ošetřit souřadnice vzoru pixelu mimo obraz A

Obsah 1 Interpolace 2 Geometrické transformace obrazu 3 Alpha-blending, warping, morphing

Prolnutí obrazů alfa-míchání (alpha-blending) dvou obrazů A 1,A 2 do jednoho obrazu B lineární interpolace barev (intenzit) pixelů na totožných pozicích B (i,j) = A 1 (i,j) + α(a 2 (i,j) A 1 (i,j)) parametr α je průhlednost obrazu A 2 (A 1 je pozadí, A 2 popředí): α = 0 = zcela průhledný, α = 1 = neprůhledný v grafických akcelerátorech implementováno hardwarově prolnutí (cross dissolve) - animace sekvence n obrazů, kde B k (i,j) = A 1 (i,j) + k n (A 2 (i,j) A 1 (i,j)) k = 0,1,2,...,n

Alfa míchání

Cross-dissolve efekt Slideshow fotografií s efektem dissolve Spustit video

Warping deformace obrazu - nelineární transformace sít ový warping - k obrazu je přilepena sít. pohybem uzlových bodů sítě deformujeme obraz v každém oku sítě zůstává stále stejná část obrázku vhodný pro globální deformace úsečkový warping (feature based warping) - místo sítě je v obraze množina nezávislých úseček, které k sobě váží své okolí přemístěním úseček deformujeme obraz vhodnější pro lokální změny

Sít ový warping na obraz položíme pomyslnou sít spojnice uzlových bodů sítě mohou být přímky, kubické křivky (spliny) apod. změníme sít editací uzlových, resp. (v případě křivek) řídících bodů

Sít ový warping Algoritmus algoritmus je separabilní na dva kroky 1-2, 3-4: 1 určíme průsečíky každého řádku vstupního obrazu A s čarami ve svislém směru 2 získané intervaly se (lineárně) převzorkují na nový rozsah na modifikované síti = vznikne obraz B 3 určíme průsečíky každého sloupce obrazu B s čarami ve vodorovném směru 4 získané intervaly převzorkujeme = vznikne výsledný obraz B mapování A B

Sít ový warping Algoritmus A B B Dvouprůchodové zpracování sítě

Úsečkový warping Transformace jedním párem úseček 1/2 používáme zpětné mapování bodu X v B na bod X v A A B úsečka PQ definuje v obraze B souřadný systém: Q Q u - poloha X PQ podél úsečky škálovaná tak, že v bodě P je u = 0, v bodě Q je u = 1 v - vzdálenost od přímky PQ bod X v A najdeme jako bod o souř. (u,v) vzhledem k P Q P X P Q u v X X PQ u v X P

Úsečkový warping Transformace jedním párem úseček 2/2 souřadnice u: projekce vektoru (X P) do směru (Q P) analogicky souřadnice v: (X P) (Q P) u = Q P 2 (X P) (Q P) v = Q P kde vektor v = ( y,x) je kolmý k vektoru v = (x,y) souřadnice bodu X pak dostaneme snadno jako X = P + u (Q P ) + v (Q P ) Q P X nemá celočíselné souřadnice = interpolujeme

Úsečkový warping Transformace více páry úseček 1/4 transformace jedním párem úseček: posunutí, rotace, změna měřítka (afinní transformace) více párů úseček = více bodů X je-li X vzor bodu X při použití i-tého páru úseček a i D i = X X je odpovídající posunutí bodu X i i, vypočítáme X = X + n w i D i i=1, resp. přímo X n = w i i=1 n w i X i, n w i kde w i je váha i-tého bodu X i závislá na vzdálenosti X od i-té úsečky i=1 i=1

Úsečkový warping Transformace více páry úseček 2/4 A B Q 2 Q 1 Q 1 v 1 X X v 2 u 1 X 1 X v 1 u 2 P 2 P 1 X 2 u 1 P 1 u 2 v 2 P 2 Q 2

Úsečkový warping Transformace více páry úseček 3/4 váha w i se určí jako Q i w i = P p b i (a + d i ), kde d i je vzdálenost bodu X od úsečky P i Q i, tj. v u [0,1] d i = P X u < 0 Q X u > 1 a a,b,p jsou parametry zadané uživatelem

Úsečkový warping Transformace více páry úseček 4/4 parametr a > 0 určuje vliv úsečky na nejbližší okolí. pokud a 0, váha bodu přímo na úsečce je hodně velká = bod na úsečce se zobrazí opět na bod na úsečce (přesná kontrola) pokud a bude větší, warping bude hladší za cenu menší kontroly lze např. a = 0.001. parametr b určuje rychlost slábnutí vlivu úsečky se vzdáleností vhodné je b [0.5,2] parametr p [0,1] určuje vliv délky úsečky na váhu p = 0 = stejný vliv nezávisle na délce p = 1 = čím delší, tím silnější vliv

Úsečkový warping Správné rozmístění úseček úsečky by se neměly křížit, jinak vzniknou artefakty ( bubliny ) - tzv. Ghostbustering effect Ghostbusters: - Don t cross the streams! - Why? - It would be bad. úsečky by se měly dotýkat pouze na koncích, a to v obou obrázcích pokud nechceme, aby se X mapovalo i mimo zdrojový obraz, můžeme definovat páry úseček na okrajích obrázků A,B v opačném případě dodefinujeme okolí obrázku A např. černou

Úsečkový warping Správné rozmístění úseček úsečky by se neměly křížit, jinak vzniknou artefakty ( bubliny ) - tzv. Ghostbustering effect Ghostbusters: - Don t cross the streams! - Why? - It would be bad. úsečky by se měly dotýkat pouze na koncích, a to v obou obrázcích pokud nechceme, aby se X mapovalo i mimo zdrojový obraz, můžeme definovat páry úseček na okrajích obrázků A,B v opačném případě dodefinujeme okolí obrázku A např. černou

Úsečkový warping - příklady Spustit demo

Úsečkový warping - příklady Spustit demo

Úsečkový warping - příklady Spustit demo

Úsečkový warping - příklady Spustit demo

Úsečkový warping - příklady Spustit demo

Úsečkový warping - příklady Spustit demo

Morphing přeměna obrazu A v obraz B pomocí warpingu a prolnutí deformace obrazu obecně popsána systémem řídících bodů (koncové body úseček, uzlové body sítě) v obrazech A,B systémy bodů T A = ( ) p A m i, T i=1 B = ( p B i Tvorba M k (k-tého snímku animace), k = 0,1,2,...,n 1 Vytvoř systém T k : i lineárně interpoluj souřadnice řídících bodů p k i = p A i + k ( ) p B n i p A i 2 warpuj A M A k přechodem od T A k T k B M B k přechodem od T B k T k 3 proved cross-dissolve M k = M A k + k n ( M B k ) MA k ) m i=1

Morphing - příklady řídící body pro warping vymezují analogické objekty ve zdrojovém a cílovém obrázku při přeměně obličejů: oči, nos, ústa, uši, brada atd. Video Brangelina Spustit video Video Michael Jackson Spustit video Video Michael Jackson: Black or White Spustit video

Literatura T. Beier, S. Neely: Feature-based image metamorphosis. Computer graphics (SIGGRAPH 92 Proceedings) (1992), 35-42. Žára, Beneš, Sochor, Felkel: Moderní počítačová grafika. Computer Press, 2005. ISBN: 80-251-0454-0