153YZOD Zpracování obrazových dat 2006 - 3. cvičení: Porovnání verzí

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání
Řádek 70: Řádek 70:
 
výsledek:''
 
výsledek:''
  
[[Soubor:ZOD-cv3-histogram-tm1_cast.png|frame|center|Obr č.3: Histogram prvního kanálu družicové scény LandSat-TM5 - vybraná část snímku]]"
+
[[Soubor:ZOD-cv3-histogram-tm1_cast.png|frame|center|Obr č.3: Histogram prvního kanálu družicové scény LandSat-TM5 - vybraná část snímku]]
  
 
V minulém kurzu jsme tutéž charakteristiku obrazu (tj. četnost DH) vyjádřili číselně, pouze
 
V minulém kurzu jsme tutéž charakteristiku obrazu (tj. četnost DH) vyjádřili číselně, pouze
 
pro osvěžení: vytiskneme celkový počet pixelů pro jednotlivé DH (pomocí systémové aplikace
 
pro osvěžení: vytiskneme celkový počet pixelů pro jednotlivé DH (pomocí systémové aplikace
<tt>awk</tt> omezíme výstup pouze na&nbsp;interval DH [55; 85]). Jako <u>ostřílení</u>
+
[http://www.gnu.org/software/gawk/gawk.html awk] omezíme výstup pouze na&nbsp;interval DH [55; 85]). Jako <u>ostřílení</u>
 
uživatelé dozajista víme jak na věc, pouze pro připomenutí:
 
uživatelé dozajista víme jak na věc, pouze pro připomenutí:
  
Řádek 112: Řádek 112:
 
  83 62548
 
  83 62548
 
  84 31241
 
  84 31241
 
----
 
  
 
Na&nbsp;následujícím obrázku jsou zobrazeny histogramy všech kanálů zkoumané družicové scény.
 
Na&nbsp;následujícím obrázku jsou zobrazeny histogramy všech kanálů zkoumané družicové scény.
Řádek 123: Řádek 121:
 
''Technická poznámka: Jak je vidno z&nbsp;výše uvedeného příkazu, na jeden řádek lze uvést hned několik příkazů oddělených středníkem.''
 
''Technická poznámka: Jak je vidno z&nbsp;výše uvedeného příkazu, na jeden řádek lze uvést hned několik příkazů oddělených středníkem.''
  
[[Soubor:ZOD-cv3-histogramy_tm_1.png|frame|center|Obr č.4: Histogramy jednotlivých kanálů družicové scény LandSat-TM5]]
+
[[Soubor:ZOD-cv3-histogramy_tm.png|frame|center|Obr č.4: Histogramy jednotlivých kanálů družicové scény LandSat-TM5]]
 
 
[[Soubor:ZOD-cv3-histogramy_tm_2.png|frame|center|Obr č.4: Histogramy jednotlivých kanálů družicové scény LandSat-TM5]]
 
  
 
== metoda hustotních řezů ==
 
== metoda hustotních řezů ==

Verze z 24. 11. 2005, 13:18

Metody zvýrazňování obrazu, histogram, barevné modely, syntézy

osnova

V první části tohoto kurzu budeme pracovat s tzv. histogramem obrazových dat, poté si představíme jednoduchou metodu zvýrazňování obrazu - hustotní řezy. Teoreticky budou popsány i dva modely barev - RGB a IHS, v praktické rovině budeme pracovat s tzv. barevnými syntézami.

seznam použitých příkazů

spekrální odrazivost v jednotlivých kanálech LandSat-TM5

V průběhu minulého kurzu jsme si osvojili proces manipulace s tabulkami barev (v odborné literatuře se často používá termín look-up tables - LUT). Pro družicové snímky používáme většinou vyrovnané (ekvalizované) odstíny šedi (grey.eq).

Rastrové buňky jednotlivých kanálů družicové scény obsahují tzv. digitální hodnoty (DH). Tyto hodnoty (již digitálně kódované) reprezentují v rámci daného spektrálního intervalu velikost skenerem zachyceného odraženého záření od zemského povrchu. Družicové snímky obsažené v lokaci sevcech (LandSat-TM5) jsou kódovány jako 8-bitová data (tzn. že mohou obsahovat až 256 různých odstínů - hodnoty v rozsahu [0; 255]). Níže uvedený obrázek ukazuje spektrální rozlišení jednotlivých kanálů družicové scény LandSat-TM5.

Obr č.1: Spekrální odrazivost v jednotlivých kanálech družicové scény LandSat-TM5 (převzato z GRASS příručky)

První tři kanály tak pokrývají viditelné spektrum, zbylé kanály potom infračervený obor. Šestý kanál je v tepelném spektru - je označován jako panchromatický a od ostatních kanálů se navíc liší i geometrickým rozlišením - 120 m. Na obrázku č.1 je navíc zobrazena křivka odrazivosti pro vodu, zelenou vegetaci a písčitou půdu. V pravé části obrázku je vidět dvoudimenzionální systém vytvořený třetím a čtvrtým kanálem družicové scény LandSat-TM5 (tzv. feature space) s viditelnými shluky pixelů - náznaky jednotlivých tříd.

histogram

Grafické znázornění (v podobě sloupcového grafu) četností jednotlivých DH poskytuje tzv. histogram. Na ose X jsou naneseny jednotlivé DH ([0; 255]), na ose Y pak četnost jejich výskytu. Zobrazíme si tedy zkušebně histogram prvního kanálu družicové scény LandSat-TM5. Otevřeme GRASS monitor a aplikujeme příkaz d.histogram (pokud již máme v GRASS monitoru zobrazena nějaká data, je nanejvýš vhodné, před zobrazením samotného histogramu jeho obsah vymazat - d.erase):

GRASS:~ > d.mon x0
#
#zobrazení histogramu
#
GRASS:~ > d.histogram tm1
Obr č.2: Histogram prvního kanálu družicové scény LandSat-TM5

Poznámka: Nikoho jistě nepřekvapí, že i tento modul respektuje nastavení aktivního regionu. Pokud nemáme nastaven aktivní region na celý družicový snímek, můžeme dostat například takovýto výsledek:

Obr č.3: Histogram prvního kanálu družicové scény LandSat-TM5 - vybraná část snímku

V minulém kurzu jsme tutéž charakteristiku obrazu (tj. četnost DH) vyjádřili číselně, pouze pro osvěžení: vytiskneme celkový počet pixelů pro jednotlivé DH (pomocí systémové aplikace awk omezíme výstup pouze na interval DH [55; 85]). Jako ostřílení uživatelé dozajista víme jak na věc, pouze pro připomenutí:

#vytisknout četnost DH pouze pro interval hodnot [55; 85]
#
GRASS:~ > r.stats tm1 -c | awk '{if ($1>55 && $1<85) print $1,$2}'


r.stats:  100%
56 6
57 84
58 1582
59 9348
60 17800
61 63277
62 113072
63 110607
64 174193
65 220580
66 281778
67 189538
68 156562
69 205687
70 201391
71 140880
72 104717
73 165492
74 196217
75 203551
76 134829
77 129954
78 143600
79 85170
80 59787
81 56945
82 67504
83 62548
84 31241

Na následujícím obrázku jsou zobrazeny histogramy všech kanálů zkoumané družicové scény. V rámci procvičení a zkoumání rozdělení četnosti DH v jednotlivých kanálech si zobrazte postupně histogramy vybraných snímků, např.:

GRASS:~ > d.erase; d.histogram tm2

Technická poznámka: Jak je vidno z výše uvedeného příkazu, na jeden řádek lze uvést hned několik příkazů oddělených středníkem.

Obr č.4: Histogramy jednotlivých kanálů družicové scény LandSat-TM5

metoda hustotních řezů

Jednou ze základních (velmi jednoduchých) metod zvýraznění obrazu je metoda hustotních řezů (ang. density slicing). V podstatě jde pouze o nastavení vhodné tabulky barev - jednotlivým DH jsou přiřazeny dané barevné hodnoty. Interval DH kanálu je rozdělen na tři podintervaly a mezní hodnoty takto vzniklých intervalů přiřazeny třem základním barvám - modré, zelené a červené.

Tuto metodu si demonstrujeme například na prvním kanálu družicové scény, nejprve zjistíme rozsah DH (např. pomocí modulu r.info):

#zjištění intervalu hodnot (pomocí aplikace grep vybereme pouze řádek obsahující slovo "Range")
#
GRASS:~ > r.info tm1 | grep Range
|   Range of data:    min =  0 max = 255                                     |

Tento interval tedy rozdělíme na tři podintervaly s následujícími mezními hodnotami: 85 a 170. Na základě tohoto rozdělení nastavíme příslušnou tabulku barev:

0 255 0 0
85 255 255 0
170 0 255 0
255 0 0 255

Poznámka: Místo RGB trojice můžeme použít názvy standardních barev GRASSu:

0 red
85 yellow
170 green
255 blue

Tuto tabulku můžete zadat ručně, či ji uložit do samostatného textové souboru (línější jedinci daný soubor pouze stáhnou na disk - tb1.txt) a nastavit tímto jednoduchým způsobem:

#nastavení tabulky barev uložené v textovém souboru
GRASS:~ > r.colors map=tm1 color=rules < tb1.txt

Zobrazíme-li znovu histogram tohoto snímku, dostaneme stejný sloupcový graf - pouze v odlišném barevném znázornění korespondujícím s nově nastavenou tabulkou barev - viz obr. č.5.

Obr č.5: Histogram prvního kanálu družicové scény LandSat-TM5 (vlastní tabulka barev)

Zobrazíme-li konečně daný snímek v GRASS monitoru, zjistíme, že jeho barevná interpretace není zrovna příliš "šťastná".

GRASS:~ > d.rast map=tm1

Poznámka: Z "výchovných" důvodů jsem tentokrát uvedl úplný název parametru - map. Většinou si z čiré lenosti příkazy zkracuji...

Obr č.6: První kanál družicové scény LandSat-TM5 s nastavenou tabulkou barev (tb1.txt)

Prostudujeme si blíže histogram snímku - četnosti jednotlivých DH a podle toho pozměníme naší tabulku barev, například takto (tb2.txt):

0 0 0 0
50 255 0 0
80 255 255 0
120 0 255 0
255 0 0 255

Tabulku nastavíme již známým způsobem a snímek (aktuální obsah GRASS monitoru) překreslíme:

GRASS:~ > r.colors map=tm1 color=rules < tb2.txt
GRASS:~ > d.redraw
Obr č.7: První kanál družicové scény LandSat-TM5 s nastavenou tabulkou barev (tb2.txt)

barevné modely RGB a IHS

A teď trochu teorie - popis barevných modelů RGBIHS. Podobně jako geometrická data má i prostor barev svůj souřadnicový systém. Model RGB má aditivní charakter, kdy ostatní barvy vznikají kombinací tří základních barev (červená, zelená a modrá). Druhý model IHS (HIS) má odlišnou podstatu, intenzita (intensity) odráží jas barvy, odstín (hue) koresponduje s dominantní vlnovou délkou, třetí složkou je potom sytost (saturation) barvy. Na obr. č.8 jsou zobrazeny oba výše zmíněné barevné modely.

Obr č.8: Barevné modely RGB a IHS

Pixel v prostoru barev RGB je tedy dán specifickou polohou uvnitř barevné krychle, podobně v případě modelu IHS uvnitř hexagonu.

GRASS umožňuje snadnou konverzi mezi těmito dvěma modely barev - jde o moduly i.his.rgb. To pouze na okraj, prakticky si je představíme v jednom z následujících kurzů.

barevné syntézy

Nyní si ukážeme praktický postup při zobrazování tzv. barevných syntéz - kompozitních snímků. Takový snímek vznikne přiřazením třech vybraných kanálů scény třem základním barvám modelu RGB - červené, zelené a modré (pracujeme-li s modelem RGB).

Zobrazíme tedy barevnou kompozici v tzv. skutečných barvách (první kanál přiřadíme modré ose, druhý zelené a konečně třetí kanál červené ose RGB krychle). Takto složený snímek zobrazíme dvakrát, v prvním případě nastavíme podkladovým snímkům tabulku barev grey, v druhém případě vhodnější grey.eq. Rozdíl je na první pohled zřetelný - viz obr. č.9 a obr. č.10.

#čert nikdy nespí...
#
GRASS:~ > g.region tm
#
#tabulka barev grey
#
GRASS:~ > r.colors tm1 col=grey
GRASS:~ > r.colors tm2 col=grey
GRASS:~ > r.colors tm3 col=grey

Jelikož se považujeme za pokročilé uživatele OS GNU/Linux, jsme neskutečně líní a chceme "ohromit" naše blízké okolí, nastavíme tabulku barev pro první tři kanály hromadně(!):

#jak jednoduché a průhledné;-)
#
GRASS:~ > for map in `g.mlist rast pat=tm*`;do echo r.colors map=$map color=grey;done | head -n3 | sh

A konečně zobrazíme danou barevnou syntézu v GRASS monitoru:

GRASS:~ > d.rgb blue=tm1 green=tm2 red=tm3

frame|center|Obr č.9: Barevná syntéza ve skutečných barvách - tabulka barev grey

Výsledek se nám příliš nelíbí - změníme tedy tabulku barev a kompozitní snímek překreslíme:

#tabulka barev grey.eq
#
GRASS:~ > r.colors tm1 col=grey.eq
GRASS:~ > r.colors tm2 col=grey.eq
GRASS:~ > r.colors tm3 col=grey.eq
#
#stačí překreslit obsah okna
#
GRASS:~ > d.redraw
Obr č.10: Barevná syntéza ve skutečných barvách - tabulka barev grey.eq

Na závěr si vyzkoušíme další kombinace - o nepravých (falešných) barvách hovoříme v případě, kdy složkami výsledné kompozice nejsou kanály z viditelného oboru světla.

Poznámka: Následující tabulka je převzata z dodatku GRASS příručky.

kombinace popis
123 ... barevný snímek ve skutečných barvách - jsou použity první tři kanály pokrývající interval viditelného světla - viz obr. č.10.
234 ... Citlivý na zelenou vegetaci (znázorněno červenou barvou), jehličnaté lesy jsou v tmavější odstínu než listnaté. Silnice a vodní plochy jsou dobře rozeznatelné - viz obr. č.11.
243 ... Zelená vegetace je zelená, ale jehličnany nejsou tak dobře patrné jako na syntéze 234.
247 ... Asi nejlepší kombinace pro určení typu lesa. Dobře použitelné pro mapování těžebních ploch a silnic.
345 ... Obsahuje hlavní obrazové kanály (VIS, NIR, SWIR). Zelená vegetace je znázorněna zeleně, SWIR ukazuje stres na vegetaci, silnice už jsou rozeznatelné hůře.
347 ... Podobně jako kombinace 345, ale hodí se lépe pro zobrazení požářišť.
354 ... Působí jako barevný infračervený obrázek - viz obr. č.12.
374 ... Podobně jako 354.
457 ... Ukazuje půdní druh (jílovitá, hlinitá, písčitá).
Obr č.11: Barevná syntéza v nepravých barvách - 234
Obr č.12: Barevná syntéza v nepravých barvách - 354