Canon RAW(CR2)を TinyDNGLoader で読む


漢だったら Canon RAW(CR2) の RAW センサー値データを読みたいですね!

やりましょう!

できました.

CR2 とは

CR2 は Canon のカメラの RAW 画像のフォーマットです.
実際の中身は TIFF + 拡張タグ + lossless JPEG 圧縮(sRAW とかでない, 通常の(?) RAW の場合)なので, DNG loader(TIFF loader)をちょっと拡張してあげれば読むことができます.

lossless JPEG は, DNG(TIFF)の tiled format ではなく, CR2 独自の slice(画像が短冊状に格納されている)ので注意です.

フォーマットの詳細は以下あたりが参考になります.

おまけ

最近 Magic Lantern でサポートされた, カメラ内 lossless DNG 保存も, 同じ lossless JPEG を使っているので TinyDNGLoader で読めるよ!
(非圧縮 RAW な DNG は以前から Magic Lantern でサポートがありましたが, 今回の lossless DNG は, カメラ内子プロセッサ? の lossless JPEG 圧縮 API を叩くことで実現しています)

lossless JPEG で保存することで, いずれ RAW Video でもより解像度高く保存できるかもしれませんね!(RAW Video はカメラの CF/SD カードの書き込みスピードがネック)

TODO

  • MakersNote(xml)をパースし, RAW の現像に必要な情報を得る.
  • sRAW とかも読めるようにする.

まとめ

  • 優秀な若人が, TinyDNGLoader を用い, CR2 から RAW センサー値取得を日々切磋琢磨し極めることで, 一億総 RAW センサー画像処理活躍社会を確立したい.