徹夜でRAW

デジカメのRAWファイルではなくて、汎用フォーマットのRAWファイルと徹夜で格闘。

画像圧縮プログラムを作る際にわざわざGUIを用意するのが面倒だったので、メモリを自作のDataViewerプログラムで見て開発してたんだけど、なんか圧縮して展開した画像と素材のBMP画像をPhotoshopで見比べると、絵の暗い部分が元の絵より明るくなっていて浮き上がってしまっている事に気付く。徹夜して色々と原因を調べてみたところ判明した。

画像圧縮プログラムでは素材のBMP画像を読んでいたわけではなくてPhotoshopで出力したRAW画像を読み込んでいたんだけれど、PhotoshopでRAWで保存をした時点でそうなってしまっていた。自分のプログラムの処理が原因かと思って色々探したけど徒労に終わった…。

Photoshopの設定を変更すれば回避出来るのかどうかはわからないけれど、とりあえず画像圧縮プログラム用にBMPのモノクロ8bitインデックス画像を読み込む処理を書いて回避。8bitインデックスビットマップ画像をRAW画像にするのはIrfanviewとかImageJとかGIMPでも出来たんだけど、index値をそのまま書き出してしまうので使えなかった。

しかしいつもいつも思っていたんだけれど、画像縮小プログラムで使っている昔に書いた画像読み込みプログラム(ImageIO)は色んな画像のフォーマットに対応出来るように少し大掛かりに作ったんだけれど再利用性の観点から見ると作りが悪い。新しいプログラムで利用するコードをさっと書きにくいので手軽に使えない。今後は必要に応じて新しい画像読み込みプログラムを拡張していこう。

しかし自分の開発スタイルって近視眼的だなー。。画像確認用のGUIを面倒で作らなかったりとか、楽なのでRAW画像を使ったりとか、長い目で見るとトータルでは損をしてる気がする。