2013-07-11

Nadiirin paikkaaminen

Nadiiri (ja sen vastakohta zeniitti) on pallopanoraamojen ongelmapaikka, siellä kun asustaa panoraamapää, kolmijalka, kuvaustolppa tai jopa kuvaaja itse. Kuvankäsittelyllisesti haasteita aiheuttaa pallopanoraamakuvissa yleisesti käytetty projektio (tasavälinen lieriöprojektio näkyy olevan suomenkielinen termi), pallopintaa kun ei voi tasaisena pintana esittää ilman huomattavia vääristymiä, katso vaikka esimerkkikuva alla:

Alavan kirkko
(Alavan kirkko Kuopiossa, pyöriteltävä panoraama löytyy 360citiesistä.)

Laiskan miehen veto eli nadiiripallo

Nadiiripallolla tarkoitan panoraaman alaosaan tulevaa pyöreää läiskää, joka näyttää kiiltävältä kromikuulalta josta kuvauspaikan ympäristö "heijastuu". Helpoiten tuommoisen tekee kahdentamalla panoraamatason kuvankäsittelyohjelmassa ja yksinkertaisesti litistämällä panoraaman kuvan pohjalle tuommoiseksi ohueksi viiruksi. Kuulassa tietysti edelleen näkyy kolmijalat ja muut rensselit, mutta onneksi huomiota herättämättömän pieninä.


(Alla ylösalaisin käännetty ja yllä oikein päin oleva panoraama. Pallopanoraama Älänteen kaskenpoltosta.)

Dolly-metodi eli kloonaaminen

Yksi - joissain tapauksissa aivan legitiimi - vaihtoehto on jättää nadiiri kuvaamatta ja turvautua kloonaamaan materiaalia muualta. Tuota pallopanoraamakuvaa vaan ei sellaisenaan voi nadiirin ja zeniitin osalta käsitellä, joten nuo alueet täytyy uudelleenprojisoida johonkin kätevämpään formaattiin. Kätevin projektio editointia varten on rektilineaarinen, koska se pitää kaikki suorat linjat suorina eikä vääristä liikaa kunhan kuva-alan leveyden pitää vaikka alle 90 asteessa.

Gimppiin on olemassa ilmainen lisäosa Mathmap, jolla operaatio onnistuu kivuttomasti. Monista panoraamataso (Gimpissä komento layer/duplicate layer) ja aja Mathmapin ToNadirZenith-niminen skripti valikkopolun Filter/Generic/Mathmap/Map takaa. Tuloksena on taso jolla nadiiri ja zeniitti napottavat vierekkäin. Kloonausoperaation jälkeen prosessi täytyy vielä ajaa toiseen suuntaan FromNadirZenith-skriptillä.

Kannattaa varmistaa että panoraamakuvan kuvasuhde on tasan 2:1 ja että kuva kattaa koko 360x180 asteen alueen eli kuva ei saa olla rajattu mistään. Muuten tuo skripti ei toimi odotetusti vaan tulee vääristymiä ja ne eivät ole koskaan kivoja.

Vastaavaa lisäosaa en 64-bittiselle Photoshopille ole löytänyt. 32-bittiselle Photoshopille on olemassa ilmainen SuperRune Cubic Converter, mutta tuo tuo mukanaan 32-bittisen softan muistirajoitukset ja muun kivan. Kaupallisista softista käytetyin lienee 45 euron hintainen Flexify. Valmiin pallopanoraaman voi tietysti ajaa uudelleen panoraamasoftan läpi, jos ei muuten onnistu pääsemään pallopanoraaman napa-alueisiin käsiksi. Periaatteessa kuvanlaatu laskee aina pikseleitä interpoloidessa, mutta pallopanoraamojen tapauksessa kuvan napa-alueet ovat niin hyvin ylinäytteistetty (siellä on niin sanotusti paljon ilmaa resoluutiossa) että mitään havaittavaa kuvanlaadun laskemista en uudelleenprojisointioperaatioissa ole havainnut.

