« FLOW - COLORS を歌ってみた | メイン | エコシステム »

2010年06月04日

OpenEXR

16bit/channel 以上の扱いやすそうなフォーマットが必要になって、ちょっと探したんですがなかなか簡単に使えるものはなさそうです。で、昔すこしいじっていた OpenEXR の確認をしてみました。

ファイルフォーマットを確認してみると結構柔軟で、HALF/FLOAT/UINT をチャンネル毎に指定できます。しかも無圧縮フォーマットもあるので提供されているライブラリを使わなくても UINT 無圧縮の save/load に関しては簡単に作成することができます。これは便利そうだ、と思って検索を進めてみると、

C API を用いる場合は、 ピクセルフォーマットは 16bit float のみ、RGBA 以外のチャンネルは扱えない

といった情報を見つけました。

嫌な予感がして OpenEXR のサイトで提供されている Photoshop のプラグインを使って UINT フォーマットの load/save を試してみました。テスト的にバイナリエディタで UINT 無圧縮フォーマットのファイルを作って exrdisplay で確認。これは正常に表示されます。そして Photoshop で読ませてみると、、、ヘッダの解釈はそれなりだけど(width/height は正常)、 pixel type 間違ってるよ。。

HALF しかちゃんとサポートしていないようですね。むむむ、これは使えないなぁ、ということで振出です。


投稿者 napier : 2010年06月04日 00:54


トラックバック

このエントリーのトラックバックURL:
http://will.squares.net/mt/mt-modified-tb.cgi/1158