2011. jún. 17.

HDR-szerű kompozíció Blenderben

Nem értek a fényképezéshez, ezért nincs is semmilyen felszerelésem, de az sokszor zavart, hogy a kis kompakt gépem (na jó, tesómé, egy Canon PowerShot A470) vagy a sötét dolgokat látja, vagy a világosakat. Vagy kiégnek a fényes részek, vagy eltűnnek az árnyékosak. Ez ugye azért van, mert sokkal kisebb kontrasztarányban érzékel a CCD, mint a szemünk. Ez meg azért van, mert a sok okos vásárló mindig csak a minél több megapikszelre ugrik, ezért csak a felbontás növelésére gyúrnak egyes gyártók az olcsó gépekbe kerülő chipeknél, a minőség (kontrasztarány) már nem annyira számít nekik.

Erre van egy olyan megoldás, hogy 3 (vagy 5 vagy 7 vagy 9) különböző expozícióbeállítással (EV) kell ugyanazt lefényképezni, és az alulexponált képből a világos részek fognak a kívánt képre kerülni, a túlexponáltból meg a sötétek. (Nem, nem fordítva.) Ami meg jó az automata érzékeléssel készültön, az maradhat úgy. Így tehát jó lesz a sötét meg a világos rész is, mintegy 3 kis "fényességsávból" 1 nagyobbat összevágva, majd összezsugorítva azt, hogy látszódjon a monitorokon. Persze auto bracketing nincs ebben a gépben, szóval autóversenyzésről nem fogok tudni ezzel ilyen képeket csinálni (Bár azt mondják, rawból elég egy kép is, és utólag lehet expozíciót állítani! :O Én nem tudom...), de tájakról még csak-csak. Állványom sincs, szóval majd leteszem az asztalra a gépet, vagy hozzáfogom egy faághoz. Nyers képeket nem tudok készíteni, tehát marad a JPG, ami már alapból csúnyácska, de színe még azért csak van valamilyen. Ezek csak az én problémáim, itt jön a lényeg:

Vannak direkt erre a célra kitalált programok, mint a Photomatix, vagy a Qtpfsgui. Photoshoppal, mint mindent, ezt is lehet. GIMPpel már annyira nem, mert azt mondják, az csak 8 bites képekkel dolgozik, és ennek 32 kell. Én ezt sem tudom, csak úgy olvastam. De azt tudom, hogy a CinePaint egy GIMP fork, amiben van 32 bites képfelbontás (úgy értem csatornánként), és néhány profi is használja. Csak nincs Windowsra, de az nekem mindegy.

A Photomatix drága, vagy próbaverziós, nem próbáltam ki. A Qtpfsguiban nekem első pillantásra sok volt a tekerentyű, huzogantyú meg választóka, és default beállításokkal nem volt jó (Programtervezési megjegyzés: Minden alkalmazásnál fontos a jól megválasztott default konfiguráció, hogy a kezdők, programmal épp csak ismerkedők egyből, mindenféle piszkálgatás nélkül használható outputot lássanak, még ha nem is tudják beállítani a programot, ami esetleg akkor már használható volna, ha jól lenne beállítva, de alapból nem jól van. Ha elsőre nagyon rosszat látnak, az baj.). GIMP-ben macerás meg időigényes volt egy-egy közbenső lépés finomítása, undo-redo, a maszkok beállítása, csatornákra bontás, visszakeverés, rétegezés, miegyéb. Ezen problémák kiküszöbölésére, és egy folytonosabb munkamódszer megteremtésére meg már csak a "csakazértis, mertmiértne" elv alapján, egészséges kíváncsiságból jutott eszembe, hogy a Blender tud node alapú kompozitálást. Tehát nem kell undozni, hanem minden változtatásnál újból lerendereli az egészet, és annyit meg tud a képeken bűvészkedni, ami nekem ehhez kellett. Maga a kompozitáló modul is tud fájlból több képet beolvasni, kiírni, meg menet közbeni képekbe is be lehet kukkantani. Egy szóval: tökjó.

