ベイヤ配列の線形補間

重いです、はてな
ありえないっつーの。

赤フィルタ補間イメージ

緑フィルタ補間イメージ

青フィルタ補間イメージ

補間イメージ (いきなり素敵な色合いになりました)
色補正はかけていません。
注目画素を中心に3 * 3の範囲で線形補間しただけです。
dcrawより色は良いので、もうこれで良いかなー!とか思ったりして。

上記イメージ群は、ちょっくらこしらえたコマンドにてPPM出力し、更にXnViewでPNG化してあぷしています。

えーと、色々と話すことがあるんだ。
あーそうそう、GRBGパターンで補間すると、緑フィルタイメージが格子状になって、更にフルフィルタ補間でイメージを表示すると赤が青になって表示されるの。で、一応、ベイヤ4パターンすべてで実装していたので、残り3パターンで試そうと思ったんだけど、どう考えてもBGGRパターンしかありえないので、処理させると上記の通り大正解でした。
んで、普通にRAWイメージをダンプしたら、数値からし

x G
G x

なデータな訳です。な訳で、BGGRパターンで処理するのが正解ということになりましたが、えー、データシートでのフィルタ仕様記述と実データの並びの問題ですが、よく分かりません。写像面のどちらが上で感光するのかも分からないし、TWAINでデータ転送する時もどのような形式なのか記述されていませんので。

少なくとも、実際にデータを処理してみてRAWデータ仕様で分かっていることは、

・484 * 644
・上下反転データ
・BGGRベイヤパターン

ちゅうことです。
なので、RAWデータを更に上下反転して出力状態にしてから処理すると、GRBGパターンで処理出来るということですね。

あとね、LCDCデモンストレータて、例の香港会社ちゅうより、STマイクロがLCDC.exeて既にSDK利用サンプルとして配布しているのね。香港のはDSC.exeだけど、なんだかリネームだけのような気もする(笑
SVT0680のデータシートをじっくり読むと、色々と勘違いしていた面が見えてきました。んー、やっぱりドキュメントは丁寧に読むべきですね。

それにしても、35万画素てこんなに綺麗だったのか。吃驚。
正直、このくすんだ色に萌えてるのですが、色補正ちゅうものを吸収したいのでdcrawの汚泥コードリーディングを開始します。そもそも、dcrawがベイヤ補間をどのように処理しているのかさえ知らないし。