今時のデジカメはCCDで記録したイメージを圧縮等加工せずにそのまま(ほぼ機種依存の独自規格の)生データとして保存しておき、後でいろいろなパラメータを弄りつつ汎用のJPEG等圧縮画像データに「現像」出来るようになっているらしい。
私はそんなRAWデータで保存できるデジカメを持っていないので別に気にしていなかったんですけど、この「現像」作業ってのがなかなかにくせ者で、カメラメーカが提供している現像ソフトは出来が悪かったり、大量の画像を一括で処理するのに難があったりするらしく、いろいろそれに関するフリーソフトもWin、Mac問わずあるらしい。
知り合いによいフリーソフトがないか尋ねられたのだが、イマイチ私自身知らなかったのでちょっと調べてみたところLinux環境で使えるかなり強力なフリーソフトがあるらしい事がわかった。その名もdcraw
http://www.cybercom.net/%7Edcoffin/dcraw/
最近Cの勉強?をしていたのでUnixなソースコードからコンパイルして使えるものを試してみようということで早速ダウンロードしコンパイルしてみる
gcc -o dcraw -O4 dcraw.c -lm -ljpeg -llcms
でコンパイルしようとしたところヘッダファイルがないと文句を言われるし、エラーが出てコンパイルが成功しない。ま、該当ヘッダファイルを集めてもいいんだけど、面倒だし、ページを斜め読みしたところなくても試すだけなら問題なさそうなので該当ヘッダファイルを飛ばして
gcc -o dcraw -O4 dcraw.c -lm -DNO_JPEG -DNO_LCMS
でコンパイルしてみたところうまくいった。
早速ネットに落ちていた.cr2形式(canon EOSのRAWフォーマット)のファイル(1486.cr2)を拾ってきてターミナルから
./dcraw 1486.cr2
と叩くと、しばらくして1486.ppmというファイルが出来上がった。
このppmというファイル形式を適当な画像コンバータでjpgに圧縮してやれば完成。
ちなみに試験的にppm→jpgはToyViewerを使ってみたけれど、ToyViewerでcr2ファイルも直接開けました(笑)ま、パラメータを弄れる訳ではないけどね。でもね、dcrawで全くパラメータを弄らずに現像したより、ToyViewerで自動的に?開いた方が自然な色合いになってるのね。dcrawはパラメータを弄ってナンボのプログラムなんでしょね。ついでに言うとOSX標準のプレビューでも開くことができて、TIFFに変換して保存できました。
ちなみにファイルサイズはオリジナル(cr2)が7.2MBだったのが、ppm経由で低圧縮最高画質jpgにしたら4.3MB、直接jpgに落としたら4.9MBでした。
オマケ
独自形式だったせいでOSX移行後開けなくなっていたQuickTakeの画像を現像?する事もできた(笑)
追記
./dcraw -w -T <rawファイル>
でホワイトバランスを使用したカメラの標準設定に合わせてくれて、ついでにTIFFに変換してくれる事が判明。たぶんこれだけで十分使い物になると思われる。
なお
./dcraw -c <raw file> | cjpeg > hogehoge.jpeg
とすればJPGまで一気に変換してくれる。(要cjpeg)一括変換したい場合ファイルネームはどうなる?
そのほか使えそうなパラメータオプション一覧
-b brightness
ブライトネス。デフォは1.0
-4
16ビットカラー
-T
TIFFで保存
-w
ホワイトバランスをカメラの初期設定に
-a
ホワイトバランスを画像の平均で設定