デジタルでの色の表現て何気にアレな感じ

先日の題材がボケボケなので、Che-ez SPYZのカタログスペック最短距離50cmをメジャーで測定しーの、被写体置きーの、比較用にIXYでも撮影しーの、さみーの!

IXYで撮影した結果。

LCDCデモンストレータで現像した結果。
LCDCデモンストレータは、STV0680データシートにも記載されているけど「RAWデータ取得はデバッグ用に使ってね☆」という断り書きをシカトしてユーザ公開したことに意義がある(誰かが作れば別だけど)。でも、TWAINでアレな人がどうせ見つけ出していたとは思うけど。

チーマネで現像した結果。
LCDCデモンストレータとチーマネのBMP出力結果は同じに見えるので、きっとSTマイクロテクニクスのSTV0680チップ用SDKを利用していると見られる。普通に考えればLCDCチップ利用先がわざわざ現像処理を開発する工数を取るはずもない訳で。なので、LCDCデモやNHJのチーマネはGUIだけの開発と推測。にしても、赤の発色はピンクぽくて全体的に白混ぜな感じがする。

dcraw -a STV0680RawFileにて現像した結果。色がちゃんと出ない。ちゅか、ちゃんとパラメタ設定出来ていない私が悪い。まぁ、白薔薇自動で現像した結果ということに踏みとどめておきます。なんちゅうかね、dcrawのソースは鬼みたいに汚いのでリーディングに時間がかかるのですよ。この色、紅塗らないと駄目な女性の唇に近い。

先日のBayerパターン疑問に関する完結編。
カラーフィルタパターンはGRBGなのに、dcrawはBGGRパターンとして処理してるって話。
まず、CMOSで受光したイメージはカメラと同じく上下反転していました。この事実を踏まえると、dcrawはRAWなイメージをメモリ展開する時に上下反転を解消した状態にしているのでしょう。そうすると、垂直画素数484なのでBGBGBG..パターンでの偶数行データが先頭(奇数行)に来ますからパターンも逆になります。そう考えると辻褄が合います。
CMOSに被写体は上下反転せずに感光しているイメージとなります。
RAWデータは上下反転です。
つまり、CMOS上のカラーフィルタは左上からGRGRGR・・・となりますが、RAWデータをそのまま処理すると、被写体イメージの最下段(484ピクセル目)からアクセスとなりますので、BGBGBG・・・となります。

いまいちLCDCデモンストレータのRAWイメージファイルは扱い難い(別アプリでの展開とか出来ない)ので、PGMファイルにするためコマンドをこしらえました。また、その際にRGBデータを分離し、近傍補間して各データをPGMで出力するよう実装しました。これだけで見ると、これらの1バイトデータを普通にフルカラーRGBデータとして合成しても微妙な感じがします(まだ実装していません)。赤フィルタイメージのポストオブジェクト(赤)があまりにも低感度だからです。そもそも、このカラーフィルタの波長特性などもグラフで入手していませんし、XYZフィルタではなくRGBフィルタの場合、どのような波長になるかは色々と調べないと分かりません(等色関数云々)。
なんちゅうか、今までデジカメに対して愛が無さ過ぎた。ごめん。デジカメて凄いと思えるようになった。銀塩も凄いと思うけど(本当は思っていない)、デジカメは凄いと思う。補正の嵐だもんね。嘘ばかりの世界で、どうやって人間の眼を欺くかってところに執念を感じた。今までレタッチを馬鹿にしてたけど、デジカメ自体、シャッター切った瞬間レタッチしてるんだもんな。レタッチを馬鹿にすることは、デジカメを否定することになる。僕はデジカメを否定しないことにした。

赤フィルタイメージ (近傍補間)

緑フィルタイメージ (近傍補間)

青フィルタイメージ (近傍補間)

CMOS Bayer配列イメージ (リバースしてるのでBGGRパターン)