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