ロハでHDRパノラマ (3): HDR合成とトーンマッピング

ロハといっても、デジカメは買わなきゃいけないし、PCだって必要。ここで言うロハつうのは、FOSS (Free and open source software)のみでやってみよ、つこと。手元に稼働してるLinuxがあれば、ほぼ同じ作業が出来るはず。WindowsMacの人も似たようなモンだろ、知らねえけど。もう15年くらい、本気でWindowsの操作・設定をしてない、だから本気で知らん。

HDRつうのは、単にダイナミックレンジの圧縮表現、というだけでなく、主にはHuman perceptionの問題なんだな。人間の眼つうのは恐ろしいもんで、超解像で超ダイナミック。RGB各256階調しかないJPGファイルに見たまんまが収まる訳がねえ。で、賢い人が、ダイナミックレンジを圧縮して表現する方法を考えてくれた。トーンマッピングオペレータつうのがそれ。mantiuk06 (Mantiukさんが2006年に発表)、fattal02 (Fattalさんが2002年に発表)などをよく使う。

だから、世間でのHDRてのは、HDR合成とトーンマッピングの両方を指していることが多い。ブラケッティング撮影した写真からHDRを合成し、さらにトーンマッピングの面倒まで見てくれるソフトに、Luminance HDRてのがある。WindowsでもLinuxでもOK。ちょっとHDR試してみたいムキには、GUIがある分取っ付きやすいと思う。トーンマッピングオペレータも、mantiuk、fattal、drago、durand、reinhard、ashikhmin、pattanaikと勢ぞろい。ワシも最初はこれで作業してた。うちのPCではメモリ (いまどき1 GB)が厳しいらしく、処理できるのは1600x1200までだったが。パラメータの意味が分からんので論文引いたりもした。気色悪い写真も量産してしまった。

撮ってきた写真の意向なんかを大事にしたいならバッチ処理より、GUIで一枚一枚処理すべきだとは思う。思うがね、面倒いのよ。んで、結局バッチ処理しちゃう。しかも人の褌で。これまた賢い人が便利なスクリプトを書いてくれてる。これ、


だ。しかもこっちだと、3200x2400でも問題なく処理できちゃう。おかしいねえ、同じライブラリ使ってるはずなのに。

まんまのスクリプトで、何も手を加えなくてもかなりの質。だけど、ワシ的にはちょい薄味気味なんで、パラメータを変更して使用している。自分の記憶を信じる、つうのが大事。だからこそ写真に「正解」は無い。あ、バッチファイルはこんな感じ。

$ cat hdr.sh
mkdir IMG_4494
mkdir IMG_4497
mkdir IMG_4500
mkdir IMG_4503

mv IMG_4494.JPG IMG_4495.JPG IMG_4496.JPG IMG_4494
mv IMG_4497.JPG IMG_4498.JPG IMG_4499.JPG IMG_4497
mv IMG_4500.JPG IMG_4501.JPG IMG_4502.JPG IMG_4500
mv IMG_4503.JPG IMG_4504.JPG IMG_4505.JPG IMG_4503

createHDR.sh -a IMG_4494
createHDR.sh -a IMG_4497
createHDR.sh -a IMG_4500
createHDR.sh -a IMG_4503

ls *.JPG > hdr.shなどとして、ぴぴっと編集してでっち上げ。オプションの-aは、HDR合成の前にアライメントを取ってくれる有難いもの。手持ちHDRには重宝しまっせ。三脚使ったときはオプション要りません。多いときには200枚 (JPGが600枚)くらい処理するんで、半日PC放置とかは当たり前。各ディレクトリにGIMPのファイルが出来てるので、これを開いて確認、最終味付け、JPGへの書き出しを行う。ここは手作業する。大概は明るさとコントラストを少しいじるくらい。ローキーが好みなんで。

なんでもない写真が結構見れるものに。例えば、こんなん。ネオンの白トビが激しかったんで、通常の±2EVの他にもう一枚撮って都合8EV分。左上がカメラお任せの写真、悪くは無いけど記憶にある景色じゃない。建物のディテールも見えたし、空はもっとゲロゲロしてた、気がする。

上のスクリプトでは3種のトーンマッピングを使っている。ひとつめはEnfuse、こんなんなる。

二枚目はmantiuk06、こんなんなる。このオペレータだけで作品作る人もいる。

三枚目はfattal02、こんな。結構、絵的な、人工的な感じ。

んで、スクリプトの吐き出すGIMP画像は、Enfuse + mantiuk06・透明度50 %・ソフトライト + fattal02・オーバレイ。これをいじくると、こんな。

もっとゲロゲロが好きなら、Enfuse外すのもいいかも。

今のところ、HDR合成はこんなもん。GIMPからJPG書き出しするとそのままEXIFも引き継がれる。ジオタグ付きHDR写真のできあがり。ファイルのタイムスタンプがEXIFと違うイヤーン、つうキチな御仁は次の呪文を唱えるべし。

$ jhead -ft IMG_4494_HDR.JPG

パノラマ合成するなら、JPGでなくTIFFで書き出しておく。パノラマ合成の手順は明日以降。

関連する記事

HDRとは編集

  • High Dynamic Range、明度差を広く取った映像のこと。本来的な意味ではコンピュータ画面上で表示可能な8bitの色深度を越えた画像ということになるが、実際には8bitの中で明度を調整した画像を指すことが多い。 通常、映像は明るいところと暗いところを同時に.. 続きを読む
  • このキーワードを含むブログを見る

トーンマッピングとは編集

  • 標準以上のダイナミックレンジを圧縮・再配置するなどして標準のダイナミックレンジの画像を得る手法・手段。画像全体の階調を整えるもの、部分的に階調を調整するものに分類できる。wikipediaのハイダイナミックレンジ合成を参照。 続きを読む
  • このキーワードを含むブログを見る