Academia.eduAcademia.edu

Numerical Methods of Image Analysis for Optimal Lens Focusing

2021

Tato bakalářská práce se zabývá určením optimálního zaostření objektivu. Práce obsahuje část matematické teorie spojené s tímto problémem. Je zde vysvětlen matematický postup, kterým lze rozhodnout o optimálním zaostření objektivu. Výsledkem práce je jednoúčelová aplikace, která zpracovává snímky Slunce a dokáže určit optimální polohu zaostřovacího kroužku.The bachelor thesis deals with determining the optimal focus of the lens. It includes part of the mathematical theory associated with this problem. It explains the mathematical procedure that can be used to decide on the optimal focus of the lens. The result of the work is a single-purpose application that processes images of the Sun and can determine the optimal position of the focusing ring.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ FACULTY OF MECHANICAL ENGINEERING ÚSTAV MATEMATIKY INSTITUTE OF MATHEMATICS NUMERICKÉ METODY ANALÝZY OBRAZU PRO OPTIMÁLNÍ ZAOSTŘENÍ OBJEKTIVU NUMERICAL METHODS OF IMAGE ANALYSIS FOR OPTIMAL LENS FOCUSING BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE PAVEL MIKULÁČEK AUTHOR VEDOUCÍ PRÁCE SUPERVISOR BRNO 2021 doc. Ing. PAVEL ŠTARHA, Ph.D. Zadaní bakalářské práce Ústav: Ústav matematiky Student: Pavel Mikuláček Studijní program: Aplikované vědy v inženýrství Studijní obor: Matematické inženýrství Vedoucí práce: doc. Ing. Pavel Štarha, Ph.D. Akademický rok: 2020/21 Ředitel ústavu Vám v souladu se zákonem č.111/1998 o vysokých školách a se Studijním a zkušebním řádem VUT v Brně určuje následující téma bakalářské práce: Numerické metody analýzy obrazu pro optimální zaostření objektivu Stručná charakteristika problematiky úkolu: Při použití manuálního ostření objektivů je problematické nalezení jeho optimálního zaostření. K tomuto účelu lze použít různé numerické a stochastické metody. Práce se bude zabývat nalezením parametrů, které by byly vhodným indikátorem optimálního zaostření objektivu. Cíle bakalářské práce: Nastudovat a popsat základní numerické metody zpracování obrazové informace. Vybrat vhodné parametry pro určení míry ostrosti obrazu. Vytvořit jednoúčelovou aplikaci pro stanovení optimálního zaostření objektivu. Seznam doporučené literatury: PRATT, William K. Digital Image Processing (Third Edition) PIKS Inside [online]. 3rd ed. New York: Wiley-Interscience, 2001 [cit. 2014-08-07]. ISBN 04-712-2132-5. Dostupné https://www.academia.edu/18481136/Digital_Image_Processing_Third_Edition_William_K_Pratt. KLÍMA, Miloš. Zpracování obrazové informace. V Praze: České vysoké učení technické, 1996. ISBN 8001014363. Fakulta strojního inženýrství, Vysoké učení technické v Brně / Technická 2896/2 / 616 69 / Brno z: Termín odevzdání bakalářské práce je stanoven časovým plánem akademického roku 2020/21 V Brně, dne L. S. prof. RNDr. Josef Šlapal, CSc. doc. Ing. Jaroslav Katolický, Ph.D. ředitel ústavu děkan fakulty Fakulta strojního inženýrství, Vysoké učení technické v Brně / Technická 2896/2 / 616 69 / Brno Abstrakt Tato bakalářská práce se zabývá určením optimálního zaostření objektivu. Práce obsahuje část matematické teorie spojené s tímto problémem. Je zde vysvětlen matematický postup, kterým lze rozhodnout o optimálním zaostření objektivu. Výsledkem práce je jednoúčelová aplikace, která zpracovává snímky Slunce a dokáže určit optimální polohu zaostřovacího kroužku. Summary The bachelor thesis deals with determining the optimal focus of the lens. It includes part of the mathematical theory associated with this problem. It explains the mathematical procedure that can be used to decide on the optimal focus of the lens. The result of the work is a single-purpose application that processes images of the Sun and can determine the optimal position of the focusing ring. Klíčová slova zaostření objektivu, detekce hrany, snímky Slunce Keywords lens focusing, edge detection, Sun images MIKULÁČEK P. Numerické metody analýzy obrazu pro optimální zaostření objektivu. Brno: Vysoké učení technické v Brně, Fakulta strojního inženýrství, 2021. 45 s. Vedoucí doc. Ing. Pavel Štarha, Ph.D. Prohlašuji, že jsem svoji bakalářskou práci na téma Numerické metody analýzy obrazu pro optimální zaostření objektivu zpracoval samostatně pod vedením doc. Ing. Pavla Štarhy, Ph.D. s použitím materiálů uvedených v seznamu použité literatury. Pavel Mikuláček Rád bych poděkoval vedoucímu mé bakalářské práce doc. Ing. Pavlu Štarhovi, Ph.D. za ochotu, trpělivost, cenné rady a skvělé konzultace, při kterých mě vždy motivoval. Pavel Mikuláček Obsah Úvod 10 1 Matematický aparát 1.1 Definice vybraných prostorů . . . . . . . . . . . 1.1.1 Vektorový prostor . . . . . . . . . . . . 1.1.2 Vektorový prostor se skalárním součinem 1.1.3 Afinní prostor . . . . . . . . . . . . . . . 1.1.4 Euklidovský prostor . . . . . . . . . . . 1.2 Funkce více proměnných . . . . . . . . . . . . . 1.3 Numerické metody . . . . . . . . . . . . . . . . 1.3.1 Řešení soustav lineárních rovnic . . . . . 1.3.2 Řešení nelineárních rovnic . . . . . . . . 1.3.3 Aproximace funkcí . . . . . . . . . . . . 1.3.4 Numerické derivování . . . . . . . . . . . 1.4 Základy statistiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 13 15 16 17 19 19 20 21 22 23 2 Zpracování obrazové informace 2.1 Obraz a jeho vlastnosti . . . . 2.1.1 Obrazová matice . . . 2.1.2 Atributy pixelu . . . . 2.2 Histogram . . . . . . . . . . . 2.3 Obrazový šum . . . . . . . . . 2.4 Zmenšení snímku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 26 26 27 29 30 30 3 Proces zaostření objektivu 3.1 Použitý software . . . . . . . . . . . . . . . . 3.2 Testovací snímky . . . . . . . . . . . . . . . . 3.3 Detekce hrany . . . . . . . . . . . . . . . . . . 3.4 Optimální poloha zaostřovacího kroužku . . . 3.5 Optimální zmenšení snímku pro snížení šumu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 31 32 34 37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Závěr 40 Literatura 41 Seznam použitých zkratek a symbolů 42 Přílohy 44 9 Úvod Bakalářská práce se zabývá numerickými metodami pro optimální zaostření objektivu, zejména při expedicích za úplným zatměním Slunce. Při použití manuálního ostření objektivu je obecně problém najít takovou polohu zaostřovacího kroužku, při které by vznikl nejlépe zaostřený snímek. V praxi se můžeme setkat s nepříznivými meteorologickými podmínkami jako například turbulence ovzduší (seeing), špatní povětrnostní podmínky, ale také velké množství slunečního světla, které zhoršuje pozorovací podmínky na displeji řídícího zařízení. Vlivem těchto faktorů nedokáže pozorovatel relevantně rozhodnout o výsledné kvalitě zaostření. K testování různých metod a hledání vhodných parametrů pro určení ostrosti obrazu, byly použity snímky zachycující Slunce, které byly pořízeny doc. Ing. Pavlem Štarhou, Ph.D. Samotná bakalářská práce je členěna do tří základních kapitol. První kapitolu tvoří matematický aparát, ve které definujeme základní matematické prostory a jejich vlastnosti. Dále jsou zde popsány základní numerické metody používané v aplikační části a také zavedeny základní pojmy ze statistiky, které jsou použity k řešení dané problematiky. Druhá kapitola se věnuje základním metodám zpracování obrazové informace, tedy reprezentaci digitálního obrazu v počítači a jeho vlastnostem. Poslední kapitola popisuje kompletní proces zaostření objektivu s využitím dříve popsaných metod, včetně hledání vhodných parametrů pro optimální zaostření objektivu. 10 1 MATEMATICKÝ APARÁT 1 Matematický aparát 1.1 Definice vybraných prostorů Při zpracování obrazové informace budeme využívat gradient, k jehož pochopení je potřebná znalost pojmů: vektorový prostor, vektorový prostor se skalárním součinem, afinní prostor a euklidovský prostor. Definice těchto pojmů a jejich vlastnosti lze nalézt v následujících publikacích: [2], [3] a [4]. 1.1.1 Vektorový prostor Definice 1.1. Nechť jsou dány: (a) reálná čísla R (prvky nazýváme skaláry) (b) neprázdná množina V (prvky nazýváme vektory) (c) zobrazení ⊕ : V × V → V (hovoříme o sčítání vektorů) (d) zobrazení ⊙ : R × V → V (hovoříme o násobení vektoru číslem) Řekneme, že V = (V, ⊕) je vektorovým (lineárním) prostorem nad R s operacemi ⊕ a ⊙, pokud jsou splněny následující podmínky (axiomy): (V1) ∀u, v ∈ V : u ⊕ v = v ⊕ u (komutativita) (V2) ∀u, v, w ∈ V : (u ⊕ v) ⊕ w = v ⊕ (u ⊕ w) (asociativita) (V3) ∃o ∈ V takové, že ∀u ∈ V : u ⊕ o = o ⊕ u = u (existence nulového prvku) (V4) ∀u ∈ V ∃ − u ∈ V : u ⊕ (−u) = (−u) ⊕ u = o (existence opačného prvku) (V5) ∀α ∈ R a ∀u, v ∈ V : α ⊙ (u ⊕ v) = (α ⊙ u) ⊕ (α ⊙ v) (V6) ∀α, β ∈ R a ∀u ∈ V : (α + β) ⊙ u = (α ⊙ u) ⊕ (β ⊙ u) (V7) ∀α, β ∈ R a ∀u ∈ V : (α · β) ⊙ u = α ⊙ (β ⊙ u) (V8) ∀u ∈ V : 1 ⊙ u = u (invariance) Poznámka 1.2. Axiomy V1 až V4 tvoří na množině V tzv. Abelovskou grupu. Poznámka 1.3. Běžně se místo označení ⊕ pro sčítání používá znaménko + a místo označení ⊙ pro násobení znaménko ·. V definici se jiné značení používá z důvodu odlišení sčítání dvou vektorů a sčítání dvou prvků tělesa, resp. násobení vektoru prvkem tělesa a násobení dvou prvků tělesa. Poznámka 1.4. Místo α · u obvykle píšeme pouze αu. Vektory budeme značit malými tučnými písmeny: u, v, . . . Vektor u − v nazýváme rozdíl vektorů u a v, který je definován vztahem: u − v = u + (−v). 11 1.1 DEFINICE VYBRANÝCH PROSTORŮ Definice 1.5. Nechť V = (V, +) je vektorový prostor a v1 , . . . , vn ∈ V , kde n ∈ N. Řekneme, že vektor v ∈ V je lineární kombinací vektorů v1 , . . . , vn , jestliže existují α1 , . . . , αn ∈ R tak, že platí: v = α1 v1 + . . . + αn vn . Množinu všech lineárních kombinací vektorů v1 , . . . , vn značíme L(v1 , . . . , vn ). Máme tedy L(v1 , . . . , vn ) = {α1 v1 + . . . + αn vn : α1 , . . . , αn ∈ R}. Vektory v1 , . . . , vn nazýváme lineárně závislé, jestliže existují α1 , . . . , αn ∈ R, z nichž alespoň jedno je různé od nuly tak, že platí: α1 v1 + . . . + αn vn = o. V opačném případě vektory v1 , . . . , vn nazýváme lineárně nezávislé. Definice 1.6. Nechť V = (V, +) je vektorový prostor, U je neprázdná podmnožina V a platí: ∀u, v ∈ U , ∀α ∈ R : u + v ∈ U , α · u ∈ U . Pak množinu U nazýváme (vektorový) podprostor prostoru V a píšeme U = (U, +). Definice 1.7. Nechť V = (V, +) je vektorový prostor a v1 , . . . , vn ∈ V , kde n ∈ N. (a) Soustava vektorů v1 , . . . , vn se nazývá báze vektorového prostoru V, jestliže vektory v1 , . . . , vn jsou lineárně nezávislé a každý vektor v ∈ V lze vyjádřit lineární kombinací vektorů v1 , . . . , vn . Píšeme B = hv1 , . . . , vn i. (b) Řekneme, že vektory v1 , . . . , vn tvoří maximální lineárně nezávislou soustavu vektorů (prostoru V), jestliže vektory v1 , . . . , vn jsou lineárně nezávislé a pro každý vektor v ∈ V jsou vektory v, v1 , . . . , vn lineárně závislé. Věta 1.8. Nechť V = (V, +) je vektorový prostor a v1 , . . . , vn ∈ V , kde n ∈ N. Pak jsou následující výroky ekvivalentní. (a) B = hv1 , . . . , vn i, v1 , . . . , vn ∈ V je báze vektorového prostoru V. (b) Vektory v1 , . . . , vn tvoří maximální lineárně nezávislou soustavu vektorů (prostoru V). Jsou-li tyto podmínky splněny, pak každý vektor v ∈ V lze jednoznačně psát ve tvaru v = α1 v1 + . . . + αn vn , kde α1 , . . . , αn ∈ R. Čísla α1 , . . . , αn se nazývají souřadnice vektoru v vzhledem k bázi B = hv1 , . . . , vn i a píšeme v = hα1 , . . . , αn iB . Důkaz. viz [4] Definice 1.9. Nechť V = (V, +) je vektorový prostor a B = hv1 , . . . , vn i je jeho báze. Pak číslo n nazveme dimenzí vektorového prostoru V = (V, +) a píšeme dimV = n. 12 1 MATEMATICKÝ APARÁT 1.1.2 Vektorový prostor se skalárním součinem Definice 1.10. Nechť V = (V, +) je vektorový prostor. Nechť h , i: V × V → R je zobrazení splňující: (VS1) ∀u, v ∈ V : hu, vi = hv, ui (VS2) ∀u, v, w ∈ V : hu + v, wi = hu, wi + hv, wi (VS3) ∀u, v ∈ V, ∀α ∈ R : hαu, vi = αhu, vi (VS4) ∀u ∈ V : hu, ui ≥ 0 (VS5) ∀u ∈ V : hu, ui = 0 ⇔ u = o Pak toto zobrazení nazýváme skalární součin vektorů a prostor V nazýváme vektorový prostor se skalárním součinem. Příklad 1.11. Pro u = (u1 , . . . , un ), v = (v1 , . . . , vn ) ∈ Rn , kde n ∈ N položíme hu, vi = u1 v1 + u2 v2 + . . . + un vn . Pak zobrazení h , i: Rn × Rn → R splňuje axiomy (VS1) až (VS4). Vektorový prostor Rn je tedy vektorový prostor se skalárním součinem. Takto zavedený skalární součin hu, vi se často značí u · v a nazývá se bodový součin. Definice 1.12. Nechť V = (V, +) je vektorový prostor se skalárním součinem h , i. Pro v ∈ V položme p kvk = hv, vi. Číslo kvk se nazývá norma nebo délka nebo někdy také délka vektoru v. Podle axiomů (VS4) a (VS5) je kvk > 0 pro v 6= o a kok = 0. Vektor v ∈ V se nazývá jednotkový vektor, jestliže kvk = 1. Operaci, kdy vektor v násobíme převrácenou hodnotou jeho vlastní normy, tj. 1 v, kvk nazýváme normování vektoru. Příklad 1.13. Je-li v = (v1 , . . . , vn ) ∈ Rn , pak norma vektoru v při bodovém součinu je rovna q kvk = v12 + . . . + vn2 . Věta 1.14 (Schwarzova nerovnost). Nechť V = (V, +) je vektorový prostor se skalárním součinem a u, v ∈ V pak platí: hu, vi2 ≤ kuk2 · kvk2 . Přitom rovnost nastane právě, když jeden z vektorů u, v je násobkem druhého. 13 1.1 DEFINICE VYBRANÝCH PROSTORŮ Důkaz. (VS2) u = o : ho, vi = ho, vi + ho, vi ⇒ ho, vi = 0 ⇒ 0 ≤ 0 · kvk2 Ekvivalentně i pro v = o a pro u, v = o. 1 1 b = kuk b = kvk u, v 6= o : Položme u uav v 2 b−v bk = hb b, u bi = kb bi + kb bi) ⇒ hb bi ≤ 1 0 ≤ kb u−v u−v uk2 − 2hb u, v vk2 = 2(1 − hb u, v u, v 2 bk = 2(1 + hb bi) ⇒ −1 ≤ hb bi Podobně pro 0 ≤ kb u+v u, v u, v 1 bi = kuk·kvk · hu, vi, dostáváme Jelikož hb u, v −1 ≤ 1 · hu, vi ≤ 1, odtud plyne hu, vi2 ≤ kuk2 · kvk2 kuk · kvk Definice 1.15. Nechť V = (V, +) je vektorový prostor se skalárním součinem h , i. (a) Jsou-li vektory o 6= u, v ∈ V , pak dle Schwarzovy nerovnosti 1.14 platí: −1 ≤ ∃!ϕ ∈ R : 0 ≤ ϕ ≤ π tak, že cos ϕ = hu, vi ≤ 1. kuk · kvk hu,vi . kuk·kvk Číslo ϕ se nazývá úhel vektorů u,v. (b) Vektory u, v ∈ V se nazývají ortogonální (kolmé), jestliže hu, vi = 0. (c) Množina vektorů {v1 , . . . .vn } z V , kde n ∈ N se nazývá ortogonální množina vektorů jestliže platí: (i) ∀i ∈ N, 1 ≤ i ≤ n : vi 6= o, (ii) ∀i, j ∈ N, 1 ≤ i, j ≤ n, i 6= j : hvi , vj i = 0. (d) Množina ortogonálních vektorů {v1 , . . . .vn } z V se nazývá ortonormální množina vektorů, jestliže platí: ∀i ∈ N, 1 ≤ i ≤ n : kvi k = 1. Příklad 1.16. Uvažujme vektorový prostor Rn s bodovým součinem (jako skalárním součinem). Pak všechny vektory ei ∈ Rn , ∀i ∈ N, i ≤ n, které jsou dány e1 = (1, 0, 0, . . . , 0), e2 = (0, 1, 0, . . . , 0), .. . en = (0, 0, . . . , 0, 1), tvoří množinu ortonormálních vektorů {e1 , . . . en }. Definice 1.17. Nechť V = (V, +) je vektorový prostor se skalárním součinem a bází B = hv1 , . . . , vn i, kde n ∈ N. Bázi B nazveme ortogonální, resp. ortonormální, jestliže množina {v1 , . . . vn } je ortogonální, resp. ortonormální. Poznámka 1.18. Množina vektorů {e1 , . . . en } z Příkladu 1.16 se nazývá standardní bází vektorového prostoru Rn . 14 1 MATEMATICKÝ APARÁT 1.1.3 Afinní prostor Definice 1.19. Nechť A je neprázdná množina, nechť V = (V, +) je vektorový prostor a zobrazení f : A × A → V splňující: −→ (A1) ∀A ∈ A, ∀u ∈ V : ∃!B ∈ A s vlastností f (A, B) := AB = u, −→ −−→ −→ (A2) ∀A, B, C ∈ A : AB + BC = AC. Potom uspořádanou trojici (A, V, f ) nazýváme afinní prostor. Vektorový prostor V se nazývá zaměření afinního prostoru (A, V, f ) a prvky množiny A nazýváme body. Poznámka 1.20. Dále budeme hovořit o jednom pevném afinním prostoru (A, V, f ), který budeme zkráceně značit A. −→ Poznámka 1.21. AB ≡ B − A Je-li dimV = n, pak říkáme, že afinní prostor A je n-rozměrný (nebo též dimenze n) a píšeme dimA = n (zkráceně An ). Je-li dimA = 1 (resp. 2, resp. 3), nazýváme afinní prostor A afinní přímkou (resp. afinní rovinou, resp. afinním prostorem). Příklad 1.22. Nechť A je množina všech bodů v rovině, nechť V je vektorový prostor všech volných vektorů v rovině a zobrazení f přiřazuje uspořádané dvojici bodů A, B volný vektor, jehož jedním umístěním je orientovaná úsečka s počátečním bodem A a koncovým bodem B. Zřejmě axiomy (A1) a (A2) jsou splněny a dostáváme tedy afinní prostor. Analogicky lze postupovat v prostoru R3 . Definice 1.23. Nechť A je afinní prostor se zaměřením V = (V, +), nechť B 6= ∅, B ∈ A −−→ a nechť W = {XY |X, Y ∈ B}. Jestliže platí: (a) W = (W, +) je vektorovým podprostorem ve V, −−→ (b) ∀X ∈ B a ∀u ∈ W ∃Y ∈ B : XY = u, pak B nazýváme afinním podprostorem v A se zaměřením W. Poznámka 1.24. Podprostor B je afinním prostorem, můžeme tedy hovořit o jeho dimenzi, přičemž dimB = dimW. Definice 1.25. Nechť B je podprostor afinního prostoru A. Je-li (i) dimB = 0 : B nazýváme bod prostoru A, (ii) dimB = 1 : B nazýváme přímka prostoru A, (iii) dimB = 2 : B nazýváme rovina prostoru A, (iv) dimB = dimA − 1 : B nazýváme nadrovina prostoru A. Definice 1.26. Nechť A je afinní prostor, dimA ≥ 1, nechť P ∈ A je pevný bod a nechť B = hv1 , . . . , vn i je báze zaměření do tohoto prostoru. Afinním repérem nebo afinním souřadnicovým systémem v A rozumíme systém 15 1.1 DEFINICE VYBRANÝCH PROSTORŮ R = hP, v1 , . . . , vn i. Bod P se nazývá počátek a vektory v1 , . . . , vn se nazývají základní vektory afinního repéru R. Přímky xi = {P, L(vi )} se nazývají osy afinních souřadnic nebo souřadné osy afinního repéru. Definice 1.27. Nechť A je afinní prostor se zaměřením V = (V, +) a afinním repérem R = hP, v1 , . . . , vn i, A ∈ A je bod a u ∈ V je vektor. Uspořádaná n-tice [a1 , . . . , an ], ai ∈ R pro i = 1, . . . , n splňující: −−→ P X = a1 v1 + . . . + an vn se nazývá souřadnice bodu A v afinním repéru R. Uspořádaná n-tice (u1 , . . . , un ), ui ∈ R pro i = 1, . . . , n splňující: u = u1 v1 + . . . + un vn se nazývá souřadnice vektoru u. x2 A = [a1 , a2 ] v2 u = (u1 , u2 ) P v1 x1 Obrázek 1.1: Příklad afinního repéru 1.1.4 Euklidovský prostor Definice 1.28. Nechť A je afinní prostor se zaměřením V = (V, +), kde V je vektorový prostor dimenze n se skalárním součinem. Pak tento afinní prostor nazýváme euklidovský prostor dimenze n a značíme jej En . Definice 1.29. Nechť En je euklidovský prostor a R = hP, v1 , . . . , vn i je jeho afinní repér takový, že B = hv1 , . . . , vn i je ortonormální báze zaměření tohoto afinního prostoru. Pak afinní repér R nazýváme kartézský repér (ortonormální repér) nebo kartézský souřadný systém v En . Souřadnice bodů v En vzhledem k afinnímu repéru R nazýváme kartézské souřadnice. 16 1 MATEMATICKÝ APARÁT x2 A = [a1 , a2 ] u = (u1 , u2 ) P w = (w1 , w2 ) x1 B = [b1 , b2 ] Obrázek 1.2: Příklad kartézského repéru 1.2 Funkce více proměnných V této kapitole mluvíme o funkcích více proměnných, které jsou přirozeným zobecněním funkcí jedné proměnné. Také zde definujeme stěžejní pojem této bakalářské práce a to gradient funkce. Definice těchto pojmů nalezneme v publikaci [7]. Definice 1.30. Zobrazení f : Rn → R nazveme funkcí n proměnných. Množina D(f ) := {[x1 , x2 , . . . , xn ] ∈ Rn : ∃y ∈ R tak, že [x1 , x2 , . . . , xn , y] ∈ f } se nazývá definiční obor funkce f , množina H(f ) := {y ∈ R : ∃[x1 , x2 , . . . , xn ] ∈ Rn tak, že [x1 , x2 , . . . , xn , y] ∈ f } se nazývá obor hodnot. Zapisujeme: y = f (x1 , x2 , . . . , xn ), stručně y = f (X). Množina G(f ) := {[X, f (X)] ∈ Rn+1 : X ∈ D(f )} se nazývá grafem funkce n proměnných. Poznámka 1.31. pro n = 2 : z = f (x, y), pro n = 3 : u = f (x, y, z) V následujícím textu budeme uvažovat pouze funkce dvou proměnných (n = 2). Analogicky by se vše dalo rozšířit pro n = 3, 4, . . .. Definice 1.32. Nechť f : R2 → R je funkce a [x0 , y0 ] je hromadný bod D(f ). Řekneme, že f má v bodě [x0 , y0 ] limitu a ∈ R∗ píšeme lim[x,y]→[x0 ,y0 ] f (x, y) = a, jestliže ke každému okolí O(a) existuje okolí O∗ (x0 , y0 ) takové, že pro každé [x, y] ∈ O∗ (x0 , y0 ) ∩ D(f ) platí f (x, y) ∈ O(a). Definice 1.33. Nechť f : R2 → R je funkce a [x0 , y0 ] je vnitřní bod D(f ). Položme ϕ(x) = f (x, y0 ). Má-li funkce ϕ derivaci v bode x0 , nazýváme tuto derivaci parciální derivací funkce f podle proměnné x v bodě [x0 , y0 ] (značíme fx′ (x0 , y0 ), nebo fx (x0 , y0 ), (x0 , y0 )). To znamená, že nebo ∂f ∂x ϕ(x0 + h) − ϕ(x0 ) f (x0 + h, y0 ) − f (x0 , y0 ) = lim . h→0 h→0 h h fx (x0 , y0 ) = lim Podobně, má-li funkce φ(y) = f (x0 , y) derivaci v bodě y0 , nazýváme tuto derivaci parciální derivací funkce f podle proměnné y v bodě [x0 , y0 ] (značíme fy′ (x0 , y0 ), nebo fy (x0 , y0 ), nebo ∂f (x0 , y0 )). ∂y 17 1.2 FUNKCE VÍCE PROMĚNNÝCH Příklad 1.34. Mějme funkci z = x2 + xy + y 2 . Parciální derivace fx v bodě [1, 0] je fx (1, 0) = 2. 5 4.5 4 3.5 3 z 2.5 2 1.5 1 0.5 0 -0.5 -3 -2 -1 0 1 2 3 x (a) Graf funkce z a rovina y = 0 (b) Řez rovinou y = 0 Obrázek 1.3: Parciální derivace funkce Definice 1.35. Buď f : R2 → R funkce a [x0 , y0 ] ∈ D(f ). Nechť existuje fx a fy v bodě [x0 , y0 ]. Pak vektor gradf (x0 , y0 ) = (fx (x0 , y0 ), fy (x0 , y0 )) se nazývá gradient funkce f v bodě [x0 , y0 ]. Existují-li parciální derivace na množině M ⊆ D(f ), pak vektorovou funkci f = (fx , fy ) nazveme gradientem funkce f. Poznámka 1.36. Místo gradf se používá také značení ▽f (operátor „nabla“). Poznámka 1.37. Geometricky lze gradient interpretovat jako směr, ve kterém je přírůstek funkční hodnoty f největší. Funke z Gradient 2 1.5 1 y 0.5 0 -0.5 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x Obrázek 1.4: Vektorové pole gradientu Příkladu 1.34 18 1 MATEMATICKÝ APARÁT 1.3 Numerické metody Tato kapitola popisuje důležité numerické metody použité pro řešení této bakalářské práce. Popis metod lze nalézt v publikaci [1]. 1.3.1 Řešení soustav lineárních rovnic Soustavy lineárních rovnic lze řešit pomocí různých metod. Přímé metody jsou takové metody, které dodají v konečném počtu kroků přesné řešení za předpokladu, že výpočet probíhá bez zaokrouhlovacích chyb, tedy zcela přesně. Mezi takové metody patří například Gaussova eliminační metoda, která je popsaná níže. Iterační metody poskytnou jen přibližné řešení, které je dostatečnou aproximací přesného řešení. Mezi iterační metody patří například Jacobiova metoda nebo Gaussova-Seidlova metoda a jejich modifikace. Soustavu lineárních rovnic (SLR) a11 x1 + a12 x1 + · · · + a1n xn = b1 , a21 x1 + a22 x2 + · · · + a2n xn = b2 , .. .. .. .. . . . . an1 x1 + an2 x2 + · · · + ann xn = bn , lze také vyjádřit v maticovém tvaru Ax = b. (1.1) Gaussova eliminační metoda (GEM) V přímém chodu GEM se soustava (1.1) převede na ekvivalentní soustavu Ux = c, (1.2) kde U je horní trojúhelníková matice. Ve zpětném chodu se pak řeší soustava (1.2). Jelikož A je regulární maticí, tak i U je regulární matice. Pomocí toho vypočítáme z poslední rovnice xn , z předposlední xn−1 atd. až nakonec z první rovnice vypočítáme x1 . Algoritmus GEM 1. položme A(0) = A, b(0) = b (0) prvky matice A(0) označíme aij ≡ aij (0) prvky vektoru b(0) označíme bi ≡ bi 2. for k := 1 to n − 1 do 3. A(k) := A(k−1) ; b(k) := b(k−1) 4. for i := k + 1 to n do 5. mik := aik /akk 6. for j := k to n do aij − mik akj 7. bi 8. end (k) (k) (k) (k) (k) (k) (k) := bi − mik bk 19 1.3 NUMERICKÉ METODY 9. end 10. for i := n, n − 1, . . . to 1 do P (k) (k) (k) 11. xn = (bn − nj=i+1 aij xj )/aii 12. end Multiplikátory mik mají zajistit, aby na pozici (i, k) matice A(k) vznikla nula: (k) (k) (k) ⇒ aik − mik akk = 0 (k) mik = aik /akk , kde číslo akk se nazývá pivot. (k) GEM s částečným výběrem hlavního prvku Jedná se o modifikaci GEM zajišťující, aby absolutní hodnota multiplikátorů byla menší nebo rovna jedné. V k-tém kroku eliminace se jako pivot vybírá prvek s největší absolutní hodnotou v zatím neeliminované části k-tého sloupce matice A(k−1) . Nechť r je řádkový index, pro který platí: (k−1) (k−1) |ark | = max |aik |. k≤i≤n Pak prohodíme k-tou a r-tou rovnici. Tedy A(k) získáme prohozením k-tého a r-tého řádku matice A(k−1) a podobně b(k) získáme prohozením k-tého a r-tého prvku vektoru b(k−1) . Další postup je stejný jako v algoritmu GEM. 1.3.2 Řešení nelineárních rovnic K řešení nelineárních rovnic používáme iterační metody. Z jedné nebo několika počátečních aproximací hledaného kořene x∗ generujeme posloupnost x0 , x1 , x2 , . . ., která konverguje ke kořenu x∗ . Některým metodám stačí znát pouze interval, ve kterém se nachází hledaný kořen. Jiné metody vyžadují, aby počáteční aproximace byla dostatečně blízko k hledanému kořenu, tyto metody konvergují mnohem rychleji. Pro určení počáteční aproximace slouží např. Metoda bisekce, která je popsaná v [1]. Newtonova metoda Známe xk a máme určit lepší aproximaci xk+1 . To provedeme tak, že bodem [xk , f (xk )] vedeme tečnu ke křivce y = f (x) a průsečík tečny s osou x považujeme za xk+1 . Do rovnice tečny y = f (xk ) + f ′ (xk )(x − xk ) dosadíme y := 0, vypočítáme x a položíme xk+1 := x. Dostaneme tedy předpis xk+1 = xk − f (xk ) . f ′ (xk ) (1.3) Hodnotu xk+1 považujeme za dostatečně přesnou aproximaci kořene, pokud je splněno některé ze stop kritérií: 1. |xk+1 − xk | ≤ ε, 2. |xk+1 − xk | ≤ ε|xk |, 3. |f (xk+1 )| ≤ ε, kde ε je požadovaná přesnost. 20 1 MATEMATICKÝ APARÁT 1.3.3 Aproximace funkcí Aproximovat funkci f (x) znamená nahradit ji funkcí ϕ(x), která je k f (x) v jistém smyslu blízká. Píšeme ϕ(x) ≈ f (x). Mezi základní typy aproximace patří různé způsoby interpolace (polynomická, Hermitova, splajny) a metoda nejmenších čtverců. Interpolace je taková aproximace, při níž ϕ(x) nabývá v zadaných bodech xi předepsaných hodnot yi = f (xi ). Někdy také žádáme, aby funkce ϕ a f měly v bodech xi stejné derivace. Metoda nejmenších čtverců je taková aproximace, při níž ϕ(x) „prokládáme“ mezi zadanými body [xi , yi ] tak, aby „vzdálenost“ funkcí f a ϕ byla v jistém smyslu minimální. Je přitom charakteristické, že funkce ϕ body [xi , yi ] neprochází. Metoda nejmenších čtverců (MNČ) Jde o nejznámější metodu prokládání dat, kterou lze popsat následovně. Nechť t je nezávisle proměnná, například čas, a y(t) je neznámá funkce proměnné t, kterou chceme aproximovat. Předpokládejme, že jsme provedli m pozorování, při kterých jsme přibližně zjistily hodnoty y pro určité hodnoty t, tedy yi ≈ y(ti ), kde i = 1, 2, . . . , m. Záměrem je modelovat y(t) lineární kombinací n bázových funkcí ϕi (t) pro nějaké n ≤ m: y(t) ≈ x1 ϕ1 (t) + x2 ϕ2 (t) + . . . + xn ϕn (t) =: Rn (t). Bázové funkce se volí podle očekávaného průběhu neznámé funkce y(t). Úkolem je najít parametry x1 , x2 . . . , xn tak, aby platilo yi ≈ Rn (ti ), kde i = 1, 2, . . . , m. Jako rezidua nazveme rozdíly mezi pozorováními yi a modelovými hodnotami Rn (ti ), tedy ri = yi − Rn (ti ) = yi − n X ϕj (ti )xj , kde i = 1, 2, . . . , m. j=1 Parametry x1 , x2 . . . , xn chceme určit tak, aby rezidua byla co nejmenší. Metodu minimálních čtverců dostaneme, když minimalizujeme součet čtverců reziduí, tedy 2 krk = m X ri2 → min. i=1 21 1.3 NUMERICKÉ METODY yi ri2 yi+1 2 ri+1 ri = yi − Rn (ti ) 2 ri−1 yi−1 2 rm ym r22 y2 Pm 2 i=1 ri y1 r12 t1 t2 ti−1 ti → min ti+1 tm Obrázek 1.5: Princip metody nejmenších čtverců [1] 1.3.4 Numerické derivování Přibližný výpočet derivace f ′ (x) má smysl například tehdy, když (a) pro dané x můžeme získat odpovídající hodnotu y = f (x), avšak explicitní vyjádření funkce f (x) k dispozici nemáme a proto vzorec pro f ′ (x) neumíme napsat; (b) funkce f (x) je tak složitá, že výpočet její derivace je příliš pracný; (c) hodnoty funkce f (x) známe jen v několika tabulkových bodech. V takových případech je účelné nahradit funkci f (x) vhodnou aproximací ϕ(x) a hodnotu derivace ϕ′ (x) považovat za přibližnou hodnotu derivace f ′ (x). Podobně postupujeme, když potřebujeme určit vyšší hodnotu derivace: f (k) (x) ≈ ϕ(k) (x). Vhodným způsobem je aproximace derivací pomocí Lagrangeova interpolačního polynomu Pn (x), tj. f ′ (x) ≈ Pn′ (x). Chyba aproximace v uzlovém bodě Nechť f ∈ C n+1 ha, bi1 , kde a je nejmenší a b je největší z uzlů interpolace. Pak pro chybu f ′ (xs ) − Pn′ (xs ) v některém z uzlů xs platí: f ′ (xs ) − Pn′ (xs ) = f n+1 (ξs ) ′ · ω (xs ), (n + 1)! n+1 kde ωn+1 (x) = (x − x0 )(x − x1 ) · · · (x − xn ) a ξs je nějaký bod z intervalu (a, b). 1 22 funkce f má spojité derivace až do řádu n + 1 na intervalu ha, bi (1.4) 1 MATEMATICKÝ APARÁT Přehled užitečných vzorců Uvažujme případ, kdy uzly xi jsou ekvidistantní2 s krokem h, tj. xi = x0 + ih, i = 1, 2, . . . , n. Uzel, v němž počítáme přibližnou hodnotu derivace, si označíme jako x a ostatní uzly vyjadřujeme pomocí x jako x + h, x − h apod. Pomocí vztahu (1.4) dostaneme: první dopředná diference: f (x + h) − f (x) 1 ′′ − hf (ξ), ξ ∈ (x, x + h), h 2 (1.5) f (x) − f (x − h) 1 ′′ + hf (ξ), ξ ∈ (x − h, x), h 2 (1.6) f (x + h) − f (x − h) 1 2 ′′′ − h f (ξ), ξ ∈ (x − h, x + h). 2h 6 (1.7) f ′ (x) = první zpětná diference: f ′ (x) = první centrální diference: f ′ (x) = Chyba v dopředné a zpětné diferenci závisí na h a v centrální diferenci závisí na h2 . Proto je obecně vhodnější pro numerické derivování používat centrální diferenci. Parciální derivace Vztahy (1.5), (1.6) a (1.7) lze využít i pro funkce více proměnných. Derivujeme-li podle proměnné xi , ostatních proměnných xj 6= xi si nevšímáme a některou z výše uvedených formulí aplikujeme jen na proměnnou xi . Pro funkci f (x1 , x2 ) pomocí první centrální diference dostaneme: ∂f (x1 , x2 ) f (x1 + h, x2 ) − f (x1 − h, x2 ) ≈ , ∂x1 2h (1.8) ∂f (x1 , x2 ) f (x1 , x2 + h) − f (x1 , x2 − h) ≈ . ∂x2 2h (1.9) 1.4 Základy statistiky V této kapitole si zavedeme základní pojmy ze statistiky, které budeme využívat v kapitole 3.5. Definice pojmů používaných v níže uvedených definicích lze nalézt v literatuře [5]. Definice 1.38. Nechť (Ω, F, P ) je pravděpodobnostní prostor. Zobrazení X : Ω → R se nazývá náhodná veličina vzhledem k F právě, když ∀x ∈ R : {ω ∈ Ω : X(ω) ≤ x} ∈ F. Obraz X(ω) se nazývá číselná realizace náhodné veličiny X příslušná možnému výsledku ω. Obor hodnot náhodné veličiny X značíme M . 2 zachovávající konstantní vzdálenost 23 1.4 ZÁKLADY STATISTIKY Definice 1.39. Nechť (Ω, F, P ) je pravděpodobnostní prostor a nechť X je náhodná veličina vzhledem k F. Pak funkci FX (x) = P (X ≤ x) definovanou pro ∀x ∈ R nazýváme distribuční funkcí náhodné veličiny X. Definice 1.40. Náhodná veličina X je diskrétní a říkáme, že má diskrétní rozdělení pravděpodobnosti, jestliže nabývá nejvýše spočetně mnoha hodnot x. Její pravděpodobnostní funkce je posloupnost ∀x : p(x) = P (X = x) > 0. Definice 1.41. Nechť X je náhodná veličina na pravděpodobnostním prostoru (Ω, F, P ) s distribuční funkcí FX . Pak střední hodnotou náhodné veličiny X je Z ∞ x dF (x), E(X) = −∞ pokud tento integrál existuje a je konečný. Není-li integrál konečný nebo neexistuje, říkáme že střední hodnota E(X) neexistuje. Poznámka 1.42. Střední hodnota charakterizuje polohu náhodné veličiny X na číselné ose (těžiště). Poznámka 1.43. Náhodná veličina X −E(X) se nazývá centralizovaná náhodná veličina. Poznámka 1.44. Je-li X diskrétní náhodná veličina s pravděpodobnostní funkcí p(x), P pak E(X) = x∈M xp(x). Definice 1.45. Nechť X je náhodná veličina na pravděpodobnostním prostoru (Ω, F, P ). Rozptyl náhodné veličiny X je D(X) = E[X − E(X)]2 za předpokladu, že střední hodnota E(X) existuje. Druhá odmocnina z rozptylu se nazývá směrodatná odchylka náhodné veličiny X. Poznámka 1.46. Rozptyl charakterizuje variabilitu číselných realizací náhodné veličiny X kolem její střední střední hodnoty s přihlédnutím k pravděpodobnostem. Poznámka 1.47. Náhodná veličina X−E(X) p D(X) se nazývá standardizovaná náhodná veličina. Poznámka 1.48. Je-li X diskrétní náhodná veličina s pravděpodobnostní funkcí p(x), P pak D(X) = x∈M (X − E(X))2 p(x). Definice 1.49. Nechť X je náhodná veličina na pravděpodobnostním prostoru (Ω, F, P ). Číslo E[(X − c)r ] se nazývá r-tý moment náhodné veličiny X. • Je-li c = 0, mluvíme o obecném momentu µ′r . • Je-li c = E(X), mluvíme o centrálním momentu µr . 24 1 MATEMATICKÝ APARÁT Definice 1.50. Nechť X je náhodná veličina na pravděpodobnostním prostoru (Ω, F, P ). Číslo E[X − E(X)]3 A3 = p 3 D(X) se nazývá šikmost a číslo se nazývá špičatost. E[X − E(X)]4 A4 = p 4 D(X) Definice 1.51. Nechť X je náhodná veličina na pravděpodobnostním prostoru (Ω, F, P ) a FX její distribuční funkce. Pak funkci F −1 (u) = min{x : F (x) ≥ u}, 0 < u < 1 nazýváme kvantilovou funkcí a její hodnoty kvantily. Poznámka 1.52. x0,5 = F −1 (0, 5) x0,25 = F −1 (0, 25) x0,75 = F −1 (0, 75) F −1 (0, 1), . . . , F −1 (0, 9) F −1 (0, 01), . . . , F −1 (0, 99) F −1 (0, 75) − F −1 (0, 25) F −1 (0, 9) − F −1 (0, 1) medián dolní kvartil horní kvartil decily percentily mezikvartilové rozpětí mezidecilové rozpětí 25 2 Zpracování obrazové informace 2.1 Obraz a jeho vlastnosti V této kapitole si popíšeme reprezentaci obrazu v počítači a jeho základní vlastnosti. Informace jsme čerpali z následujících publikací [6] a [8]. 2.1.1 Obrazová matice Obrazovou funkcí nazveme spojitou funkci f (x, y), kde x, y ∈ R jsou souřadnice v prostoru a funkční hodnota představuje hodnotu např. intenzity světla, jasu, teploty, záření barvy atd. Digitalizaci obrazové funkce lze chápat jako proces, kdy její hodnoty převedeme do dvojrozměrné obrazové matice. Obrazovou matici o rozměrech m × n značíme Im×n . Jeden prvek obrazové matice se nazývá obrazový element nebo pixel. Pixely mají nejčastěji tvar čtverce nebo obdélníku a poloha pixelu je určena sloupcovým indexem i a řádkovým indexem j, viz Obrázek 2.1. Pixel P o souřadnicích [i, j] obrazové matice Im×n , kde 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n − 1 budeme značit jako P[i, j]. 0 i m−1 x j n−1 y Obrázek 2.1: Obrazová matice Definice 2.1. Nechť Im×n = (P[i, j]) je obrazová matice a r > 0 konstanta. Pak množinu p O = {P[k, l] : (k − i)2 + (l − j)2 ≤ r} nazýváme kruhové okolí pixelu P[i, j] a píšeme O◦P (i, j, r) Definice 2.2. Nechť Im×n = (P[i, j]) je obrazová matice a r > 0 konstanta. Pak množinu O = {P[k, l] : k, l ∈ hi − r, i + ri} nazýváme čtvercové okolí pixelu P[i, j] a píšeme OP (i, j, r) Poznámka 2.3. Kruhové okolí lze lépe aproximovat pomocí hexagonálního uspořádání pixelů, které se používá pro složitější zpracování obrazových informací. 26 2 ZPRACOVÁNÍ OBRAZOVÉ INFORMACE 2.1.2 Atributy pixelu Obecně může pixel P nabývat n-tice hodnot. U barevného obrazu nejčastěji nabývá trojice hodnot: intenzity červené, zelené a modré složky světla. Z těchto hodnot lze určit další vlastnosti pixelu, které budeme nazývat atributy. Rozlišujeme dva základní typy: • vlastní atributy - určují se ze samotného pixelu, • nevlastní atributy - určují se pomocí nějakého okolí daného pixelu. Vlastní atributy pixelu Budeme uvažovat barevný obraz, tedy jeden pixel bude reprezentován třemi hodnotami a to intenzitami jasu červené barvy R, zelené G a modré B, kde R, G, B ∈ h0, Di a D je maximální hodnota pro daný dynamický rozsah1 obrazu. Pro 8-bitový obraz je D = 255 a pro 16-bitový je D = 65535. Základní vlastní atributy: 1. intenzity složek červené, zelené a modré: R, G, B 2. jas pixelu J: J= R+G+B , J ∈ h0, Di 3 3. hustota pixelu d: d= J , d ∈ h0, 1i D 4. saturace barvy S: S =1− min{R, G, B} , max{R, G, B} > 0, S ∈ h0, 1i max{R, G, B} 5. světlost pixelu L: L= max{R, G, B} + min{R, G, B} , L ∈ h0, Di 2 6. tón barvy H: Hodnota H udává tzv. úhel barvy. Pro čistě červenou barvu H = 0, čistě zelenou H = 32 π a čistě modrou H = 43 π. Vlastní výpočet je následující: max = max{R, G, B} min = min{R, G, B} 1 dynamický rozsah = poměr mezi tmavými a světlými oblastmi 27 2.1 OBRAZ A JEHO VLASTNOSTI π G−B , 3 max − min π G−B , = 2π + 3 max − min 2π π B − R = + , 3 3 max − min 4π π R − G = + , 3 3 max − min není definované, H= max = R ∧ G ≥ B H max = R ∧ G < B H H H max = G max = B max = 0. Obvykle se místo tónu barvy mluví o barvě. Poznámka 2.4. Černobílý obraz lze chápat jako obrazovou matici, která má pixely dané pouze jednou jasovou hodnotou. Často se mluví o obrazu v odstínech šedi. Poznámka 2.5. Budeme-li mít pouze obraz v odstínech šedé, pak R = G = B = L, S = 0 a H není definováno. Bude znám pouze jeden atribut a to světlost L. Je-li L = 0 jedná se o pixel černé barvy a pro L = D má pixel barvu bílou. Nevlastní atributy pixelu Tyto atributy jsou závislé především na vlastních atributech okolních pixelů a také na velikosti i tvaru uvažovaného okolí. Základní nevlastní atributy: 1. střední hodnota: EP (i, j) = n 1 X Pk , n k=1 kde Pk jsou pixely z okolí OP a n je počet pixelů daného okolí 2. rozptyl hodnot: DP (i, j) = n 1 X [Pk − EP (i, j)]2 , n k=1 kde Pk jsou pixely z okolí OP a n je počet pixelů daného okolí 3. gradient: GradP (i, j) = p (P[i + 1, j] − P[i, j])2 + (P[i, j + 1] − P[i, j])2 , z matematického hlediska se jedná o velikost gradientu, určeného pomocí první dopředné diference (1.5). Poznámka 2.6. Pokud pro výpočet gradientu GradP (i, j) použijeme první centrální diferenci (1.7), dostaneme: s 2  2 P[i + 1, j] − P[i − 1, j] P[i, j + 1] − P[i, j − 1] GradP (i, j) = + . (2.1) 2 2 28 2 ZPRACOVÁNÍ OBRAZOVÉ INFORMACE Nesprávná volba diference může vést ke ztrátě informace daného pixelu, jak je ukázáno na Obrázku 2.2, kde pomocí vzorce (2.1) dostáváme stejné hodnoty gradientu pixelů P[i, j] a P[i, k], přitom hodnoty pixelů jsou odlišné. 0 x i j k y Obrázek 2.2: Obrazová matice nevhodného použití první centrální diference 2.2 Histogram Definice 2.7. Jako histogram označíme funkci N četnosti výskytu určité úrovně jasu u, tedy N = N (u). Histogram ukazuje, jak je využit dynamický rozsah a zda jsou všechny úrovně obsazeny se stejnou četností. V případě nesprávné expozice se vrchol histogramu výrazně posouvá ze středu dynamického rozsahu směrem k bílému nebo černému okraji. 104 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 0 (a) Černobílý snímek 50 100 150 200 250 (b) Histogram Obrázek 2.3: Histogram černobílého snímku 29 2.3 OBRAZOVÝ ŠUM 2.3 Obrazový šum Jedná se o nežádoucí vedlejší produkt zachycení obrazu, který zakrývá důležité obrazové informace. Šum obrazu se může pohybovat od téměř nepostřehnutelných skvrn na digitální fotografii, až po téměř zcela zašumělé optické nebo radioastronomické snímky. Šum především vzniká jako důsledek některých jevů, působících při vzniku obrazu, např. různá elektromagnetická záření nebo teplota polovodičových součástek. Rozlišujeme několik základních typů šumu, které jsou více popsaný v [10]. Aditivní šum Jedná se o šum, který je přidáván k ostatním šumům, které by mohly být vlastní informačnímu systému. Základním modelem je Gaussovský šum, který vzniká během pořizování snímků a je způsoben primárně tepelným šumem (Johnson-Nyquist noise). Tento druh šumu je nezávislý na signálu a lze ho vhodnými algoritmy potlačit. Multiplikativní šum Jedná se o nechtěný náhodný signál, který se během zachycení, přenosu nebo jiného zpracování množí na nějaký relevantní signál. Příkladem multiplikativního šumu ovlivňující digitální fotografii jsou vlastní stíny způsobené zvlněním na povrchu zobrazovaných objektů, stíny vrhané složitými objekty nebo tmavé skvrny způsobené prachem v objektivu. Impulzní šum Pro tento typ šumu se také používá označení sůl a pepř (salt & pepper). Název je odvozen od jeho vzhledu v obraze, kde jsou výpadky signálu reprezentovány tmavými pixely a pixely s maximální saturací se jeví jako bílé. Může být zapříčiněn vadou snímacího prvku (vadný pixel na snímači fotoaparátu) nebo velkou vzdáleností mezi snímacím a zobrazovacím zařízením. Lze jej efektivně odstranit pomocí odčítání tmavých snímků nebo pomocí různých filtrů. 2.4 Zmenšení snímku Definice 2.8. Celočíselné dělení přirozených čísel x a y je   x , z = max0 n : n ≤ y n∈N kde z ∈ N0 a x, y ∈ N. Budeme značit z = x div y. Poznámka 2.9. Výsledek celočíselného dělení je výsledek po dělení bez zaokrouhlení s vypuštěním zlomku. Definice 2.10. Zmenšenou obrazovou maticí Lp×q obrazové matice Im×n , kde p = m div r a q = n div r budeme rozumět matici složenou z pixelů r−1 r−1 X 1X P[kr + s, lr + t], R[k, l] = 2 r s=0 t=0 kde P[i, j] jsou pixely obrazové matice Im×n , r je koeficient zmenšení, k = 0, . . . , p a l = 0, . . . , q. 30 3 PROCES ZAOSTŘENÍ OBJEKTIVU 3 Proces zaostření objektivu 3.1 Použitý software Pro zpracování dat jsme zvolili software MATLAB (matrix laboratory). Jedná se o programové prostředí a skriptovací programovací jazyk čtvrté generace od společnosti MathWorks. Je dostupný pro operační systémy Linux, Windows a Mac OS X. MATLAB umožňuje počítání s maticemi, vykreslování 2D a 3D grafů, počítačovou simulaci, analýzu a prezentaci dat i vytváření aplikací včetně uživatelského rozhraní. Lze jej rozšířit o spoustu aplikačních knihoven (toolboxů) z nejrůznějších oblastí, jakými jsou např. zpracování obrazu a videa, finanční analýza a modelování, matematické výpočty, statistika a pravděpodobnost, zpracování signálu a mnoho dalších. Uživatel si také může vytvořit své vlastní funkce. Více informací lze nalézt v [9]. 3.2 Testovací snímky Jako testovací snímky byly použity černobílé fotografie Slunce a přilehlého okolí. Jednalo se o 16-bitové snímky formátu TIF (Tagged Image File). Při pořizování fotografií byly použity dva zrcadlové objektivy Rubinar 10/1000 a Mirror 8/500. Také byla použita kamera ASI1600MM Pro s 12-bitovým převodníkem. Pomocí krokového motoru jsme otáčeli zaostřovacím kroužkem a měnili pozici roviny ostrosti. V případě, kdy jsou rovina ostrosti a rovina chipu splývající, je snímek zaostřený, viz Obrázek 3.1(a). Nejsou-li roviny totožné, tak získáme snímek rozostřený, viz Obrázek 3.1(b). Testovací snímky byly uspořádány do sérií S k , kde k je označení série, které vznikaly následovně. Pro každou pozici krokového motoru byl pořízen jeden snímek I. Takto jsme získali n snímků, které tvořily jednu sérii Snk . V následujících kapitolách budeme různé postupy a metody ukazovat na sériích, které 1 2 3 lze nalézt v příloze pod názvy adresářů serie1 (S18 ), serie2_ufo (S21 ) a serie3_sum (S21 ). (a) Zaostřený snímek (b) Rozostřený snímek Obrázek 3.1: Ukázka testovacích snímků 31 3.3 DETEKCE HRANY 3.3 Detekce hrany K detekování hrany ve snímku byl použit filtr typu absolutní hodnota gradientu. K výpočtu gradientu jednotlivých pixelů byl použit vzorec (2.1). Vzhledem k velkému dynamickému rozsahu testovacích snímků, díky kterému absolutní hodnoty gradientu byly 1 . Dá se v řádech tisíců až desetitisíců, jsme hodnoty gradientů násobili koeficientem 1000 předpokládat, že snímek s maximální ostrostí bude mít také hodnotu gradientu maximální na rozhraní světlé a tmavé části obrazu. V prvním kroku jsme využili filtr typu absolutní hodnota gradientu pro detekci hrany objektu. Pro určení, které pixely tvoří hranu, jsme zavedli prahovou hodnotu T . Vypočítali jsme ji následovně: T = max{GradP (i, j)} , i = 1, . . . , m − 1; j = 1, . . . , n − 1; c kde m je počet sloupců obrazové matice, n je počet řádků obrazové matice a c je vhodná konstanta. V našem případě jsme zvolili c = 2. Na základě prahové hodnoty T jsme udělali segmentaci obrazu. Pixely, které byly označeny, že patří do hrany jsou na Obrázcích 3.2(c), 3.2(f) zobrazeny bílou barvou a ty co tam nepatří jsou černě. Z Obrázků 3.2 plyne, že v případě přibližování roviny ostrosti a roviny chipu dochází k zaostřování obrazu a detekovaná hrana se bude zužovat a zároveň se bude zvyšovat hodnota gradientu. (a) Rozostřená hrana (b) Velikosti gradientů pixelů (a) (c) Pixely tvořící hranu (a) (d) Zaostřená hrana (e) Velikosti gradientů pixelů (d) (f) Pixely tvořící hranu (d) Obrázek 3.2: Rozdíl v počtu pixelů hrany 32 3 PROCES ZAOSTŘENÍ OBJEKTIVU Abychom mohli pracovat s hranovými pixely, tak musíme najít nějaký vhodný koeficient, který popíše všechny pixely tvořící hranu. Tento koeficient ostrosti Ga jsme určili jako aritmetický průměr pixelů tvořící hranu objektu ve snímku. Opět bude platit, čím větší Ga , tím užší detekovaná hrana. Algoritmus detekce hrany 1. G matice gradientů obrazu gmax maximální prvek matice G p počet pixelů tvořící hranu s součet hodnot gradientů pixelů tvořící hranu n počet řádků obrazové matice m počet sloupců obrazové matice c konstanta 2. inicializace proměnných p=0 s=0 gmax 3. T = c 4. for i := 0 to m − 1 do 5. for j := 0 to n − 1 do 6. if G(i, j) ≥ T do 7. s = s + G(i, j) 8. p=p+1 end 9. 10. end 11. end 12. Ga = s/p Výše uvedený algoritmus jsme aplikovali na všechny snímky v sérii. Získané hodnoty Ga(i) , kde i je pořadí snímku v sérii, jsme vykreslili do grafu, viz Obrázek 3.3. Z grafu je patrné, 1 že nejlépe zaostřený snímek S18 je na 9. pozici. 33 3.4 OPTIMÁLNÍ POLOHA ZAOSTŘOVACÍHO KROUŽKU 3 koeficient ostrosti 2.5 2 1.5 1 0.5 0 0 2 4 6 8 10 12 14 16 18 1 Obrázek 3.3: Koeficienty ostrosti Ga(i) snímků S18 3.4 Optimální poloha zaostřovacího kroužku Při zaostřování téměř nikdy nenajdeme takovou polohu zaostřovacího kroužku, při které by vznikl nejlepší možný snímek. Můžeme ale využít poznatků z předchozí kapitoly 3.3, ve které jsme zjistili, který snímek v sérii je nejlépe zaostřený. Optimální zaostření nemusí odpovídat pozicím, při kterých byly pořízeny testovací snímky. Z tohoto důvodu je žádoucí jednotlivá data aproximovat polynomem vhodného stupně a následně najít optimální pozici, která je bodem maxima regresní funkce. K aproximaci dat jsme využili metodu nejmenších čtverců popsanou v kapitole 1.3.3, pomocí které jsme hodnoty na Obrázku 3.3 proložili polynomem. Při prokládání dat polynomem vysokého stupně chyba aproximace neomezeně roste, proto je potřeba zvolit vhodné kritérium pro určení stupně polynomu. Jelikož nás zajímá pouze okolí nejlépe zaostřeného snímku v sérii, tak můžeme měření s nižším koeficientem ostrosti odstranit. Zda měření zahrnout do aproximace, jsme rozhodli pomocí hranice τ , kterou jsme učili následovně:   1 τ= max {Ga(i) } − min {Ga(i) } + min {Ga(i) }, (3.1) 1≤i≤n 1≤i≤n c 1≤i≤n kde i je pořadí snímku v sérii o n snímcích a c je vhodná konstanta. V naše případě jsme zvolili c = 3. Zanedbali jsme tedy body, které leží v dolní třetině koeficientu ostrosti. Vycházeli jsme z pozice předpokládané maximální ostrosti obrazu, tedy pozice maximálního koeficientu ostrosti a postupně jsme rozšiřovali okolí do té doby, než jsme narazili na koeficient ostrosti, který byl menší jak stanovená hranice τ. Takto jsme postupně zvětšovali okolí na levou a pravou od referenčního bodu a získali tak posloupnost bodů seřazenou podle pořadí snímků v sérii, kterou jsme následně proložili polynomem. Pořadí snímku, jehož hodnota je prvním členem posloupnosti, označme xl a pořadí snímku, jehož hodnota je posledním členem posloupnosti, označme xp . Ostatní body jsme z aproximace vyloučil, jak je ukázáno na Obrázku 3.4. Stupeň aproximačního polynomu s jsme určili následovně: s = (xp − xl + 1) div 2. 34 3 PROCES ZAOSTŘENÍ OBJEKTIVU 1 Na Obrázku 3.5 můžeme vidět výslednou aproximaci dat S18 . 3 koeficient ostrosti 2.5 2 1.5 1 body aproximace 0.5 hranice 0 0 2 4 6 8 10 12 14 16 18 1 Obrázek 3.4: Body aproximace S18 3 koeficient ostrosti 2.5 2 1.5 1 body aproximace 0.5 hranice 0 0 2 4 6 8 10 12 14 16 18 1 Obrázek 3.5: Aproximační polynom S18 stupně s = 2 Aproximace by mohla selhat v případě, kdy by některý snímek ze série obsahoval výraznou změnu oproti ostatním snímkům. Tuto změnu označme jako UFO. Jedná se v podstatě o impulzní šum, který je popsán v kapitole 2.3. Pokud by změna byla u dobře zaostřených snímků, tak bychom rozdíl téměř nepoznali, ale v případě změny u rozostřených snímků by mohlo dojít k posunu maximálního koeficientu ostrosti jako na Obrázku 3.6(b). V takovém případě musíme vzorec (3.1) upravit a místo max1≤i≤n {Ga(i) } vznít hodnotu koeficientu ostrosti snímku, který předpokládáme, že je nejlépe zaostřený v dané sérii. Pozice tohoto snímku tedy bude referenční bodem při hledání aproximačních bodů. Pro data na Obrázku 3.6(b) by se jednalo o 11. snímek. 35 3.4 OPTIMÁLNÍ POLOHA ZAOSTŘOVACÍHO KROUŽKU 6 5 koeficient ostrosti hranice 4 3 2 1 0 0 (a) Snímek obsahující UFO 2 4 6 8 10 12 14 16 18 20 2 (b) Koeficienty ostrosti Ga(i) snímků S21 Obrázek 3.6: Změna v jednom snímku série Pro zjištění optimální polohy zaostřovacího kroužku musíme najít maximum aproximačního polynomu. Úlohu hledání maxima si můžeme převést na úlohu hledání stacionárního bodu aproximačního polynomu pomocí Newtonovy metody, viz kapitola 1.3.2. Jelikož známe předpis aproximačního polynomu, můžeme jednoduše vypočítat jeho derivaci. Abychom mohli využít Newtonovu metodu, museli jsme si zvolit vhodný startovací bod, který jsme určili následovně: x0 = xl + xp , 2 kde xl je levý aproximační bod a xp je pravý aproximační bod. Pomocí Newtonovy metody a zvoleného startovacího bodu x0 jsme nalezli stacionární bod aproximačního polynomu. Tento bod odpovídá pozici maximální hodnoty koeficientu ostrosti, což můžeme vidět na Obrázku 3.7 a také nám tato pozice určuje polohu krokového motoru. 4 3.5 deriavce polynomu pozice maximální hodnoty koeficientu ostrosti 3 koeficient ostrosti 2.5 2 1.5 1 0.5 0 -0.5 -1 0 2 4 6 8 10 12 14 16 18 1 Obrázek 3.7: Pozice maximální hodnoty koeficientu ostrosti S18 36 3 PROCES ZAOSTŘENÍ OBJEKTIVU 3.5 Optimální zmenšení snímku pro snížení šumu Jsou-li snímky znehodnocené adaptivním šumem, který je popsán v kapitole 2.3, tak algoritmus pro detekci hrany z kapitoly 3.3 selhává. Vysoká intenzita šumu způsobuje nárůst gradientu pro všechny pixely v obraze. Tento aditivní šum nám znemožňuje rozlišit zaostřený nebo rozostřený obraz. Tuhle situaci lze vidět v následujícím grafu na Obrázku 3 3.8, ze kterého nedokážeme určit nejlépe zaostřený snímek série S21 . 3.5 3 koeficient ostrosti 2.5 2 1.5 1 0.5 0 0 2 4 6 8 10 12 14 16 18 20 3 Obrázek 3.8: Koeficienty ostrosti Ga(i) zašumělých snímků S21 Šum lze snížit průměrováním více pozorování nebo nemáme-li k dispozici více pozorování, tak můžeme vzít 4 pixely a jejich hodnoty zprůměrovat. Jedná se o zmenšování snímků, které je popsané v kapitole 2.4. Čím větší zmenšení, tím se více potlačí šum. Koeficienty ostrosti při různém koeficientu zmenšení budeme značit Gra(i) , kde i je pořadí snímku v sérii a r je koeficient zmenšení. V grafech na Obrázku 3.9 lze vidět, že již při použití koeficientu zmenšení 2 u všech snímků v sérii dokážeme rozhodnout o potenciální poloze zaostřovacího kroužku. Algoritmus detekce hrany se zmenšováním 1. I snímek r koeficient zmenšení 2. for r := 1 to počet zmenšení do 3. zmenšení snímku I na snímek L s koeficientem zmenšení r 4. algoritmus detekce hrany pro snímek L 5. Gra = s/p 6. end 37 7 7 6 6 5 5 koeficient ostrosti koeficient ostrosti 3.5 OPTIMÁLNÍ ZMENŠENÍ SNÍMKU PRO SNÍŽENÍ ŠUMU 4 3 3 2 2 1 1 0 0 0 2 4 6 8 10 12 14 16 18 20 0 7 7 6 6 5 5 koeficient ostrosti koeficient ostrosti 4 4 3 4 6 8 10 12 14 16 18 20 4 3 2 2 1 1 0 2 0 0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20 3 Obrázek 3.9: Koeficienty ostrosti Gra(i) při zmenšování snímků S21 Vykreslíme-li si všechny koeficienty ostrosti jednotlivých snímků v sérii pro různé koeficienty zmenšení do jednoho grafu jako na Obrázku 3.10, můžeme vidět, že při zmenšení dochází k většímu rozdílu mezi maximální a minimální hodnotou koeficientů ostrosti příslušných snímků. Při vyšším koeficientu zmenšení se tento rozdíl již nezvyšuje, ale vrchol se začíná rozšiřovat. Na jednotlivé hodnoty koeficientů ostrosti se můžeme dívat jako na statistická data, pomocí kterých jsme spočítali koeficienty špičatosti A4 pro jednotlivé koeficienty zmenšení r. Předpokládáme, že nejvhodnější koeficient zmenšení bude mít největší špičatost. Pro data z Obrázku 3.10 můžeme vidět hodnoty koeficientů špičatosti v Tabulce 3.1. Podle uvedeného předpokladu jsme zjistili, že nejvhodnější koeficient zmenšení je r = 1, tedy původní snímky, u kterých ale nedokážeme určit, zda jsou zaostřené nebo rozostřené. r A4 1 2 3 2,0943 1,8929 1,8609 4 5 6 7 1,7522 1,6746 1,6371 1,637 Tabulka 3.1: Koeficienty špičatosti A4 pro data z Obrázku 3.10 38 8 r=1 r=2 r=3 r=4 r=5 r=6 r=7 7 koeficient ostrosti 6 5 4 3 2 1 0 0 2 4 6 8 10 12 14 16 18 20 3 Obrázek 3.10: Koeficienty ostrosti Gra(i) snímků S21 pro různé koeficienty zmenšení r Z tohoto důvodu jsme museli zavést míru vhodnosti koeficientu zmenšení µ. K tomu nám postačil rozdíl maximální a minimální hodnoty koeficientu ostrosti pro jednotlivé koeficienty zmenšení, kterým jsme příslušné koeficienty špičatosti vynásobili. Pokud by jeden snímek ze série obsahoval výraznou změnu v obraze jako na Obrázku 3.6, došlo by k nepříznivému ovlivnění µ. Abychom odstranili vychýlené hodnoty, tak jsme místo rozdílu maximální a minimální hodnoty koeficientu ostrosti použili mezidecilové rozpětí 1.52 z daných koeficientů ostrosti pro příslušný koeficient zmenšení a touto hodnotou vynásobili koeficient špičatosti. Koeficienty míry vhodnosti zmenšení pro data z Obrázku 3.10 nalezneme v Tabulce 3.2. Z tabulky je patrné, že pro naše data je nejvhodnější koeficient zmenšení r = 4. r µ 1 2 3 0,6376 4,9645 6,3118 4 5 6 7 6,6506 6,6305 6,5111 6.4578 Tabulka 3.2: Koeficienty míry vhodnosti zmenšení µ pro data z Obrázku 3.10 39 Závěr Téma bakalářské práce vychází z reálné problematiky zaostření objektivu při expedicích za úplným zatměním Slunce. Práce obsahuje matematický aparát potřebný k detekci hrany pozorovaného objektu v obraze, která slouží pro výpočet míry ostrosti jednotlivých snímků. Dále byly popsány numerické metody pro zjištění optimální polohy zaostřovacího kroužku, využívající zpracování obrazové informace. Byla vytvořena jednoúčelová aplikace s použitím softwaru MATLAB pro nalezení nejvhodnější polohy zaostřovacího kroužku a určení optimálního koeficientu zmenšení pro redukci aditivního šumu v obraze. Vytvořená aplikace analyzuje 16-bitové černobílé snímky Slunce uspořádané v sérii s rozdílnou polohou roviny ostrosti. Na základě této série aplikace určí pozici optimální polohy zaostřovacího kroužku. K tomuto účelu byla použita metoda nejmenších čtverců a Newtona metoda pro nalezení stacionárního bodu. Ve snímcích obsahující velkou intenzitu aditivního šumu bylo potřeba tento šum potlačit. Pro potlačení aditivního šumu byla zvolena metoda využívající zmenšování snímků. Při použití velkého přiblížení pozorovaného objektu se zvyšují projevy turbulence atmosféry, které v reálném čase geometricky deformují obraz. Toto znemožňuje pozorovateli stanovit optimální polohu zaostřovacího kroužku. Vyvinutá metoda určení optimální polohy zaostřovacího kroužku nám tento vliv výrazně potlačuje. 40 Literatura [1] ČERMÁK, Libor a Rudolf HLAVIČKA. Numerické metody. Brno: Akademické nakladatelství CERM, 2005. ISBN 80-214-3071-0. [2] DVOŘÁKOVÁ, Ľubomíra. Lineární algebra 1. V Praze: České vysoké učení technické, 2013, 128 s. ISBN 978-80-01-05346-1. [3] JANYŠKA, Josef. Analytická geometrie [online]. Brno, 2020 [cit. 2021-02-16]. Dostupné z: https://www.math.muni.cz/ janyska/AFPR-2020.pdf [4] KARÁSEK, Jiří a Ladislav SKULA. Lineární algebra: teoretická část. Brno: Akademické nakladatelství CERM, 2005. ISBN 80-214-3100-8. [5] KARPÍŠEK, Zdeněk. Matematika IV: statistika a pravděpodobnost. Vyd. 2., dopl. Brno: Akademické nakladatelství CERM, 2003. ISBN 80-214-2522-9. [6] KLÍMA, Miloš. Zpracování obrazové informace. V Praze: České vysoké učení technické, 1996, 177 s. ISBN 80-010-1436-3. [7] NECHVÁTAL, Luděk. Ústav matematiky. MATEMATIKA online: Matematické inženýrství: Matematická analýza II [online]. Brno: Ústav matematiky FSI VUT, 2005 [cit. 2021-02-28]. Dostupné z: https://math.fme.vutbr.cz [8] ŠTARHA, Pavel. Aplikace numerických metod zpracování obrazové informace. Brno, 2015. Habilitační práce. [9] MATLAB & SIMULINK. HUMUSOFT [online]. Praha: HUMUSOFT, 1991 [cit. 2021-4-19]. Dostupné z: https://www.humusoft.cz/matlab/details/ [10] Image noise. Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2021-5-21]. Dostupné z: https://en.wikipedia.org/wiki/Image_noise 41 Seznam použitých zkratek a symbolů u, v, w/o vektory/nulový vektor V = (V, +) vektorový (lineární) prostor R množina reálných čísel L(v1 , . . . , vn ) lineární kombinace vektorů v1 , . . . , vn B = hv1 , . . . , vn i báze vektorového prostoru dimV dimenze vektorového prostoru hu, vi skalární součin vektorů u a v kvk norma vektoru v An n-rozměrný afinní prostor R = hP, v1 , . . . , vn i afinní repér [a1 , . . . , an ] souřadnice bodu A (u1 , . . . , un ) souřadnice vektoru u En n-rozměrný euklidovský prostor f′ derivace funkce fx parciální derivace funkce podle proměnné x fy parciální derivace funkce podle proměnné y (Ω, F, P ) pravděpodobnostní prostor A3 koeficient šikmosti A4 koeficient špičatosti Im×n obrazová matice P[i, j] pixel o souřadnicích [i, j] GradP (i, j) velikost gradientu pixelu P[i, j] N přirozená čísla N0 přirozená čísla včetně nuly x div y celočíselné dělení přirozených čísel x, y r koeficient zmenšení 42 Snk k-tá série o n snímcích T prahová hodnota pro detekci hrany objektu Ga(i) koeficient míry ostrosti snímku i Gra(i) koeficient míry ostrosti snímku i pro koeficient zmenšení r τ hranice aproximačních bodů s stupeň aproximačního polynomu µ koeficient míry vhodnosti zmenšení UFO neidentifikovatelný létající předmět 43 Přílohy A Vývojový diagram výpočtu Start počet snímků n počet zmenšení z r = 1 do z určení optimálního zmenšení určení optimální polohy zaostřovacího kroužku j = 1 do n určení aproximačních bodů Konec načtení j-tého snímku metoda nejmenších čtverců zmenšení snímku s koeficientem zmenšení r určení maximální hodnoty gradientu snímku derivace aproximačního polynomu Newtonova metoda výpočet koeficientu ostrosti výpočet koeficientu špičatosti výpočet koeficientu míry vhodnosti zmenšení 44 B Testovací snímky a kódy v MATLABU BP.........................................................kořenový adresář přílohy TestovaciSnimky..............................testovací snímky použité v textu serie1..................................................nepoškozené snímky ASI16MM_20210306_101.tif ASI16MM_20210306_102.tif . . . ASI16MM_20210306_118.tif serie2_ufo..........................................snímky obsahující UFO ASI16MM_20210306_201.tif ASI16MM_20210306_202.tif . . . ASI16MM_20210306_221.tif serie3_sum.....................................snímky s adaptivním šumem ASI16MM_20210306_301.tif ASI16MM_20210306_302.tif . . . ASI16MM_20210306_321.tif Aplikace ......................................... aplikace se zdrojovým kódem Bakalarska_prace.m.........................................spouštěcí script Gradient.m .................................... funkce pro výpočet gradientu DetekceHrany.m .................................... funkce pro detekci hrany MetodaNejmensichCtvercu.m..............funkce pro nalezení nejlepší pozice OptimalniZmenseni.m..............funkce pro nalezení optimálního zmenšení 45