Huginin XYZ-parametrit

Jos nadiirin kuvaa ja sen kuvaa vähän nadiirin sivusta, niin sen saa ujutettua mukaan pallopanoraamaan käyttäen Huginin XYZ-siirtoja (englanninkielisessä Huginissa termi noille on XYZ translations). Nämä siirrot siis siirtävät virtuaalista kameraa niin että kohdistuspisteet osuvat samalle kaksiulotteiselle tasolle. Helpoiten (ehkä) tämän saa itselleen visualisoitua vilkaisemalla alla olevaa panoraamakuvaa; siinä kohdistuspisteet ovat samalla tasolla tuolla rakennusten julkisivuissa, kameraa on vain kuljetettu pitkin katua.

Suokatu, Kuopio

Sama metodi toimii pallopanoraamoissa pienellä varauksella: tämän virtuaalisen tason pitää olla Huginissa kuvan keskellä - nadiirihan tulee kuvan alaosaan eli vaaditaan pientä softa-akrobatiaa asian ratkaisuun. Akrobatia tässä yhteydessä tarkoittaa kuvan navan kääntämistä kuvan keskelle; virtuaalista kameraa siis heilautetaan alaspäin 90 astetta. Tämä onnistuu Huginin OpenGL-esikatseluikkunan move/drag-välilehdellä antamalla pitch-kentälle arvo 90 astetta ja klikkaamalla apply.

Tuon jälkeen pitää vain kohdistaa nadiirikuva ja loppupanoraama keskenään lisäämällä muutama kohdistuspiste (neljä riittää). Ei ole juurikaan väliä onko loppupanoraama ns. valmiina pallopanoraamatiedostonana vai osakuvina ennen kasausta; kumpikin metodi toimii yhtä hyvin. Alla oleva kuvaesimerkki näyttää toimenpiteen valmiin panoraamakuvan kanssa.


(Pallopanoraama amiskalta.)

Kohdistuspisteiden lisäämisen jälkeen asetellaan kuvat oikeille paikoilleen. Tässä vaiheessa pitää muistaa ettei mene muuttelemaan muiden kuin nadiirikuvan paikkaa. Loppuosa panoraamastahan on jo aikaisemmin aseteltu kohdilleen, ei ole mitään syytä mennä muuttamaan kuvien asemointia enää. Optimizer-välilehdeltä valitaan alasvetovalikosta custom parameters ja ruksitaan pois kaikki muut kuvat paitsi nadiiri. Optimointi kannattaa ajaa iteroimalla eli ensin yaw, pitch ja roll, sitten uudelleen y/p/r, x ja y; sitten vielä kolmannen kerran y/p/r, x, y ja z. Jos ajaa kaikki parametrit kerralla läpi, päätyy nadiirikuva yleensä jonnekin näkymättömiin kuva-alan ulkopuolelle tai muuten jotenkin omituisesti pitkin ja poikin panoraamaa. Kuvien sijainnin koneoptimointi siis ajautuu paikalliseen minimiim, kun hakusessa on globaali minimi.

Viimeinen askel ennen panoraaman lopullista kasamista on pistää nadiirikuvalle maskit paikoilleen. Näillä maskeilla olisi tarkoitus peittää kuvasta kaikki muu mikä tulee edellä mainitun optimointitason ylä- tai alapuolelle. Käytännössä siis pelkkä lattia esimerkiksi jätetään näkyville, seinät yms. maskataan piiloon.

Edellä olevaa ohjeistusta voi soveltaa ainakin Ptguihin, tosin se ei tarvitse tuota nadiirin siirtoa kuvan keskelle. Ptgui käyttää termiä viewpoint correction puhuessaan noista kuvan siirroista.

0 comments:

Lähetä kommentti

Related Posts Plugin for WordPress, Blogger...