Maga a módszer a maszkolásos keverésen alapszik, a maszkokat meg a képek fényereje szolgáltatja. Innen letölthető a .blend fájl. (Készült 2.57b verziójú Blenderrel.)

És így néz ki:



(Igen, kicsit "szellemes", mert a 3 kép nem pontosan fedi egymást, erre fényképezéskor figyelni kell. Az esetleges elő- vagyis inkább utóigazítást előre [Na, mégis "elő-"?] el kell végezni egy másik programmal. Mondjuk GIMPpel. Vagy ami jól esik.)

A bal oldalt lévő két számbemenet közül a felső egy korai relatív átméretezés mindkét tengely mentén, hogy ha csak fényerőt, kontrasztot meg maszkelmosást akarsz finomítani, hamarabb rendereljen. Persze, ez is időbe telik, de nem annyiba. A kimeneti kép is ekkorára lesz méretezve. A renderbe kerülő nem.
Az alsó meg a keverési maszkok Gauss-elmosásának sugara képpontokban mérve, az esetleges átméretezés után, szóval ha a másikat állítod, ajánlott ezt is arányba hozni vele. Persze nem muszáj. Csak kicsit más lesz a kép kis meg nagy méretben ugyanakkora elmsási sugárnál. Volt egy olyan ötletem, hogy legyen ez is automatikusan beszorozva méretezési együtthatóval, de aztán mégse. Tessék csak külön állítgatni.

Az ez után jobbra lévő 3 bemeneti kép nodeba kell a 3 forrásképet betallózni, középre a "normált", fentre a sötétebbet, lentre a világosabbat. Igen, ez csak 3 képet tud összekeverni. Se többet, se kevesebbet.

Az a sok brightness/contrast node azért van minden maszknál, hogy szabályozni lehessen az egyes képekből bekerült részek méretét. Tweakelés közben opcionálisan viewer kapcsolandó rá, hogy lássuk, mi kerül a vegyesbe az adott képből.
A jobb szélső brightness/contrast meg már csak egy utolsó szépítés, hogy lehessen játszadozni vele, színezgetni, stb.

A jelenlegi egyetlen viewer a jobb szélén a backdrop miatt kell, meg azért mégis... Ha már a render képe olyan kicsi.

Ez alatt van a fájlkimenet, itt lehet kimeneti formátumot, tömörítést meg helyet/nevet állítani, ízlés szerint. Attól, hogy backdrop-ba kiszámolja a képet, még a rendesen, központilag is renderelni kell egy frame-et, hogy ez a node is lefusson. Mert anélkül nem fog. A scene-ben amúgy sincs semmi, csak egy kamera, mert az muszáj. A kompozitnak is csak azért van render-kimenete, mert az is muszáj. A render előtti átméretezést felőlem levehetitek, és akkor annak a rendernek a kimenete lesz a végső kép, nem a fájlba író node-é.

A képernyőképen látható betöltött eredeti fényképek a Wikipédiáról származnak.

Esetleges utómunkák, mint a gamma, meg egyéb görbék állítása, akár több kép utólag összekeverése is jó ötlet lehet.

Ez a módszer nem szép, nem jó, elvben működik, de nem is biztos, hogy HDR. A tone mapping meg szerintem egy végképp más dolog. Eljátszogatni, kísérletezgetni jó volt.
Ha valaki mégis ki tud hozni belőle valami használhatót, kérem szóljon.

3 megjegyzés:

  1. dejó, nem programozási probléma :)

    VálaszTörlés
  2. Na, és ha már hozzászólt, Tanár Úr, mint hozzáértőtől kérdezem: Mennyi baromság van benne? Vagy mi ez? Jó, vagy haszontalan, vagy másképp?

    VálaszTörlés
  3. a HDR-nek van értelme, csak sajnálatos módon 99%-ban rosszra használják. én egyszer próbáltam, de ami nem 1click program, azzal én nem szeretek szórakozni, semmit nem szerkesztek a képeimen a raw konvertálás 3-4 paraméterén és nagyon ritkán vágáson kívül.

    VálaszTörlés