interaktivno prilagajanje barv v sliki z upoštevanjem ... · oko zazna. valovne dolžine vidne...
TRANSCRIPT
Rok Novak
INTERAKTIVNO PRILAGAJANJE BARV V SLIKI Z UPOŠTEVANJEM DODATNEGA
INFRARDEČEGA KANALA
Diplomsko delo
Maribor, september 2013
I
II
INTERAKTIVNO PRILAGAJANJE BARV V SLIKI Z UPOŠTEVANJEM DODATNEGA
INFRARDEČEGA KANALA
Diplomsko delo
Študent: Rok Novak
Študijski program: Visokošolski študijski program
Računalništvo in informacijske tehnologije
Mentor: doc. dr. David Podgorelec
III
IV
V
VI
ZAHVALA
Zahvaljujem se mentorju doc. dr. Davidu Podgorelcu za vodenje, pomoč in nasvete med nastajanjem te diplomske naloge. Posebna zahvala pa gre tudi mojim staršem za vso podporo, razumevanje, spodbujanje in pomoč v času študija.
VII
INTERAKTIVNO PRILAGAJANJE BARV V SLIKI Z UPOŠTEVANJEM DODATNEGA INFRARDEČEGA KANALA
Ključne besede: interpolacija, infrardeča slika, barvna slika, infrardeči kanal, prilagajanje
barv
UDK: 771.534.238:004.032.6(043.2)
Povzetek:
Cilj diplomskega dela je spoznati se s postopki za mešanje barvne in infrardeče slike ter
izdelati preprosto aplikacijo, s katero bo uporabnik lahko izboljšal osvetlitev na barvni
fotografiji s pomočjo infrardeče fotografije. Opisali bomo vpliv infrardeče svetlobe na
fotografije, postopke interpolacije in delovanje naše aplikacije, prav tako pa bomo opravili
analizo in predstavili rezultate.
VIII
INTERACTIVE IMAGE COLOUR ADJUSTMENT BY COMPOSING INFRARED CHANNEL
Key words: interpolation, infrared image, colour image, infrared channel, colour
adjustment
UDK: 771.534.238:004.032.6(043.2)
Abstract:
The goal of the bachelor's thesis is to explore different procedures for colour and infrared
image composition and to create a simple application allowing the user to produce a higher
quality of illumination in a digital color photograph. We also describe the effects of infrared
light on photographs, interpolation procedures and the inner operation of our application
with a detailed analysis and results.
IX
X
Kazalo vsebine
1. Uvod ......................................................................................................................... - 1 -
2. Elektromagnetno valovanje in barvni prostori ......................................................... - 2 -
2.1. Elektromagnetni spekter .................................................................................... - 3 -
2.2. Barvni prostor .................................................................................................... - 5 -
2.2.1. Barvni prostor RGB .................................................................................... - 6 -
2.2.2. Barvni prostor CMYK ................................................................................ - 7 -
2.2.3. Barvni prostor HSV .................................................................................... - 8 -
2.3. Infrardeči valovi in slike .................................................................................... - 9 -
2.4. Multispektralni in hiperspektralni posnetki ..................................................... - 13 -
3. Mešanje barvne in infrardeče slike ......................................................................... - 15 -
3.1. Motivacija ........................................................................................................ - 15 -
3.2. Znani interpolacijski postopki ......................................................................... - 15 -
4. Lastna aplikacija za mešanje barvne in infrardeče slike......................................... - 18 -
4.1. Uporabniški vmesnik ....................................................................................... - 18 -
4.2. Interpolacija ..................................................................................................... - 21 -
4.2.1. Opis postopka ........................................................................................... - 22 -
4.2.2. Uravnotežena maska ................................................................................. - 22 -
4.2.3. Valčna Haarova transformacija ................................................................ - 23 -
4.2.4. Združitev kontrasta in zaznanih robov ..................................................... - 26 -
4.3. Opis pomembnejših razredov in metod ........................................................... - 26 -
4.3.1. Razred WaveletTransform ........................................................................ - 27 -
4.3.2. Razred HSV .............................................................................................. - 28 -
4.3.3. Ostale pomembnejše metode .................................................................... - 29 -
4.4. Primerjava z že znanim postopkom ................................................................. - 31 -
5. Analiza rezultatov aplikacije .................................................................................. - 32 -
5.1. Primer poteka postopka ................................................................................... - 32 -
5.2. Predstavitev testne množice ............................................................................. - 34 -
5.3. Rezultati obdelave ............................................................................................ - 35 -
5.4. Predlogi za izboljšave ...................................................................................... - 38 -
6. Zaključek ................................................................................................................ - 39 -
7. Literatura ................................................................................................................ - 40 -
XI
Kazalo slik
Slika 2.1: Elektromagnetno polje (povzeto po [3]) .......................................................... - 2 -
Slika 2.2: Elektromagnetno valovanje (povzeto po [4] ) .................................................. - 4 -
Slika 2.3: Barvni prostor RGB [7] .................................................................................... - 6 -
Slika 2.4: Barvni prostor CMYK [8] ................................................................................ - 7 -
Slika 2.5: Barvni prostor HSV [10] .................................................................................. - 8 -
Slika 2.6: Navadna barvna fotografija [12] ...................................................................... - 9 -
Slika 2.7: Sivinska IR slika [12] ..................................................................................... - 10 -
Slika 2.8: Barvna IR slika [12] ....................................................................................... - 11 -
Slika 2.9: Termografski posnetek hiše [16] .................................................................... - 12 -
Slika 2.10: Plasti multispektralnega posnetka (povzeto po [17] ) .................................. - 13 -
Slika 2.11: Plasti hiperspektralnega posnetka [19] ......................................................... - 14 -
Slika 3.1: Potek postopka mešanja barvne in IR slike ( povzeto po [21]) ...................... - 16 -
Slika 4.1: Uporabniški vmesnik: osnovno okno ............................................................. - 18 -
Slika 4.2: Uporabniški vmesnik: Okno za prilagajanje barvne slike .............................. - 20 -
Slika 4.3: Uporabniški vmesnik: prilagajanje IR slike ................................................... - 21 -
Slika 4.4: Vhodna in izhodna slika Haarove transformacije .......................................... - 24 -
Slika 5.1: Osnovno okno po nalaganju barvne in IR slike ............................................. - 32 -
Slika 5.2: Osnovno okno po interpolaciji ....................................................................... - 33 -
Slika 5.3: Testni sliki 1 [28] ........................................................................................... - 34 -
Slika 5.4: Testni sliki 2 [21] ........................................................................................... - 34 -
Slika 5.5: Testni sliki 3 [29] ........................................................................................... - 35 -
Slika 5.6: Rezultati različnih nastavitev (testna slika 1) ................................................. - 36 -
Slika 5.7: Rezultati različnih nastavitev (testna slika 2) ................................................. - 36 -
Slika 5.8: Rezultati različnih nastavitev (testna slika 3) ................................................. - 37 -
XII
Kazalo tabel
Tabela 2.1: Vrednosti barvnih komponent v prostoru RGB za osnovne barve ................ - 6 -
Tabela 2.2: Vrednosti komponent v barvnem prostoru CMYK za osnovne barve .......... - 7 -
Tabela 2.3: Vrednosti komponent v prostoru HSV za osnovne barve ............................. - 8 -
Tabela 5.1: Primeri različnih nastavitev ......................................................................... - 35 -
Tabela 5.2: Časovne meritve .......................................................................................... - 37 -
Kazalo programske kode
Programska koda 1: Horizontalna zaznava robov s Haarovo transformacijo [24] ......... - 25 -
Programska koda 2: Inverzna Haarova transformacija - vodoravni robovi [24] ............ - 25 -
Programska koda 3: Združevanje dveh slik .................................................................... - 26 -
Programska koda 4: Funkcija changeZoom [26] ............................................................ - 29 -
Programska koda 5: Funkcija Naloži sliko ..................................................................... - 29 -
Programska koda 6: Funkcija Natisni sliko [27] ............................................................ - 30 -
Programska koda 7: Funkcija Shrani sliko ..................................................................... - 30 -
XIII
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 1 -
1. Uvod
Infrardeče (IR) fotografije nam omogočajo edinstven pogled na svet, ki ga opazujemo s
prostim očesom. Zanje je značilno, da nam v primerjavi z navadnimi fotografijami ponujajo
boljši kontrast, hkrati pa vsebujejo informacije, ki so komplementarne tistim v navadnih
fotografijah, saj zajemajo ljudem nevidni del elektromagnetnega spektra. IR fotografije se
uporabljajo za preiskave tal in rastlin, ocenjevanje kvalitete izdelkov v kmetijstvu, za
preučevanja v astronomiji, z njimi pa lahko tudi izboljšamo kontrast identične barvne
fotografije.
Predmet našega raziskovanja je izdelava namizne aplikacije, ki uporabniku omogoča, da s
pomočjo infrardeče fotografije izboljša svetlost na barvni fotografiji. Omogočeno mu je tudi
spreminjanje barvnih komponent na barvni fotografiji oziroma intenzivnosti sivin na
infrardeči fotografiji. Podatke, ki so pomembni za obdelavo fotografij, interaktivno vnese
uporabnik, prikažemo pa jih grafično znotraj uporabniškega vmesnika v obliki izhodne slike.
V uvodnem delu podrobneje predstavimo elektromagnetno valovanje in elektromagnetni
spekter ter opišemo nekatere v praksi najpogosteje uporabljene barvne prostore.
Predstavitev nadaljujemo z infrardečim spektrom in njegovim učinkom na digitalne
fotografije, ter s prikazom primerov različnih tipov fotografij.
Glavni namen je predstaviti lastno aplikacijo in probleme, s katerimi smo se morali soočiti,
ter programske rešitve, ki smo jih v aplikaciji uporabili. Tako bomo v naslednjih poglavjih
podrobno predstavili že obstoječe postopke izboljševanja barvne fotografije s pomočjo
infrardeče, samo aplikacijo in njeno delovanje, analizirali bomo nekaj testnih primerov ter
grafično predstavili rezultate različnih obdelav.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 2 -
2. Elektromagnetno valovanje in barvni prostori
Elektromagnetno valovanje podobno kot mehansko valovanje predstavlja enega izmed
najpomembnejših načinov, kako se energija širi in prenaša okrog nas. Energija, ki se
prenaša z valovanjem je shranjena tako v električno kot tudi magnetno polje, saj je
elektromagnetno valovanje enako valovanju teh dveh polj [1]. Ta vrsta valovanja lahko v
primerjavi z mehanskim valovanjem potuje ne le skozi zrak in trdne materiale, ampak tudi
skozi vakuum [2]. Elektromagnetni valovi so zgrajeni iz valovnih grebenov z določeno
amplitudo in valovnih dolin, kot prikazuje Slika 2.1.
Slika 2.1: Elektromagnetno polje (povzeto po [3])
Elektromagnetna energija je predstavljena:
z valovno dolžino, ki predstavlja razdaljo med dvema valovnima grebenoma,
s frekvenco, ki jo predstavimo kot število grebenov v časovni enoti in
z amplitudo, ki je enaka višini vsakega grebena.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 3 -
2.1. Elektromagnetni spekter
Elektromagnetna energija predstavlja zelo pomemben del naših življenj, čeprav se tega niti
ne zavedamo. Brez nje sveta, kot ga poznamo danes, ne bi bilo. To energijo uporabljamo
skoraj povsod, še pri tako preprostih opravilih, kot je gledanje televizije, priprava pokovke,
vklop radijskega sprejemnika, celo pri pošiljanju sporočila punci ali prijateljem.
Elektromagnetna energija potuje v elektromagnetnih valovih in se razteza skozi širok
spekter valovnih dolžin, vse od radijskih valov, ki predstavljajo najdaljše valovne dolžine pa
vse do najkrajših žarkov gama. V teoriji še zmeraj ostaja prepričanje, da je elektromagnetni
spekter neskončen in neprekinjen. Ta spekter je za človeško oko preširok, saj le-to zaznava
le določen del spektra, ki ga imenujemo vidni spekter ali svetloba. Celoten spekter je
razdeljen na sedem območij valovanja, določenih glede na valovno dolžino, kot prikazuje
Slika 2.2.
Območja elektromagnetnega spektra [2] so:
Radijski valovi - predstavljajo del elektromagnetnega spektra z najdaljšimi
valovnimi dolžinami. Le-te segajo od nekaj centimetrov pa vse do dolžin, ki
presegajo meje našega planeta. Prav zaradi tega se uporabljajo za razna
raziskovanja v vesolju, kjer uporabljajo radijske teleskope. Najpogostejši primer
uporabe je radijski sprejemnik, kateremu nastavimo valovno dolžino ali frekvenco in
lahko tako poslušamo glasbo, ki jo oddajajo radijske postaje. V ozadju naš
sprejemnik prejema elektromagnetne valove in jih pretvarja v mehanske vibracije, ki
nato proizvajajo zvok, ki ga slišimo.
Mikrovalovi - so del pasu radijskih valov, ki ima višje frekvence, vendar jih
obravnavamo kot ločeno skupino zaradi tehnologij, s katerimi dostopamo do njih.
Znanstveniki s pomočjo različnih valovnih dolžin mikrovalov pridobivajo različne
informacije. Srednje dolgi mikrovalovi prodirajo skozi oblake, padavine, prah in dim,
da razkrijejo Zemljino površino. Mikrovalovi se uporabljajo predvsem v
mikrovalovnih pečicah, kjer lahko segrejejo hrano, radarskih tehnikah, brezžičnih
komunikacijah (WLAN, Bluetooth, GSM), navigaciji (GPS) in tako naprej.
Infrardeči valovi - leta 1800 jih je odkril William Herschel, med tem ko je izvajal
eksperiment. Skušal je namreč izmeriti razliko v temperaturi med posameznimi
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 4 -
barvami v vidnem spektru. Opazil je, da za koncem območja rdeče barve obstaja še
toplejši del spektra. Beseda infra izhaja iz latinščine in pomeni pod. Rdeča je barva
vidnega spektra in tako lahko enostavno prevedemo, da se infrardeči del spektra
nahaja tik pod rdečim delom elektromagnetnega spektra. Infrardeči valovi se
uporabljajo pri daljincih, za termalno zaznavanje objektov, v astronomiji, za
opazovanje zdravja rastlin ter identifikacijo kamnin in tal. Njihove valovne dolžine so
daljše od vidne svetlobe. Infrardeči spekter delimo na več podpodročij in sicer
poznamo bližnje infrardeče območje, srednje infrardečo območje in daljno
infrardečo območje.
Slika 2.2: Elektromagnetno valovanje (povzeto po [4] )
Vidna svetloba – velja za edini del elektromagnetnega spektra, ki ga lahko človeško
oko zazna. Valovne dolžine vidne svetlobe segajo med 380 in 700 nanometri (nm).
Vsaka barva ima različno valovno dolžino, rdeča barva tako predstavlja dolžino
okrog 700 nm, vijolična pa 380 nm. Prvi razlagi o vidnem spektru sta zapisala Isaac
Newton in Johann Wolfgang van Goethe [5]. Newton je barvni spekter razdelil na 7
osnovnih barv: rdeča, oranžna, rumena, zelena, modra, indigo in vijolična. Kasneje
so indigo smatrali kot odtenek modre oziroma vijolične barve in ga niso več šteli kot
eno izmed osnovnih barv. Človeško oko je najbolj občutljivo pri približno 550 nm
valovne dolžine, kar že ustreza območju zelene barve v vidnem spektru.
Ultravijolični valovi - imajo krajšo valovno dolžino v primerjavi z dolžino vidnega
spektra oziroma svetlobe. Ljudem in večini živih bitij so tudi ti valovi nevidni,
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 5 -
obstajajo pa žuželke, ki lahko zaznajo ultravijolične valove. Enostavno razlago, kaj
ti valovi pomenijo, lahko dobimo že iz samega imena. Ultra je latinski izraz in pomeni
preko oziroma onstran, vijolična pa je zadnja barva vidnega dela elektromagnetnega
spektra. Torej lahko rečemo, da so ti valovi preko oziroma onstran vijolične barve.
Eden največjih virov ultravijoličnega sevanja je naše Sonce. Ultravijolični valovi se
uporabljajo za sterilizacijo prostorov in opreme v zdravstvu in prehrambni industriji,
za analizo mineralov, 3-D tiskanje, forenzične preiskave in v solarijih. Pretirana
izpostavljenost pa lahko na človeški koži povzroči kožnega raka, opekline in okvare
oči.
Rentgenski žarki - premorejo veliko več energije in krajše valovne dolžine, kot
ultravijolični žarki. Leta 1895 jih je odkril Wilhelm Conrad Roentgen, po katerem so
tudi dobili ime. Njihov obstoj izkoriščamo predvsem v medicini za radio diagnostiko.
Z njihovo pomočjo lahko ugotavljamo poškodbe kosti. Postopek je precej enostaven,
saj na eno stran telesa nastavimo rentgensko občutljiv film, na drugo pa vir
rentgenskih žarkov. Kosti so gostejše in absorbirajo več žarkov kot koža, zato so na
posnetku prikazane kot senca, koža pa je prikazana transparentno. Pretirana
izpostavljenost rentgenskim žarkom je zdravju škodljiva, saj povzroča razna rakasta
in druga obolenja, zato je za delo z njimi potrebna posebna zaščita.
Žarki gama - so del elektromagnetnega spektra, ki ima najkrajše valovne dolžine,
a hkrati premore največ energije med vsemi vrstami valov. Izvirajo iz najbolj vročih
in energetsko polnih objektov v vesolju, kot so zvezde in območja okrog črne luknje.
Na Zemlji pa ta vrsta valov nastaja predvsem zaradi jedrskih eksplozij, milejših oblik
radioaktivnega razpadanja in strel.
2.2. Barvni prostor
Barvni prostor predstavlja način, s katerim posamezno barvo predstavimo v numerični obliki
[6]. Pove nam, kako so v barvnem spektru razporejene različne barvne komponente.
Običajno barvni prostor vsebuje tri ali štiri komponente, s katerimi je na sliki predstavljen
vsak posamezni piksel. Te osnovne komponente oziroma barve skupaj tvorijo nove barve
ali odtenke. Barvni prostor velikokrat poimenujemo kar barvni model. Poznamo različne
vrste barvnih prostorov, najbolj razširjeni pa so prostori RGB, CMYK in HSV.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 6 -
2.2.1. Barvni prostor RGB
RGB je barvni model, ki je predstavljen s tremi barvnimi komponentami in velja za
najpogosteje uporabljen barvni prostor. Uporabljen je pri mnogih vhodnih in izhodnih
napravah, kot so digitalne kamere, skenerji, različne vrste televizorjev (LCD, plazma, CRT),
računalniki, mobilne naprave, projektorji in še bi lahko naštevali. Sestavljajo ga rdeča (Red),
zelena (Green) in modra (Blue) barvna komponenta (Slika 2.3). Prikaz vrednosti za
posamezno komponento nekaterih osnovnih barv prikazuje Tabela 2.2.
Slika 2.3: Barvni prostor RGB [7]
Vsaka komponenta je v barvnem prostoru predstavljena z 256 različnimi vrednostmi, ali
povedano drugače, njena vrednost lahko znaša med 0 in 255. Če uporabimo malo
matematičnih veščin to pomeni, da lahko v RGB barvnem prostoru prikažemo 2563 ali
povedano drugače 16.777.216 različnih barvnih odtenkov. Poznamo tudi več različnih
variant prostora RGB, glede na tehnične razloge in zahteve. Adobe RGB, Apple RGB in
CIE RGB so le nekatere izmed njih.
Tabela 2.1: Vrednosti barvnih komponent v prostoru RGB za osnovne barve
Rdeča ( R ) Zelena ( G ) Modra ( B )
Črna 0 0 0
Rdeča 255 0 0
Rumena 255 255 0
Vijolična 255 0 255
Zelena 0 255 0
Modra 0 0 255
Bela 255 255 255
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 7 -
2.2.2. Barvni prostor CMYK
CMYK - je barvni model, ki je predstavljen s štirimi barvnimi komponentami in spada med
najpogosteje uporabljene modele pri tiskanju. Sestavljajo ga (Slika 2.4) barve cian (Cyan),
magenta (Magenta), rumena (Yellow) in črna (black). Črna barva je v model CMY dodana
zaradi neidealnih procesnih barv, ko želimo iz njih pridobiti črno barvo. V teoriji in praksi se
rezultata med seboj razlikujeta, saj je v prvem primeru rezultat črna, v praksi pa umazano
rjava barva. Da ne bi črko B, ki bi lahko predstavljala črno barvo, zamenjali z oznako za
modro, so to komponento poimenovali kar ključ (Key) in od tod izvira kratica K. Kakšne
vrednosti komponent ima katera izmed osnovnih barv, lahko vidimo v Tabela 2.2.
Slika 2.4: Barvni prostor CMYK [8]
Pretvarjanje iz barvnega prostora RGB v CMYK je dokaj enostavno, vendar pri tem naletimo
na izgube, saj prostor CMYK podpira manjše število barvnih odtenkov kot RGB, kar se
odraža v nasičenosti in čistosti prikazanih barv.
Tabela 2.2: Vrednosti komponent v barvnem prostoru CMYK za osnovne barve
Cian ( C ) Magenta ( M ) Rumena ( Y ) Črna ( K )
Črna 0 % 0 % 0 % 100 %
Cian 100 % 0 % 0 % 0 %
Rdeča 0 % 100% 100 % 0 %
Rumena 0 % 0 % 100 % 0 %
Vijolična 50 % 100 % 0 % 0 %
Zelena 100 % 0 % 100 % 0 %
Modra 100 % 100 % 0 % 0 %
Bela 0 % 0 % 0 % 0 %
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 8 -
2.2.3. Barvni prostor HSV
HSV – je barvni model [9], ki je predstavljen s tremi barvnimi komponentami in sicer
odtenkom (Hue), nasičenostjo (Saturation) in svetlostjo (Value). Pogosto ga označimo tudi
kot model HSB (Hue, Saturation, Brightness). Za razliko od prejšnjih dveh modelov, ki sta
bila predstavljena s kocko, lahko HSV predstavimo s pomočjo lijaka ( Slika 2.5 ). Odtenek
je predstavljen z vrednostmi med 0 in 360°, ta vrednost pa predstavlja določeno barvo.
Nasičenost in vrednost (svetlost) sta predstavljeni s številom med 0 in 1 oziroma med 0 in
100 %. Nasičenost pove, kako bogata bo barva, vrednost pa, kako temna oziroma svetla
bo. Tabela 2.3 prikazuje vrednosti vseh treh komponent za najpogostejše barve.
Slika 2.5: Barvni prostor HSV [10]
HSV je bil razvit v sedemdesetih letih za potrebe aplikacij računalniške grafike, danes pa
se uporablja predvsem v raznih urejevalnikih slik, pri izbiranju barv na paletah, manj
pogosto pa pri računalniškem vidu in analizi slik.
Tabela 2.3: Vrednosti komponent v prostoru HSV za osnovne barve
Odtenek ( H ) Nasičenost ( S ) Svetlost ( V )
Črna Vseeno 0 % 0 %
Rdeča 0° 100 % 100 %
Rumena 50 ˘ 94 % 94 %
Vijolična 300 ° 66 % 75 %
Zelena 120 ° 100 % 50 %
Modra 250 ° 88 % 91 %
Bela Vseeno 0 % 100 %
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 9 -
2.3. Infrardeči valovi in slike
Infrardeči valovi se nahajajo povsod okrog nas, vendar jih s prostim očesom nismo zmožni
zaznati. Da bi lahko v infrardeči svet vsaj nekoliko pokukali, ga podrobneje spoznali in
predvsem občudovali, so nam v pomoč digitalne fotografije. Te fotografije seveda niso
podobne tistim, na katerih poziramo s prijatelji, kadar se nahajamo na zabavi, ampak so
posnete na povsem drugačen način. Infrardeči spekter je razdeljen na več območij, glede
na valovno dolžino infrardečih valov. Običajne naprave, kot so digitalni fotoaparati, so
zmožne zajemati infrardečo svetlobo v bližnjem infrardečem območju. To je območje, ki se
nahaja tik pod rdečo barvo vidnega spektra in dosega valovno dolžino med 700 in 1000 nm
[11].
Slika 2.6: Navadna barvna fotografija [12]
Da bi naš digitalni fotoaparat bil zmožen zajeti infrardečo svetlobo, moramo uporabiti
infrardeči filter in film, ki je občutljiv na infrardečo svetlobo. Ena izmed možnosti je, da
fotoaparat predelamo tako, da lahko zajema samo infrardeče fotografije [13]. Zajete
fotografije so lahko predstavljene na različne načine. Lahko so sivinske ali barvne, pri čemer
so prikazane z lažno barvo (false-color). Primerjavo med navadnimi, sivinskimi in barvnimi
infrardečimi fotografijami predstavljajo Slika 2.6, Slika 2.7 in Slika 2.8.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 10 -
Infrardeče fotografiranje se od navadnega razlikuje ne samo po različnem izgledu fotografij,
ampak tudi po različnih tehnikah, ki se pri njem uporabljajo, in po potrebni prilagoditvi
opreme, da lahko ta zajame infrardečo svetlobo.
Slika 2.7: Sivinska IR slika [12]
Infrardeče fotografije, ki so bile v začetku predvsem sivinske, so se prvič pojavile v začetku
20. stoletja [14]. Sivinske fotografije, ki jim drugače pravimo tudi pankromatične, so bile
cenovno ugodnejše, vendar se je pogosto pojavljala težava, da objekti na njih niso bili dovolj
jasni za preučevanja. Z uvajanjem novih tehnologij v fotoaparate se je pojavila možnost, da
lahko danes posnamemo barvne IR fotografije.
Fotografije, ki jih posnamemo v bližnjem infrardečem območju, ne predstavljajo toplotnih
značilnosti posnetega območja oziroma ne gre za toplotno sevanje infrardeče svetlobe.
Fotoaparati zaznajo IR valovanje zgolj v bližnjem IR območju. Infrardeče fotografije,
posnete v naravi, imajo posebne značilnosti. Najsvetlejše dele na fotografiji predstavljajo
rastline, ki odbijajo infrardečo svetlobo, najtemnejše predele fotografije pa običajno
predstavlja nebo, ki vpija skoraj vso infrardečo svetlobo. Z njimi lahko ugotavljamo tudi
zdravje listja na drevesih, pri čemer svetlejši deli predstavljajo zdravo, temnejši deli pa
nezdravo listje.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 11 -
Barvne IR fotografije, ki v primerjavi s sivinskimi porabijo več prostora, vendar uporabniku
omogočajo večjo jasnino slike in omogočajo lažje razpoznavanje objektov, se uporabljajo
predvsem pri zračnih oziroma ortografskih posnetkih. Ti so nato uporabljeni za potrebe
raznih geografskih in drugih vrst preučevanja.
Slika 2.8: Barvna IR slika [12]
Ta vrsta IR fotografij nastane, kadar pri fotografiranju uporabimo infrardeče občutljiv film
skupaj z rumenim filtrom. Ker ta filter preprečuje dostop modre barve, se plasti barvnih
komponent po obdelavi med seboj nekoliko premešajo. Tako je infrardeča vrednost
predstavljena kot rdeča barvna komponenta, rdeča je predstavljena kot zelena barvna
komponenta, zelena pa kot modra. Tako se vrednosti komponent premešajo in dobimo
barvno infrardečo fotografijo, ki je predstavljena z lažnimi barvami [15].
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 12 -
Zajemanje posnetkov v območjih z daljšo valovno dolžino imenujemo termografija. Le-ta
temelji predvsem na zaznavanju toplote. Zanjo je potrebna posebna oprema, ki je običajno
za neprofesionalno uporabo predraga. Na termalnih posnetkih modra barva predstavlja
hladnejša, rdeča pa toplejša področja.
Termografijo uporabljajo:
vojska v napravah za nočni vid, ki zaznavajo toplotne valove,
policija za iskanje ubežnikov v temi,
gasilci za ogled žarišča skozi gost dim,
za zaznavanje toplotnih izgub v stavbah, ki omogočajo kakovostnejšo izolacijo (Slika
2.9),
zdravniki za odkrivanje raka na prsih
in še mnogi drugi.
Slika 2.9: Termografski posnetek hiše [16]
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 13 -
2.4. Multispektralni in hiperspektralni posnetki
Multispektralni posnetki so posnetki z več sivinskimi plastmi, ki predstavljajo isto območje,
posneto večkrat, in to z različnimi načini zajemanja slik. Že samo ime teh posnetkov
(multispektralni bi lahko prevedli kot več spektrov) pove, da je vsaka plast zajeta z drugačno
valovno dolžino posnetega območja ali povedano drugače, vsaka plast predstavlja del
elektromagnetnega spektra. Število teh plasti je običajno med tri in deset, vsaka izmed njih
pa zajema širši spekter valovnih dolžin. Izgled različnih plasti je na voljo na Slika 2.10.
Najpogostejši primer takšne vrste posnetkov so fotografije RGB. Vsaka barvna plast
predstavlja eno barvno komponento barvnega modela RGB. Rdeča, zelena in modra plast
predstavljajo posnetke različnih delov vidnega spektra. Zajete so z različnimi valovnimi
dolžinami oziroma senzorji. Če vse tri plasti združimo v eno, dobimo barvno fotografijo.
Slika 2.10: Plasti multispektralnega posnetka (povzeto po [17] )
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 14 -
Hiperspektralni posnetki imajo enako definicijo kot multispektralni posnetki s to razliko, da
hiperspektralni posnetek zajema več plasti, ki zavzemajo ožje območje valovnih dolžin
(Slika 2.11). Ime hiperspektralni posnetki bi lahko prevedli kot veliko več spektralnih
posnetkov. Teh je lahko tudi več deset ali celo sto in njihovo maksimalno število ni omejeno.
S tem, ko obsegajo večje število plasti, nam omogočajo podrobnejše in natančnejše analize
posnetkov.
Hiperspektralni posnetki nam služijo predvsem za prepoznavanje različnih vrst materialov,
saj imajo le-ti edinstven spektralni zapis [18]. S pomočjo teh posnetkov lahko ugotovimo,
za kakšen material gre. Omogočajo nam odkritje nahajališč določenega materiala, med
drugim pa lahko pomagajo tudi pri odkrivanju nahajališč nafte. Kot zanimivost pa naj
dodamo, da so jih v zgodovini uporabljali že za vojaške potrebe, saj so lahko z njimi odkrili
skrivajoča se vozila, ki so bila prekrita z rastlinami.
Slika 2.11: Plasti hiperspektralnega posnetka [19]
Razpoznava materialov pa ni edini primer, kjer se hiperspektralni posnetki uporabljajo.
Pogosto jih namreč uporabljajo tudi v kmetijstvu, saj so kmetovalcem v pomoč pri zgodnjem
zaznavanju raznih rastlinskih bolezni. Uporabljajo pa jih tudi drugod, kot na primer pri
odkrivanju stopnje vode v zemlji, ugotavljanju najprometnejših cestišč, pri iskanju vojaških
min, iskanju grobov in zakopanih predmetov [20].
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 15 -
3. Mešanje barvne in infrardeče slike
3.1. Motivacija Mešanje barvne in infrardeče slike je namenjeno poudarjanju značilnosti na zajeti barvni
fotografiji. Kot smo že predstavili v prejšnjih poglavjih, nam barvna fotografija ne omogoča
vpogleda v celotni spekter. Da bi lahko na barvni fotografiji predstavili določene značilnosti,
ki so vidne zgolj v IR spektru, uporabimo IR fotografije, zajete v bližnjem IR območju. Z
njihovo pomočjo lahko temnejše predele na barvni sliki osvetlimo in s tem omogočimo
uporabniku, da odkrije, ali se v temnem predelu skriva nekaj, kar je zanj zanimivo. Temni
predeli fotografij imajo namreč znatno pomanjkanje kontrasta.
3.2. Znani interpolacijski postopki
Pri nastajanju naše aplikacije smo vzgled za interpolacijski postopek jemali v članku [21].
Postopek interpolacije je sestavljen iz več delov, kot prikazuje Slika 3.1. Za začetek je
potrebno naložiti eno barvno in eno infrardečo sivinsko fotografijo. Barvna fotografija se
nato pretvori iz barvnega prostora RGB v barvni prostor HSV. Fotografija, pretvorjena v
barvni prostor HSV, se nato uporablja skozi celotno interpolacijo.
Ko imamo naloženi obe sliki, se postopek interpolacije začne s preračunavanjem
uravnotežene maske na izvorni barvni sliki. Uravnotežena maska je zelo pomemben del
tega postopka, saj nam pove, kateri deli na sliki trpijo za izgubo kontrasta. Običajno so ti
deli presvetli ali pa pretemni. Maska se izračuna na podlagi modela HSV, kjer se izračunata
normalizirana histograma nasičenosti in svetlosti.
Obe naloženi sliki se nato obdelata s Haarovo valčno transformacijo. Več podrobnosti o njej
podamo v podpoglavju 4.2. Sliki, ki ju dobimo iz te transformacije, sta razdeljeni na štiri
dele. Interpolacijski postopek se nadaljuje s prenosom kontrasta in zaznanih robov iz obeh
vrnjenih slik na novo skupno. Pri obeh korakih nam je v pomoč uravnotežena maska, ki smo
jo izračunali povsem na začetku. Maska, ki deluje kot utež, koliko katere izmed slik se naj
prikaže v posamezni slikovni točki, poskrbi da se na sliki izboljšajo zgolj »poškodovani« deli
oziroma deli, kjer je opazna izguba kontrasta.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 16 -
Prenos kontrasta se izvede tako, da vzamemo sliki, ki predstavljata kontrast, in nad njima
izvedemo bilateralni filter [21]. Pri združevanju lahko uporabimo nato tri različne metode:
ujemanje histograma,
ujemanje histograma z omejitvijo gradienta ali
ujemanje višine gradienta.
Prva metoda je povsem enostavna. Izračunamo histogram barvne slike in ga poskušamo
narediti čimbolj podobnega histogramu infrardeče slike. Nastopi težava, da so določeni deli
preveč osvetljeni in nekonsistentni.
Druga metoda deluje na enak način, vendar z razliko, da preverjamo smer gradienta točko
po točko. Po postavitvi omejitve dobimo veliko bolj konsistentne rezultate v primerjavi s prvo
metodo.
Tretja metoda je nekoliko zahtevnejša, vendar pa tudi najboljša izmed vseh treh. Deluje po
principu jemanja gradientov obeh slik, pri prenosu kontrasta pa uporablja tudi uravnoteženo
masko. Podrobneje je tukaj ne bomo predstavljali.
Slika 3.1: Potek postopka mešanja barvne in IR slike ( povzeto po [21])
Po končanem prenosu kontrasta moramo prenesti še robove. Robovi se prenesejo na
preprost način z uravnoteženo masko, ki tudi v tem primeru predstavlja utež, koliko katere
izmed slik se bo preneslo v posamezno slikovno točko na novi sliki. Sedaj smo prenesli
robove in kontrast na novo sliko, ki je še vedno razdeljena na štiri kvadrate. Da iz nje
pridobimo celotno sivinsko sliko, izvedemo nad njo inverzno Haarovo transformacijo.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 17 -
Po končani inverzni Haarovi transformaciji dobimo kot rezultat izboljšano fotografijo, ki pa
je sivinska. Tako moramo sivinsko fotografijo pretvoriti nazaj v barvno. To naredimo na zelo
preprost način in sicer tako, da vzamemo svetlost na obdelani sliki, ki je predstavljena v
barvnem prostoru HSV kot V in jo prenesemo na izvorno sliko. Vrednosti H in S ostaneta
identični kot sta na izvorni sliki, spremeni se le V. S tem se interpolacija tudi zaključi.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 18 -
4. Lastna aplikacija za mešanje barvne in infrardeče slike
V tem poglavju bomo podrobneje predstavili aplikacijo, ki smo jo v okviru te diplomske
naloge izdelali. Opisali bomo uporabniški vmesnik ter kako aplikacija deluje v ozadju. Cilj je
bil narediti aplikacijo s preprostim uporabniškim vmesnikom, ki bo uporabniku omogočala
prilagajanje in združevanje barvne in infrardeče slike v novo fotografijo.
4.1. Uporabniški vmesnik
Aplikacija je namenjena združevanju dveh ločenih slik, pri čemer je ena slika sivinska IR,
druga slika pa navadna barvna. Avtomatiziranih preverjanj znotraj aplikacije, ki bi nam
zagotovila, da je naložena slika zares barvna ali sivinska oziroma infrardeča, ni. Aplikacija
je sestavljena iz dveh delov oziroma iz dveh oken. Prvi del predstavlja osnovno okno
aplikacije v katerem uporabnik upravlja z večino funkcionalnosti. Na Slika 4.1 je vizualna
podoba vmesnika, sledi pa opis funkcionalnosti 1 do 8.
Slika 4.1: Uporabniški vmesnik: osnovno okno
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 19 -
Funkcionalnosti, med katerimi lahko uporabnik izbira v osnovnem oknu, so označene s
številkami na Sliki 4.1.
1. Padajoči meni, v katerem so možnosti Izhod, Natisni sliko, Shrani sliko in Počisti
podatke. Vse možnosti so podrobneje opisane v poglavju 4.3.3.
2. Padajoči meni, v katerem je postavka O aplikaciji, v kateri se nahajajo splošne
informacije o aplikaciji in avtorju.
3. Okno, namenjeno prikazu barvne slike. Pod njim se nahajata gumba »Naloži barvno
sliko« in »Uredi barvno sliko«. Prvi nam odpre pogovorno okno za nalaganje
fotografije, drugi pa aktivira okno za prilagajanje slike, vendar le če smo to že
naložili, drugače se pojavi opozorilo.
4. Gumb, ki zažene proces združevanja barvne in infrardeče slike.
5. Okno, namenjeno prikazu infrardeče slike. Pod njim se nahajata gumba »Naloži
infrardečo sliko« in »Uredi infrardečo sliko«. Funkcionalnosti sta identični tistima iz
postavke 3.
6. Okno, v katerem se prikazuje obdelana slika. Slika je prikazana šele po končanem
procesu, ki ga sproži aktivacija gumba »Združi barvno in infrardečo sliko«.
7. Drsnik, ki nam omogoča spreminjanje razmerja med IR in barvno sliko. Privzete
vrednosti so nastavljene na četrto stopnjo, kar pomeni, da je dodatni faktor pri
izračunu uravnotežene maske število 3. Prva stopnja namreč pomeni faktor 0.
8. Drsnik, ki nam omogoča do petkratno povečevanje prikazane fotografije. Če
fotografija presega meje okna za prikaz obdelane slike, se ob njej pojavi navpični
in/ali vodoravni drsnik, ki nato omogoča premikanje po celotni povečani sliki.
Drugi del je okno za prilagajanje posamezne slike. Izgled tega okna se razlikuje glede na
to, kakšna slika se bo urejala. Pri barvni sliki imamo možnost spreminjati rdečo, zeleno in
modro barvno komponento (Slika 4.2), v infrardeči sliki, ki mora biti sivinska, pa lahko
prilagajamo zgolj sivine na njej ali povedano drugače, spreminjamo lahko intenzivnost sive
barve (Slika 4.3). V nadaljevanju so pomembnejše funkcionalnosti podrobneje
predstavljene.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 20 -
Slika 4.2: Uporabniški vmesnik: Okno za prilagajanje barvne slike
Okno za prilagajanje barvne ali infrardeče slike sestavljajo naslednje komponente.
1. Okno za prikaz barvne ali infrardeče slike, ki se, medtem ko premikamo drsnike za
prilagajanje vrednosti komponent, sproti osvežuje.
2. Gumb »Potrdi«, ki zapre to okno in spremenjeno sliko vrne v osnovno okno
aplikacije.
3. Drsniki, ki nam omogočajo spreminjanje vrednosti barvnih komponent na sliki. V
primeru, da smo odprli okno za prilagajanje barvne slike, se nam pojavijo trije drsniki
(Slika 4.2). Vsak izmed njih predstavlja točno določeno barvno komponento RGB
barvne slike. Če smo odprli okno za prilagajanje infrardeče slike, se nam pojavi zgolj
en drsnik, ki predstavlja intenzivnost sive barve na infrardeči sliki (Slika 4.3). Slika
se sproti osvežuje, medtem ko spreminjamo vrednosti na drsnikih.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 21 -
Slika 4.3: Uporabniški vmesnik: prilagajanje IR slike
Ob zagonu katerega od oken za prilagajanje se najprej vedno izračuna povprečna vrednost
posamezne komponente na celotni sliki. Na ta način pridobimo podatke za drsnike barvnih
komponent oziroma sivin.
4.2. Interpolacija
Interpolacija v naši aplikaciji poteka, kadar želimo združiti barvno in infrardečo fotografijo v
skupno fotografijo in na njej prikazovati različne nastavitve drsnika. Ta nam pove, koliko
odstotkov katere izmed obeh slik se bo združilo v novo sliko. Interpolacijska funkcija se
imenuje Processing in je metoda znotraj lastnega razreda WaveletTransform, ki je
podrobneje predstavljen v naslednjem podpoglavju.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 22 -
4.2.1. Opis postopka
Metoda Processing je statična metoda, ki za svoje delovanje potrebuje še vse ostale
metode razreda WaveletTransform. Zanjo je značilno, da prejme tri parametre, ki so pri
sami interpolaciji ključni. Prvi parameter je barvna slika, drugi parameter je infrardeča slika,
tretji parameter pa predstavlja utež, s katero se enako ležeči slikovni točki pretvorita v novo
točko. Utež je vrednost iz uravnotežene maske, ki se izračuna na začetku interpolacije,
njeno vrednost pa lahko povečamo preko drsnika, kjer uporabnik nastavi dodatni faktor.
Zaporedni koraki metode med samo obdelavo so:
izračun uravnotežene maske,
pretvorba barvne fotografije s Haarovo transformacijo,
pretvorba infrardeče fotografije s Haarovo transformacijo,
združitev kontrasta obeh fotografij,
združitev robov obeh fotografij in
inverzna Haarova transformacija.
Po končani obdelavi se na izvorno barvno fotografijo prenese osvetlitev posamezne
slikovne točke iz obdelane fotografije pod pogojem, da je ta svetlejša od izvirne. Če pogoj
ni izpolnjen, potem se ohrani izvirna svetlost slikovne točke. S tem preprečimo, da bi se
svetlejši predeli na originalni sliki potemnili, saj želimo zgolj osvetliti temnejše predele
fotografije. Primer takšne potemnitve je lahko fotografija narave, ki vključuje tudi jasno nebo.
Nebo je namreč na infrardeči fotografiji temno in če bi prenašali osvetlitev brez kakršnega
pogoja, bi izgubili izvirnost barvne fotografije.
4.2.2. Uravnotežena maska
Uravnotežena maska, ki predstavlja dvodimenzionalno matriko uteži, se preračuna povsem
na začetku interpolacije. Vsaka vrednost znotraj matrike predstavlja utež za istoležečo
slikovno točko na izvorni sliki. V naši aplikaciji se maska uporablja med prenosom kontrasta
in zaznanih robov iz obeh podanih fotografij. Z njo določimo, v kakšnem razmerju se bodo
vrednosti iz obeh fotografij prenesle. Uteži so odvisne od območja, kjer je pomanjkanje
kontrasta največje. To območje je običajno presvetlo oziroma pretemno na naši sliki. V naši
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 23 -
aplikaciji smo se osredotočili izključno na temna področja na barvni sliki. Uteži poskrbijo, da
se vsi deli ne prenašajo enakomerno, ampak tisti z večjo utežjo pridobijo več podatkov iz
infrardeče slike od tistih z manjšo utežjo.
Zaporedni koraki pri preračunavanju maske so:
pretvorba barve slike v barvni model HSV,
izračun histograma svetlosti (element V znotraj HSV),
izračun histograma verjetnosti svetlosti in
izračun uteži na podlagi vrednosti V in verjetnosti te vrednosti.
Histogram svetlosti v barvnem prostoru HSV se izračuna s korakom 0.2. Kot smo že
spoznali v podpoglavju 2.2.3, se vrednost tega elementa nahaja na intervalu [0,1].
Preračunavanje s korakom 0.2 pomeni, da ima tak histogram samo pet polj, kamor se
vrednosti uvrščajo. Te se nahajajo na intervalih [0, 0.2), [0.2, 0.4), [0.4, 0.6), [0.6, 0.8) in
[0.8, 1]. Vsako izmed polj se poveča za ena, če spada trenutna vrednost v njegovo območje.
Po izračunanem histogramu izračunamo histogram verjetnosti. Ta se preračuna tako, da
vrednost, ki se nahaja v histogramu, delimo s skupnim številom vseh vrednosti.
Izračun uteži se nato opravi po enačbi 4.1 [22], v primerjavi z navedenim virom pa smo
uporabili utež zgolj za svetlost, ne pa tudi za nasičenost.
| 0.5 - v| pv -ae-1=W (4.1)
V enačbi predstavlja v svetlost v trenutni slikovni točki, pv verjetnost da se ta vrednost
pojavi, a pa predstavlja dodatni faktor, ki je v tem primeru nastavljen s strani uporabnika na
drsniku v uporabniškem vmesniku. Večji ko je faktor a, večje vrednosti bomo dobili kot uteži
in posledično se bo preneslo vse več in več podatkov iz infrardeče slike.
4.2.3. Valčna Haarova transformacija
Haarovo transformacijo je leta 1910 predstavil madžarski matematik Alfréd Haar, po
katerem je tudi dobila ime [23]. Velja za eno najstarejših in najpreprostejših valčnih
transformacij. Transformacijska metoda prejme kot vhodni parameter sliko. Njena naloga
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 24 -
je, da na vhodni fotografiji zazna robove vodoravno, navpično in diagonalno. Kot rezultat
vrne obdelano sliko, ki je razdeljena na štiri predele. Primer vhodne in izhodne slike
prikazuje Slika 4.4, programsko kodo zaznave vodoravnih robov pa vidimo na sliki
Programska koda 1. Podobno, a z nekaj popravki, izgleda tudi zaznava navpičnih robov.
Slika 4.4: Vhodna in izhodna slika Haarove transformacije
Prvi kvadrant (zgoraj levo) predstavlja področje, kjer so predstavljene globalne lastnosti
slike. Drugi kvadrant (desno zgoraj) predstavlja področje, kjer so zapisani podatki o vseh
navpičnih robovih oziroma podrobnostih na sliki. Tretji kvadrant (spodaj levo) predstavlja
vse vodoravne robove oziroma podrobnosti, četrti kvadrant (spodaj desno) pa vse
diagonalne podrobnosti na sliki.
Zaporedni koraki Haarove transformacije so:
zaznava vodoravnih robov,
prenos robov na novo sliko,
zaznava navpičnih robov in
prenos robov na novo sliko.
Diagonalnih robov nam ni potrebno posebej zaznavati, saj jih zaznamo že v korakih za
vodoravne in navpične robove.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 25 -
Programska koda 1: Horizontalna zaznava robov s Haarovo transformacijo [24]
Inverzna Haarova transformacija je nasprotni postopek Haarove transformacije, ki
transformirano sliko s štirimi kvadranti pretvori nazaj v običajno sliko. Če podatki v katerem
izmed kvadrantov manjkajo, ne moremo narediti inverzne transformacije, ne da bi pri tem
utrpeli izgube. Na sliki Programska koda 2 lahko vidimo inverzni postopek tistemu s slike
Programska koda 1.
Programska koda 2: Inverzna Haarova transformacija - vodoravni robovi [24]
Zaporedna koraka inverzne Haarove transformacije sta:
prenos navpičnih robov na novo sliko in
prenos vodoravnih robov na novo sliko.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 26 -
4.2.4. Združitev kontrasta in zaznanih robov
Potem ko smo opravili valčno Haarovo transformacijo nad obema fotografijama, se
interpolacija nadaljuje s prenosom zaznanih robov in prenosom kontrasta iz obeh slik na
novo obdelano sliko. V obeh primerih ključno vlogo odigra uravnotežena maska oziroma
uteži. Glede na te uteži se namreč iz obeh slik prenašajo podatki o kontrastu in robovih.
Združevanje poteka na zelo preprost način, programsko kodo lahko pa prikazuje slika
Programska koda 3.
Programska koda 3: Združevanje dveh slik
Funkcija merge je spisana tako, da združi dve različni sliki glede na podano utež. V našem
postopku se ta metoda kliče štirikrat in sicer za združitev parov kvadrantov med seboj.
Rezultat, ki ga dobimo, je spremenjena transformirana slika. Ko nad to sliko opravimo
inverzno transformacijo, dobimo obdelano fotografijo, ki jo nato uporabimo za prenos
osvetlitve posamezne slikovne točke na izvirno barvno fotografijo.
4.3. Opis pomembnejših razredov in metod
V tem podpoglavju bomo podrobneje predstavili dva lastna razreda, ki sta znotraj aplikacije
največkrat uporabljena. To sta razreda WaveletTransform in HSV. Predstavili in na kratko
opisali bomo njune metode ter vlogo obeh razredov v aplikaciji.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 27 -
4.3.1. Razred WaveletTransform
Razred WaveletTransform vsebuje vse najpomembnejše metode, ki se izvajajo med
interpolacijo slik. Vse metode so statične, kar pomeni, da nam za njihov klic ni potrebno
ustvarjati objekta, ki pripada razredu WaveletTransform.
Metode, ki jih vsebuje razred WaveletTransform, so:
transform,
processing,
getDesiredPartOfImage,
merge in
inverse_transform.
Transform je metoda, ki kot vhodni parameter prejme bitno sliko tipa »Bitmap«. Njena
naloga je, da nad podano sliko izvede Haarovo transformacijo. Rezultat, ki ga metoda vrača
je slika tipa »Bitmap«, ki jo dobimo po transformaciji.
GetDesiredPartOfImage je metoda, ki nam kot rezultat vrne manjše območje na podani
sliki. Ta metoda ima pet vhodnih parametrov. Prvi parameter je fotografija, iz katere bomo
pridobivali informacije. Ostali štirje vhodni parametri so koordinate dveh točk, ki
predstavljata zgornji levi in spodnji desni kot fotografije. Območje med obema točkama se
vrne kot nova slika.
Merge je metoda, s tremi vhodnimi parametri. Prva dva parametra predstavljata sliki, kateri
želimo združiti v skupno novo sliko, tretji parameter pa je dvodimenzionalno polje uteži za
vsako posamezno slikovno točko. Povedano drugače, predstavlja razmerje med obema
slikama na končni skupni sliki.
Inverse_transform je statična metoda, ki kot vhodni parameter prejme sliko tipa »Bitmap«.
Kot nam pove že samo ime, je njena naloga ravno obratna, kot je naloga metode transform.
Transformirano sliko, ki je podana kot parameter, pretvori nazaj v navadno fotografijo.
Metodo processing smo že spoznali v prejšnjem podpoglavju.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 28 -
4.3.2. Razred HSV
Razred HSV je prav tako pomemben razred, ki se uporablja predvsem pred in po sami
interpolaciji barvne in infrardeče slike. Njegov namen je predvsem to, da vsebuje metode,
ki sliko RGB pretvorijo v vrednosti barvnega prostora HSV in obratno.
Lastnosti, ki jih razred HSV vsebuje, so:
Hue,
Saturation in
Value.
Metode, ki so del razreda HSV, so:
ColorFromHSV,
ConvertToHSV,
GetWeights
ter metode prirejanja in vračanja vrednosti zgoraj omenjenih lastnosti.
Metoda ConvertToHSV [25] pretvori vrednosti barvnega prostora RGB v vrednosti
barvnega prostora HSV. Vhodni parameter, ki ga metoda prejme, je barvna fotografija tipa
»Bitmap«. Po končani pretvorbi metoda vrne dvodimenzionalno polje tipa HSV, kjer vsak
element polja predstavlja vrednost HSV enako ležeče slikovne točke v vhodni sliki.
Metoda ColorFromHSV [25] pretvori vrednosti barvnega prostora HSV v vrednosti
barvnega prostora RGB. Njene značilnosti so ravno nasprotne kot pri metodi
ConvertToHSV. Ta metoda kot vhodni parameter prejme dvodimenzionalno polje tipa HSV,
pretvori vrednosti posameznega elementa v model RGB in nato na izhodu vrne barvno
sliko.
Metoda GetWeights prejeme štiri parametre. Prvi parameter je dvodimenzionalno polje, ki
vsebuje podatke o vrednostih HSV za vsako posamezno slikovno točko na izvirni barvni
sliki. Drugi parameter predstavlja vrednost dodatnega faktorja, ki ga je uporabnik nastavil
preko drsnika, preostala dva parametra pa podata višino in širino polja. Ta metoda je
podrobneje predstavljena v poglavju 4.2.2.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 29 -
4.3.3. Ostale pomembnejše metode
V sami aplikaciji obstaja še nekaj metod, ki odigrajo pomembno vlogo pri uporabi aplikacije.
Ena izmed takšnih je tudi funkcija changeZoom, ki nam sliko poveča tolikokrat, kot
izberemo preko drsnika. Koda te funkcije je predstavljena na sliki Programska koda 4. Kot
vhodna parametra prejme sliko originalne velikosti ter število n, ki pove, kolikokrat se naj ta
poveča. Metoda ustvari novo sliko, n-krat večjo od originalne fotografije, in nato s pomočjo
interpolacijskih postopkov sliko poveča.
Programska koda 4: Funkcija changeZoom [26]
Delo z aplikacijo pa ne bi bilo mogoče brez funkcije Naloži sliko. Na sliki Programska koda
5 je prikaz programske kode za nalaganje barvne slike, podobna koda z nekaj popravki se
uporabi tudi za nalaganje infrardeče fotografije.
Programska koda 5: Funkcija Naloži sliko
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 30 -
Funkcija Natisni obdelano sliko (Programska koda 6) ni pomembna za prikaz ali obdelavo
fotografij, je pa lahko še kako pomembna za uporabnika, ko ta želi rezultat dobljenega
postopka na nek način ohraniti. Funkcija pokliče razred PrintDialog in njegovo metodo
ShowDialog. Ko se dialog uspešno odpre, pokliče funkcijo Tmpdoc_Print, ki poskrbi da
se bo res natisnila samo obdelana slika.
Programska koda 6: Funkcija Natisni sliko [27]
Podobno kot smo rekli za funkcijo Natisni sliko, bi lahko rekli tudi za funkcijo Shrani sliko.
Ne gre za funkcijo, ki bi kakorkoli vplivala na obdelavo slike, pa vseeno uporabniku
omogoča, da rezultate svojega dela z aplikacijo shrani. Funkcija najprej pokliče dialog za
shranjevanje. Ko se ta uspešno naloži, vzame funkcija iz polja za prikaz obdelane slike
fotografijo in jo shrani na mesto in v obliki, kakršno smo pred potrditvijo shranjevanja izbrali
(Programska koda 7).
Programska koda 7: Funkcija Shrani sliko
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 31 -
4.4. Primerjava z že znanim postopkom
V aplikacijo smo poskušali implementirati postopek, ki smo ga opisali v poglavju 3.2. Pri
nekaterih korakih smo naleteli na težave, tako da nam vendarle ni uspelo implementirati
identičnega algoritma.
Vendar pa sta si oba postopka v določenih postopkih še vedno zelo podobna. Pa si
poglejmo nekaj teh podobnosti:
izračun uravnotežene maske,
pretvorba iz RGB v HSV,
uporaba Haarove valčne transformacije,
prenos kontrasta glede na utež,
prenos robov glede na utež,
inverzna Haarova transformacija in
prenos osvetlitve na izvorno sliko.
Razlike med postopkoma so predvsem pri metodah za prenos kontrasta. Mi smo se odločili,
da bomo ta problem rešili čim preprosteje in tako preračunamo novo vrednost slikovne
točke iz obeh isto ležečih točk, medtem ko se vrednost pri obstoječem postopku prenaša
preko treh različnih metod (poglavje 3.2). Pred temi tremi metodami se še uporablja
bilateralni filter nad infrardečo sliko. V našem postopku smo prav tako preizkusili to
možnost, a nismo bili najbolj uspešni, saj smo kot rezultat dobili občutno popačeno
fotografijo, zato smo kasneje postopek poenostavili.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 32 -
5. Analiza rezultatov aplikacije
V tem poglavju bomo podrobneje prikazali, kako poteka postopek združevanja infrardeče
in barvne slike. Predstavili bomo testne slike, prikazali bomo različne načine nastavitev
drsnika in pripadajoče rezultate po interpolacijskem postopku ter kakšne so možne
izboljšave aplikacije v prihodnje.
5.1. Primer poteka postopka
Osnovni izgled uporabniškega vmesnika (Slika 4.1) in okno za prilagajanje slike (Slika 4.2)
smo že predstavili v poglavju 4.1. Poglejmo, kako poteka postopek od zagona aplikacije pa
vse do rezultatov obdelave želene fotografije. Kot primer bomo uporabili barvno in IR sliko
s Slika 5.4, ki smo ju poimenovali Testni sliki 2 .
Preko dialoga lahko nalagamo slike dveh formatov – BMP in JPEG. Ko obe fotografiji
naložimo, naš vmesnik izgleda kot na Slika 5.1.
Slika 5.1: Osnovno okno po nalaganju barvne in IR slike
Sedaj se lahko odločimo za eno izmed dveh možnosti. Prva možnost je, da katero izmed
fotografij najprej nekoliko spremenimo. Ob kliku na »Uredi barvno sliko« ali »Uredi
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 33 -
infrardečo sliko« se nam pojavi ustrezno okno za prilagajanje, ki smo ju že spoznali (Slika
4.2 in Slika 4.3).
Druga izmed možnosti pa je, da izvedemo združevanje barvne in infrardeče fotografije. To
naredimo s pritiskom na gumb »Združi barvno in infrardečo sliko«. Pred samim
interpolacijskim postopkom moramo najprej nastaviti vrednosti drsnika za izračun uteži
razmerja med barvno in IR sliko. Ta je privzeto nastavljen na četrto stopnjo drsnika, kar
pomeni da se bo pri izračunu uteži uporabil množilni faktor 3. Vrednosti drsnika, ki jih lahko
nastavljamo, so med 0 in 10.
Prva stopnja (skrajno levo) predstavlja faktor 0, kar pomeni da se bo prikazalo 100 % barvne
in 0 % IR fotografije. Zadnja stopnja (skrajno desno) pa predstavlja faktor 10. Faktor smo
uvedli, saj nam ta pri izračunu maske poveča vrednosti uteži. Po končanem postopku se v
polju nad drsnikom prikaže slika, ki je rezultat interpolacije glede na vrednost, ki jo je
uporabnik nastavil. Omogoči se nam drsnik za povečevanje slike (angl. Zoom) na zaslonu.
Če je fotografija večja od okna za prikaz, se pojavijo vodoravni ali/in navpični drsniki s
katerimi se lahko nato premikamo po sliki in si tako ogledamo dele fotografije, ki na zaslonu
niso prikazani. Izgled okna prikazuje Slika 5.2. Če drsnik množilnega faktorja spremenimo
po interpolaciji, se s sliko ne zgodi nič, dokler ne zaženemo obdelave znova.
Slika 5.2: Osnovno okno po interpolaciji
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 34 -
5.2. Predstavitev testne množice
Testne slike, s katerimi smo aplikacijo preizkušali in opravljali analize, smo pridobili s spleta.
Pred iskanjem smo si zastavili tri pogoje, katerim morajo fotografije ustrezati. Prvi pogoj je
bil, da pridobimo dve ločeni in še neobdelani fotografiji, pri čemer mora biti ena barvna in
druga sivinska infrardeča. Drugi pogoj je bil, da sta fotografiji enakih ločljivosti, tretji pogoj
pa, da sta med seboj vsebinsko identični, kar pomeni, da se mora vsebina prekrivati na
obeh fotografijah.
Izpolnitev teh pogojev je bila tudi največja težava, s katero smo se pri razvoju in kasneje
testiranjih aplikacije soočali. Obstaja namreč precej takšnih parov fotografij, ki ustrezajo
prvima dvema pogojema, vendar je le redko kateri najdeni par ustrezal tudi tretjemu pogoju,
torej da sta obe fotografiji vsebinsko identični med seboj.
Slika 5.3, Slika 5.4 in Slika 5.5 pa vendarle predstavljajo nekaj uspešnih poizkusov iskanja.
Slika 5.3: Testni sliki 1 [28]
Slika 5.4: Testni sliki 2 [21]
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 35 -
Slika 5.5: Testni sliki 3 [29]
5.3. Rezultati obdelave Testno množico smo preizkušali z različnimi nastavitvami drsnika za nastavitev razmerja
med infrardečo in barvno fotografijo. V Tabela 5.1 in na Slika 5.6,Slika 5.7, Slika 5.8 so te
nastavitve in rezultati obdelave tudi predstavljeni.
Tabela 5.1: Primeri različnih nastavitev
Stopnja drsnika/ Dodatni
faktor uteži
Primer 1 1
Primer 2 3
Primer 3 5
Primer 4 7
Primer 5 9
Primer 6 11
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 36 -
Slika 5.6: Rezultati različnih nastavitev (testna slika 1)
Pred prvo interpolacijo smo drsnik nastavili na stopnjo 0, saj je privzeto le-ta nastavljen na
četrto stopnjo. Rezultat je na vseh treh slikah (Slika 5.6, Slika 5.7, Slika 5.8) označen kot
primer 1. Stopnja 0 pomeni, da se bodo med interpolacijo uporabile zgolj vrednosti iz barvne
fotografije. Seveda je pričakovan in tudi dobljen rezultat popolnoma identična fotografija
naši izvorni barvni fotografiji.
Slika 5.7: Rezultati različnih nastavitev (testna slika 2)
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 37 -
V naslednjih primerih se dodatni faktor za izračun uravnotežene maske enakomerno
povečuje za 2 (Tabela 5.1). V zadnjem primeru, torej primeru 6, je tako uporabljen najvišji
faktor in sicer 10. To je tudi največja možna osvetlitev izvorne barvne fotografije.
Slika 5.8: Rezultati različnih nastavitev (testna slika 3)
Pri vseh treh parih testnih fotografij smo opravili tudi časovne meritve interpolacijskega
postopka. Ob tem je potrebno poudariti, da so naše testne fotografije majhnih ločljivosti. V
Tabela 5.2 predstavimo časovne meritve.
Tabela 5.2: Časovne meritve
Ločljivost
slike
Porabljen čas za
združevanje obeh slik
Porabljen čas prilagajanja
barv na slikah
Testna slika 1 260 x 172 2,57 s 0,15 s
Testna slika 2 196 x 158 1,92 s 0,09 s
Testna slika 3 320 x 240 4,1 s 0,24 s
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 38 -
5.4. Predlogi za izboljšave
Aplikacija je preprosta za uporabo in uporabnik ne potrebuje veliko časa, da se z njo
podrobneje spozna. To je zagotovo ena izmed njenih prednosti. Bi pa ta aplikacija, če bi jo
želeli uporabljati v komercialne namene, morala prestati precej popravkov, optimizacijskih
postopkov in nenazadnje tudi nadgradnjo njenih funkcionalnosti.
Optimizirati bi predvsem morali vse interpolacijske postopke v njej, postopek, s katerim
poteka združevanje barvne in infrardeče slike, ter postopka za prilagajanje vrednosti
komponent na obeh slikah. Ti so trenutno počasni, kar se opazi predvsem pri obdelavi slik
z večjimi ločljivostmi. Najočitnejše je to pri prvem postopku, saj gre za združevanje dveh
slik in je tako potreben vsaj enkrat daljši čas, kot zgolj pri prilagajanju barv, kjer obdelujemo
eno samo sliko.
Nadgradnja aplikacije pomeni predvsem dodajanje novih funkcionalnosti, ki bi uporabniku
omogočile večji nabor možnosti. Trenutno smo se omejili le na postopek iz poglavja 3.2,
vsekakor pa bi bilo zanimivo preučiti več podobnih postopkov in ponuditi uporabniku izbiro
med le-temi ter primerjavo rezultatov. Lahko bi tudi dodali razna orodja za urejanje, različne
postopke za prilagajanje barv na barvni sliki, možnost pretvarjanja barvne infrardeče slike
v sivinsko in zagotovo je teh možnosti še ogromno. Potencialno dobra nadgradnja same
aplikacije pa bi bila tudi možnost avtomatiziranega preverjanja naložene slike. Aplikacija bi
zaznala, ali je naložena slika zares barvna ali sivinska, ali sta barvna in IR slika enakih
velikosti in podobno. Tudi privzeto vrednost množilnega faktorja bi bilo morebiti smiselno
izbrati glede na to, kateri del IR spektra sploh pokriva IR slika. Za naprednejšo uporabo bi
lahko dodali možnost združevanja različnih plasti multispektralnega posnetka v novo
fotografijo. Uporabnik bi lahko naložil različne fotografije, ki bi te plasti predstavljale in jih ob
določenih nastavitvah združil v eno samo fotografijo.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 39 -
6. Zaključek
V diplomski nalogi smo implementirali lastno aplikacijo, namenjeno združevanju barvne in
infrardeče fotografije. Enostaven uporabniški vmesnik uporabniku omogoča, da preizkuša
različne nastavitve drsnika za določanje razmerja med barvno in IR fotografijo. barvni sliki
na ta način izboljšamo osvetlitev in kontrast. Dobljeno sliko lahko na koncu natisnemo ali
shranimo na želeno lokacijo na trdem disku našega računalnika. Podrobneje smo opisali
že znan postopek [21], po katerem smo se v naši aplikaciji v veliki meri zgledovali, čeprav
smo se bili prisiljeni zateči k nekaj poenostavitvam.
Izdelano aplikacijo smo testirali na različnih testnih fotografijah, ki smo jih pridobili s spleta.
Teste na njih smo izvajali z različnimi nastavitvami drsnika za mešanje barvne in IR
fotografije, ter po končanih postopkih združevanja opazovali dobljene rezultate. Opazili smo
da lahko vpliv infrardeče slike zelo poseže v izvirno fotografijo, včasih celo nekoliko preveč.
Ravno zato smo v aplikaciji uvedli faktor, katerega lahko uporabnik nastavlja na drsniku za
mešanje barvne in IR slike.
Spoznali smo, da bi ta aplikacija vsekakor morala doživet še nekaj izpopolnitev in
popravkov. Predvsem bi morali implementirati celoten postopek, ki je opisan v poglavju 3.2.
S tem bi namreč pridobili na kakovosti izboljševanja kontrasta.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 40 -
7. Literatura
[1] „Wikipedia,“ [Elektronski]. Dostopno na:
http://sl.wikipedia.org/wiki/Elektromagnetno_valovanje.
[2] „National Aeronautics and Space Administration (NASA),“ [Elektronski]. Dostopno na:
http://missionscience.nasa.gov/ems/.
[3] „NDT Resource Center,“ [Elektronski]. Dostopno na: http://www.ndt-
ed.org/EducationResources/CommunityCollege/RadiationSafety/theory/nature.htm.
[4] „Journey into the Atom,“ [Elektronski]. Dostopno na:
http://library.thinkquest.org/10380/advanced.shtml.
[5] „Wikipedia,“ [Elektronski]. Dostopno na: http://sl.wikipedia.org/wiki/Vidni_spekter.
[6] T. Padova, D. Mason, Color Management for Digital Photographers For Dummies, Wiley
Publishing, Inc., 2007.
[7] „Code project,“ [Elektronski]. Dostopno na: http://www.codeproject.com/Articles/9207/An-
HSV-RGBA-colour-picker.
[8] „WIKIMEDIA COMMONS,“ [Elektronski]. Dostopno na:
http://commons.wikimedia.org/wiki/File:CMYK_farbwuerfel.jpg.
[9] „Wikipedia - HSL and HSV,“ [Elektronski]. Dostopno na:
http://en.wikipedia.org/wiki/HSL_color_space.
[10] „Andrew Harvey's blog,“ [Elektronski]. Dostopno na:
http://andrewharvey4.wordpress.com/2009/08/22/comp3421-lec-1-colour/.
[11] „Ken Rockwell RSS,“ [Elektronski]. Dostopno na: http://www.kenrockwell.com/tech/ir.htm.
[12] J. Farace, Complete Guide to Digital Infrared Photography, Lark Books, 2006.
[13] D. Sandidge, Digital Infrared Photography, Wiley Publishing, Inc., 2009.
[14] L. Gayathri, „Significance Of Colour Infrared Orthophotos (CIR),“ [Elektronski]. Dostopno
na: http://ezinearticles.com/?Significance-Of-Colour-Infrared-Orthophotos-
(CIR)&id=5050349.
[15] „Wikipedia,“ [Elektronski]. Dostopno na:
http://en.wikipedia.org/wiki/Infrared_photography.
[16] „Energy.gov,“ [Elektronski]. Dostopno na:
http://energy.gov/energysaver/articles/thermographic-inspections.
[17] „Earth Observatory,“ [Elektronski]. Dostopno na:
http://earthobservatory.nasa.gov/Features/LandsatLooks/page3.php.
[18] P. Shippert, „Introduction to Hyperspectral Image Analysis,“ [Elektronski]. Dostopno na:
http://spacejournal.ohio.edu/issue3/abst_shippert.html.
[19] R. G. Vaughan, W. M. Calvin, J. V. Taranik, „SEBASS hyperspectral thermal infrared data:
surface emissivity measurement and mineral mapping,“ Remote Sensing of Environment,
Izv. 85, št. 1, pp. 48-63, 2003.
[20] „Wise Geek,“ [Elektronski]. Dostopno na: http://www.wisegeek.com/what-is-hyperspectral-
analysis.htm.
Interaktivno prilagajanje barv v sliki z upoštevanjem dodatnega infrardečega kanala
- 41 -
[21] X. Zhang, T. Sim, X. Miao, „Enhancing Photographs with Near Infrared Images,“ v IEEE
Computer Society Conference on Computer Vision and Pattern Recognition, 2008.
[22] E. Lee, S. Kosaraju, S. Sankaranarayanan, „Standford University, Vista Lab,“ [Elektronski].
Dostopno na: http://white.stanford.edu/teach/index.php/LeeKosarajuSankaranarayanan.
[23] A. Lisowska, P. Porwik, „The Haar–Wavelet Transform in Digital Image Processing: Its
Status and Achievements,“ Machine graphics & vision, Izv. 13, pp. 79-98, 2004.
[24] A. Hardy,W.-H. Steeb, Mathematical Tools in Computer Graphics with C#
Implementations, World Scientific, 2008.
[25] „Stack Overflow,“ [Elektronski]. Dostopno na:
http://stackoverflow.com/questions/8223388/changing-white-and-black-color-using-hsv-
color-space.
[26] „Net Curry,“ [Elektronski]. Dostopno na:
http://www.dotnetcurry.com/ShowArticle.aspx?ID=196&AspxAutoDetectCookieSupport=1.
[27] „Tek-Tips Forums,“ [Elektronski]. Dostopno na: http://www.tek-
tips.com/viewthread.cfm?qid=1269541.
[28] „Spencer's Camera and Photo,“ [Elektronski]. Dostopno na:
http://www.spencerscamera.com/.
[29] N. Helmuth, E. E. Sacayon, Large Format Digital Infrared Photography with Betterlight
Super 6K, 2009.