ゴブリンクォーク4の平均解析における暗明合成
(RaN186)Dark Light Synthesis in Average Analysis of Goblin Quark 4

黒月樹人(Kinohito KULOTSUKI, treeman9621)

ゴブリンクォーク4 [0] 入手から、準備・解凍・ライセンスキー・起動まで

ランダムノート2012ブランチページへもどる

 デジタルカメラのハイダイナミックレンジ

 デジタルカメラのパンフレットを眺めていて、「これは好いな」と思う機能があった。パンフレットを見比べて調べてみると、次の2つのカメラに採用されていた。
   @Panasonic LUMIX のiHDR
   ACASIO EXILIM のHDR(ハイダイナミックレンジ)
 どちらも、よく似た画像で説明されていた。強い日差しのもとでの、樹木の影を含めた風景写真である。通常の撮影では、このようなとき、明るい光に負けて、樹木の影のところが、肉眼で見たときの印象より、ずいぶん暗くなってしまう。このような現象を「黒つぶれ」と言うそうだ。逆に、光が強く当たっているところでは、色が分からなくなるほど白く光ってしまう。こちらは「白とび」なのだそうだ。
 上記@とAの機種では、少し違いはあるものの、ほとんど同じアイディアで、この、「黒つぶれ」や「白とび」という問題を解決しようとしている。その方法というものは、フィルムカメラでは不可能だったものである。
 @のパンフレットには、次のように説明されている。


 Aのパンフレットには、次のように記されている。


 なんと、2枚からではなく、「暗い露出」「中くらいの露出」「明るい露出」による3枚から、「明るい空」「建てものなどの風景」「陰になっている樹木など」を、それぞれ選び出して合成するというのだ。これはスゴイな。瞬間的に5枚も同じシーンを記録しておくなんて、フィルムカメラの時代には考えられなかった。5枚をモータードライブで写す間に、動いているものなら、どこかに行ってしまうし、人間なら、ポーズが変わってしまう。こんな「手」があったなんて、想像もつかなかった。
 BMP画像解析のためのゴブリンクォーク4を組みあげ、次は、これの機能を制限した(無料)サンプルプログラムを編集しなくては、そう思って、生活のための仕事に向かって車のハンドルを操作していたとき、ふと、「こうすればいいんじゃないか」と思い浮かんだ。山の中の道を走りながら、このアイディアをメモするために、車を止める場所を探した。

 ゴブリンクォーク4の平均解析における暗明合成

 メモには、このように記した。
 「明暗ハイブリッド
 のちに、このアイディアを実現するためのアルゴリズムを考え、ゴブリンクォーク4の「平均(解析)」ページへ組み込むとき、これは、次の言葉へと変化した。
 「暗明合成
 これは、「平均(解析)」ページの、「◇平均画像」「◇HYBRID」に続いて、「◇暗明合成」として組み込むこととなった。「明暗」ではなく「暗明」となったのは、画像の濃淡値を指定するのに、「0 ←→ 255」という一行を加えていたからである。左にある0のほうが「暗く」て、右にある255のほうが「明るい」のだ。この数字に合わせるために、「明暗」ではなく「暗明」とする必要があったわけである。
 このようなアルゴリズムを考えたヒントは、上記のパンフレットの説明文にあった。暗い画像と明るい画像を組み合わせて、それぞれから、好ましいところを使えばよいのだ。
 「◇平均画像」では、P画像とQ画像を、重みづけをして合成した。
 「◇HYBRID」では、P画像から色情報を、Q画像から形の情報を、それぞれ取り出して、新たな画像を再構成するところからスタートした。
 今度は、P画像から暗いほうの半分を、Q画像からは明るいほうの半分を取り出して、これらをピクセル単位で再構成すればよいはず。これまでに生み出した技術を使えば、実現可能なはずだ。
 「明暗ハイブリッド」というキーワードをメモするまでに、冷え込みで生じた霧のなか、車を走らせながら、このように考え続けた。この日は日曜日だったので、仕事に向かう対向車はほとんどなかったし、朝方だったので、山陰から鹿が飛びだしてくる可能性も少なかった(残業が長引いた、暗い夜になると、このような「連中」の飛びだしがある)。
 この日の仕事は5時に終わった。帰りにコンビニによってビールを買うのも忘れ、帰宅して、コーヒー豆をひき、お湯を沸かして、ゴブリンクォーク4の「平均」ページを直すための、スイッチ配置の設計メモを描きだした。
 このような物語の結果、できあがった「平均」ページの構成画像を、このあと順に示しながら、「◇暗明合成」の結果がどのようになるのかを示すことにしよう。


(画像をクリック → 拡大原画像へ進む)

(画像をクリック → 拡大原画像へ進む)

(画像をクリック → 拡大原画像へ進む)

(画像をクリック → 拡大原画像へ進む)

(画像をクリック → 拡大原画像へ進む)

(画像をクリック → 拡大原画像へ進む)


 図1と図2から、図5がどのように合成されているのかを見れば、「P ←→ Q」のスイッチの意味が分かることだろう。濃淡値の「0 ←→ 255」における、0に近いほうでP画像を使い、255に近いほうの空などでは、Q画像を使っているわけである。
 ハイダイナミックレンジと呼ばれている機能なぞ、想像もつかなかった、旧式のデジタルカメラで撮影した画像が一枚あったとしよう。ウィンドウズOSにあるペイントソフトを使って、これをBMP画像に変換し、ゴブリンクォーク4の、たとえばキャロット解析により、明るい部分を見やすくした画像を作ろう。これをcarrot.bmp と名づけておく。もう一つ、今度は、暗い部分を見やすくした画像として、オニオン解析を使う。これによる解析画像をonion.bmpとする。
 引き続きゴブリンクォーク4の「平均」ページへと移り、P画像としてonion.bmp を呼び出し、Q画像としてcarrot.bmp を呼び出す。このとき、「P ←→ Q」をクリックすれば、ハイダイナミックレンジ画像が得られる。
 ゴブリンクォーク4があれば、ハイダイナミックレンジの画像を得るために、@やAのような最新デジタルカメラを使わなくてもよい。もちろん、他の機能として、プログラムソフトだけでは手に負えないものもある。自由になるお金がたくさんあれば、私も欲しいのだけれど、残念ながら、そのような状況にはない。
 現在の私にできることといえば、C言語プログラムで成し遂げられる解析アルゴリズムを考えることと、それを具体的に組み上げることである。

 (Written by KULOTSUKI Kinohito, as treeman9621, April 22, 2012)

 広告

 

ランダムノート2012ブランチページへもどる