←前回
やっと、自作入出力ライブラリできました。これで、bmpフォーマットのことは何も考えずに、自分で定義した構造体の上で画像処理できます。
今まで迷っていたことに、コメントする感じで答えていきます。
今日も社内ニート - cBlog
あと、各ラインのピクセル数を4の倍数に切り上げるには、
(int)((n +3)/4)*4
とすればいいことを思いついた。
ピクセル数じゃないですね。byte数が4の倍数になれば十分です。
(もしかしたら、biXPelsPerMeterとbiYPelsPerMeterはキープした方がいいのかな? 悩む)
生成した画像の解像度を知る術はないので、キープせずに常に0としました。
2色、16色のサポートやめよう(迫真)
やめました。
その上で、256色もグレースケールにしか使いません。R chに輝度値、つまりindexを保持することにしています。2値画像も、256色カラーパレットを使って、R chに1が入っていると出力時に255に変換することにしました。ええ、手抜きです。bmpフォーマット自体に興味はないので。
今まで作ったもの
- bmpを読み込んで(画像データのみ)、ヘッダを付けたうえでそのまま出力
- グレースケール変換
実装時に思ったことといえば、構造体にパディングが入るので、メンバごとに入出力しないといけないんだなと。
グレースケールの変換式は、
0.2989R + 0.5870G + 0.1140B
今後の実装
- 2次元fft
- カラーバー出力