画像処理 その2
■ このスレッドは過去ログ倉庫に格納されています
0232デフォルトの名無しさん
NGNGと言われたため、ここで質問させてください。
BMPについて、オーム社のC言語で学ぶ実践画像処理を参考にしたところ、
RGB24ビット無圧縮で記録されたBMP形式では
ヘッダ54バイト、BGR・BGR・BGR・BGR・・・(画素分)
というように記述されているとわかりました。
つまりファイルサイズは、縦×横×3+54(バイト)で求まるはずです。
ところが、実際にファイルサイズを確認してみたところ、
この式の通りの画像もあれば、数十〜数百バイト(画像が大きくなればもっと?)分だけ
大きくなっている画像もありました。
上記の式を元にしたBMP読み込みのプログラムを書いたのですが、
やはりと言うか、この式で求まるファイルサイズより大きくなる画像では
正常に読み込めませんでした。
BMPで保存する方法としては、Photoshop、Vix、IrfanViewで試したのですが、
ソフトによって結果が変わるのではなく、画像ごとに決まった結果となりました。
つまり、同じPhotoshopで保存した画像でも、上記の式の通りのファイルサイズもあれば
それより大きくなるものもあるのです。
いずれもパレットは使用しないように設定して保存しています。
バイナリエディタで開いてみたところ、理論値よりファイルサイズが大きくなる画像では、
通常のヘッダ54バイト、色情報に続いて、ファイルの終わりに意味不明の情報が
入っていました。(何を表しているのかわからない値00、FF、80などの羅列)
ファイル末にある、余分な情報は何でしょう?
また、式をどう変更すべきなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています