Sony/Minolta portal Vodiči HDR s programom Qtpfsgui

Fotografije iz preteklih natečajev

03 Street fotografija Avtor - lial.jpg 03 Street fotografija Avtor - lial

Uradne Sony foto novice ter najave

HDR s programom Qtpfsgui PDF natisni E-pošta
Prispeval Miran Amon   
Sreda, 07 Januar 2009 14:01
SlikaKot prvo, za tiste, ki še niso slišali za to, kaj je sploh HDR? Kratica pomen High Dynamic Range. Fora je v tem, da senzorji v fotoaparatih niso sposobni zaznati ravno širokega razpona svetlobe oziroma z drugimi besedami, dinamični razpon, ki so ga sposobni zaznati, je razmeroma majhen. To pomeni, da so slike, ki jih dobimo z današnjimi fotoaparati, slike z majhnim dinamičnim razponom (Low Dynamic Range oziroma LDR).
 
Bolj po domače, razlika med najmanj in najbolj močno svetlobo, ki jo lahko senzor zazna, je razmeroma majhna, v vsakem primeru pa precej manjša, kot je to pri človeškem očesu. Še bolj po domače, to, kar smo ljudje sposobni videti z očmi, senzor na fotoaparatu niti približno ni sposoben zaznati. V praksi to pomeni, da če v določenih vremenskih pogojih slikamo recimo pokrajino, se hitro zna zgoditi, da bo pri neki izbrani ekspoziciji ali senčni del čisto črn ali pa sončni del čisto bel. V tem primeru se moramo odločiti ali želimo sliko, na kateri se vidi pokrajina, nebo pa bo čisto prežgano ali pa želimo sliko, na kateri se lepo vidi nebo, pokrajina pa bo čisto temna. Eno ali drugo, obojega pa brez malo več truda ne moremo imeti.

In tu pride na sceno tehnika HDR. Osnovna ideja je v tem, da naredimo več posnetkov (vsaj 2) in sicer enega tako, da se vidijo temni deli in enega, da se lepo vidijo svetli deli (in po možnosti še kakšnega vmes), potem pa jih programsko združimo skupaj. Rezultat tega je slika v formatu HDR in to je to.

Ampak potem nastopi naslednji problem. Ko enkrat imamo HDR sliko, si pravzaprav ne moremo nič kaj veliko pomagati z njo, ker noben ekran ali printer ni sposoben prikazati celotnega dinamičnega razpona, ki ga slika vsebuje! Če hočemo HDR sliko prikazati na navadnem računalniškem ekranu ali jo natisniti z navadnim foto tiskalnikom, jo je treba pretvoriti nazaj v LDR. Se pravi ves dinamični razpon, ki je v datoteki HDR, je potrebno po nekem postopku stisniti nazaj v ozko območje, ki ga lahko fizično prikažemo. Takemu postopku se reče "tone mapping", obstaja pa dokaj velika množica med sabo precej različnih algoritmov, ki so temu namenjeni.

Toliko za uvod o tem, kaj HDR sploh je, zdaj pa na praktični del. Za izdelavo HDR slike in njen prikaz na ekranu ali papirju, so potrebni naslednji osnovni koraki:

1. naredimo par posnetkov z različnimi nastavitvami ekspozicije
2. posnetke združimo v HDR
3. HDR sliko pretvorimo v LDR

Gremo bolj podrobno:

1. korak: fotkanje

Koliko posnetkov bomo naredili, je odvisno od situacije. Če je scena zelo nekontrastna (na histogramu se to vidi tako, da niti na levi niti na desni ne pride krivulja čisto do roba), jo bo mogoče lahko posnela samo ena fotografija in HDR sploh ne bo potreben niti smiseln. Če pa je scena tako kontrastna, da z enim posnetkom nikakor ne moremo dobiti na sliko vseh senčnih in osvetljenih delov brez da bi na njej imeli prežganine, potem je treba narediti več posnetkov.

Najbolje je, da so posnetki osvetljeni tako, da je razlika od enega do drugega točno 1EV. Pri vseh naj bo zaslonka enako odprta, da ne bo nekonsistentnosti v globinski ostrini, spreminjamo pa čas za faktor 2. V večini primerov bo dovolj največ 3 do 5 posnetkov, na primer s časi 1/125, 1/250, 1/500, 1/1000 in 1/2000 ali kaj podobnega.

Najpomembnejše pri tem pa je, da so vsi posnetki narejeni s popolnoma istega mesta brez da bi vmes kakorkoli premaknili aparat in to v čim hitrejšem zaporedju (HDR iz večih posnetkov itak velja bolj kot ne samo za statične scene kot je pokrajina ali arhitektura, ampak v par sekundah se lahko tudi oblaki precej premaknejo!). Najbolje je uporabiti stativ (čeprav se da tudi iz roke, ampak je nekaj več dela in rezultati so lahko vprašljivi) in funkcijo bracketing na aparatu, če jo podpira in dovoljuje dovolj veliko razliko med posnetki. Moj A100 na primer ima bracketing samo od -0.7EV do +0.7EV, kar je premalo za HDR. Potrebujemo skoraj nujno bracketing od -2.0EV do +2.0EV.

Lahko pa v nekaterih primerih naredimo HDR tudi iz samo enega posnetka, če scena ni preveč kontrastna in slikamo v RAW načinu (če je scena dinamična, pa sploh nimamo druge izbire). Enostavno v RAW razvijalcu naredimo več verzij ene in iste fotke, samo z različnimi nastavitvami ekspozicije. Oziroma še tega nam ni treba delati, če uporabljamo program, kot je Qtpfsgui, ki že podpira praktično vse RAW formate.

Skratka naredimo tri do pet posnetkov in jih pripravimo za HDR procesiranje. Jaz vedno slikam v RAW načinu in potem fotke s programom Bibble pretvorim v 8bit TIFF, če je potrebno posamezne posnetke kasneje še poravnati ali pa 16bit TIFF, če so že poravnani (problem je v tem, da Qtpfsgui zna avtomatsko poravnati samo 8 bitne slike). Paziti je treba samo, da odkljukamo možnost "auto levels":

Slika


2. korak: Izdelava HDR slike

Za ta korak potrebujemo HDR program. Jaz uporabljam, kot že omenjeno, Qtpfsgui (trenutna verzija je 1.9.2). Zadeva je open-source in popolnoma zastonj. Jaz ga poganjam v Linuxu, na njihovi strani pa vidim, da dela tudi v Windowsih in na Macu, čeprav sam tega še nisem poizkusil.

Torej postopek gre takole. Kliknemo "New HDR" in izberemo slike. Program slike naloži in iz EXIF podatkov avtomatsko ugotovi ekspozicijo vsake posamezne slike. Če slučajno v slikah zaradi takega ali drugačnega razloga ni EXIF podatkov oziroma niso veljavni (če smo na primer razvijali več verzij enega in istega RAW posnetka), je potrebno EV podatke vnesti ročno.



Naslednji korak je poravnavanje slik. Tudi če slikamo s stativom, se zna zgoditi, da je kateri od posnetkov za kakšen piksel ali dva zamaknjen glede na ostale, zato je slike treba poravnati. Izberemo možnost "auto align" in algoritem, po katerem naj to program naredi. Jaz vedno izberem prvega. Nato kliknemo "Next" in počakamo, da konča (lahko traja).

(Če so izvorne slike v 16 bitnem formatu, avtomatska poravnava ne deluje, tako da v tem primeru ta korak pač izpustimo. Če je slike predhodno potrebno poravnati, moramo to narediti na kak drug način).

Potem se odpre okno, v katerem lahko ročno poravnavamo posnetke. Če smo izbrali avtomatsko poravnavo, samo preverimo, da je vse v redu, če ne, pa pač ročno poravnamo slike in kliknemo "Next".

