« 森に行く | トップページ | ブルーベリー収穫 »

2019年7月22日 (月)

rawを現像って?

最近、Linuxマシンで、EtherNet接続のカメラからのカラー画像取り込みをやっている。

まぁ、sampleプログラムを改良してカメラから来たFlameBufferをFileに落とすところまでは意外に?早くできた。

 

ところが。 ここで問題が。

 

「これ、どういうフォーマットの画像なの?」

 

普通はTIFFとかPNGとかBMPとかあるじゃないっすか。

そのカラー画像がどういうモノなのかがさっぱりわからんのですよ。

 

調べて見たら、カメラに搭載されているCMOSカラーセンサーからの読み出しデータが「そのまま」保存されてるらしい。

つまり、rawデータなんだと。 そのカラーCMOSセンサのデータ転送モードがいくつか指定できるのだが、

「Mono8」「Bayrer8RG」「Bayrer12RG」などがあって、FPSを重視したカラーは「Bayrer8RG」がよいらしいのだ。

Bayer8rg

Hi-Vision用のCMOSイメージセンサなのだが、こういうデータで送られてくるのだ。

ははぁ、、Hi-Visionの実質解像度は1440x1080だ、とかいうのはこのセンサがそういう解像度だからってわけだ。

しかし、RGBのデータで1画素を表現するには歯抜け部分をどうにかしないといけない。Greenの情報も多すぎだし。

で、2x2のエリアでRGBを拾ってきてカラーにする。多すぎるGは平均とるかどっちか捨てればいい。

Rgbconv1

これだと解像度が縦横1/2になってしまうね。

Rgbconv2

もしくは隣り合ったR-Rとかの平均値計算して真ん中を補正して埋めるわけだ。これなら解像度を保持したままだな。

 

ところがこの補正のやりかたや、このあとのゲイン補正、γ補正も考えると意外に複雑だ。処理の仕方で画像の質感も微妙に変わってくるだろう。

 

ここで気がついた。 「あ、これがrawから現像する、って事なのか」 と。(←おせーよ!:笑)

 

というわけで、rawから現像することをやっと・・理解し、肌身に感じた今日この頃なのであった。

|

« 森に行く | トップページ | ブルーベリー収穫 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 森に行く | トップページ | ブルーベリー収穫 »