デジカメから生のデータを取り出したい

キリンとピアノ

あけましておめでとうございます。m(__)m

この「キリンとピアノ」の写真は,2001年に京セラSAMURAI 2100DGを(26799円で)買って撮ったものを当時のGIMPで編集して今でもXHTMLの講義メモの画像のページで使っているが,今回PowerShot G11で撮り直した。画質は当時とあまり変わらない。

ただ,G11はRAW形式(*.CR2)で保存できる。RAWは「圧縮していない生のセンサ出力」と説明されることがあるが,Inside the Canon RAW format version 2 というすばらしいページによれば,中身は古いJPEGロスレス形式のようだ(新しいJPEG-LSではない)。G11の場合,12ビット/ピクセルである。単純に3648×2736×12を計算すると14.3Mバイトほど(各センサはRGBのどれかしか感じないので3倍する必要はない)だが,ほかにもいろいろな情報が入っており,CR2ファイルのサイズは10〜14M程度になる。センサ出力だけをPGMのような扱いやすい形式で取り出すツールがあればおもしろそうだ。JPEG-LSで圧縮すればどのくらいに縮むだろうか。

RAWファイルはGIMPでも使われているオープンソースのUFRawで扱える。これをいじればセンサ出力がそのまま取り出せるかもしれない。興味はあるが,やっている時間がない。学生が卒論で取り上げてくれればいいのだが。

raw

ちょこっと使っただけですが、

http://www.cybercom.net/~dcoffin/dcraw/

と言うツールがあります。
これだと、PNM を吐いてくれます。

ただ、オンチップNR は当然掛かってるでしょうし、
キヤノンの場合RAW以前に一旦処理している
らしいので、完全にそのままってのを
取り出すのは無理かもしれません。

Re: raw

どうもありがとうございます。調べてみます。
「生」といってもそういう意味ではどこまで生かよくわからなくなるのですが,発想としては,写真の情報量は決してピクセル数×24ビットではなく,RAWの段階ではピクセル数×12ビット(あるいは14ビット)であり,それをうまくロスレス圧縮できればJPEGでは得られない高品位の画像があまりJPEGより大きくないファイルサイズで得られるのではないかというところにあります。

dcraw

とりあえずMacでmakeしてみました。
dcraw -D -4 foo.CR2
で16ビットの foo.pgm ができました。
pgmhist foo.pgm
で調べたところ,確かに12ビットの数値が並んでいるようです。

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。