Slika


Potem izberemo parametre algoritma za izdelavo HDR slike in kliknemo "Finish". Jaz enostavno pustim vse skupaj na privzetih vrednostih.

Slika


In to je to! Imamo HDR sliko, ki jo lahko potem shranimo v kateremkoli od podprtih HDR formatov. V glavnem oknu se prikaže tudi nekakšen grobi predogled slike. Kolikor se meni zdi, je ta predogled narejen tako, da se ves dinamični razpon enostavno linearno kompresira v LDR. V praksi to pomeni, da je na predogledu slika videti precej ubogo.

Slika


3. korak: Pretvorba iz HDR v LDR:

Tu je pa sedaj bistvo vsega. Kako bo končni rezultat izgledal, je v veliki meri odvisno od operatorja (Tone mapping operator oziroma TMO), ki ga bomo izbrali in od parametrov, ki jih bomo nastavili. Dobimo lahko zelo različne rezultate, vse od precej realističnih, naravnih slik, do skrajno pretiranih, skoraj smešnih zmazkov.

V glavnem oknu kliknemo "Tonemap the HDR" in odpre se novo okno.

Slika


Na levi strani z zavihki izberemo TMO in nastavimo parametre ter kliknemo "Apply". Prikaže se mala sličica v oknu na desni strani. Preizkusimo lahko več opratorjev in vse možne nastavitve parametrov, dokler ne dobimo slike, s katero smo zadovoljni. Potem v zgornjem delu izberemo željeno velikost slike (jaz vedno naredim v polni velikosti) in spet kliknemo "Apply". Ko program konča (po dolgem času, odvisno od TMO), shranimo datoteko v JPG formatu in to je to. :)

Samih operatorjev tu ne bi razlagal, v glavnem tudi zato, ker še sam ne vem veliko o njih. Bistvo TMO-ja je v tem, da na bolj ali manj pameten način spravi HDR sliko v LDR. Operatorji, ki jih implementira Qtpfsgui, se imenujejo po avtorjih člankov v skrajno resnih znanstvenih revijah, v katerih so bili ti algoritmi prvič opisani. Qtpfsgui v trenutni verziji vsebuje operatorje Mantiuk, Fattal, Drago, Durand, Reinhard 02, Reinhard 05, Ashikhmin in Pattanaik. Vsak ima svoj namen uporabe, svoje prednosti in slabosti in svoje bolj kot ne kriptične parametre. Enostavno je treba poizkušat in iskat optimalne nastavitve (edini globalni parameter je pre-gamma, ki ima lahko tudi zelo velik vpliv na končni izgled slike). Jaz največ uporabljam Mantiuk, po tem, kar sem videl, pa je zelo popularen tudi Fattal, ki je menda edini operator, ki je na voljo v nekaterih bolj popularnih plačljivih HDR programih in HDR pluginih za nekatere bolj popularne in plačljive urejevalnike slik. ;)

V glavnem na koncu dobimo eno čisto navadno JPG sliko, ki jo po potrebi še popravimo v najljubšem urejevalniku slik. Problem nekaterih TMO-jev je v tem, da znajo narediti precej hude kontrastne prehode na mestih, kjer jih pravzaprav sploh ne bi smeli. Na primer na nebu, kot se to dobro vidi na mojem primeru.

Slika


In na koncu pride ven takale, bolj kot ne vesoljska slikica:

Slika


In to je to. Upam, da bo komu prišlo prav.

P.S.: Tale fotka, ki sem jo tule obdeloval, pravzaprav niti ni zelo primerna za HDR, ker ni ne vem kako kontrastna. Je pač edina, ki sem jo imel. :)
 
Avtor: Miran Amon
 

 

Komentarji in debata o članku na forumu v temi http://www.portal-alpha.com/forum/viewtopic.php?f=5&t=61

 
Zadnjič posodobljeno Sobota, 28 Marec 2009 14:08