ビットマップの白と黒のドットを数えるプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hoso

ビットマップの白と黒のドットを数えるプログラム

#1

投稿記事 by hoso » 18年前

初めて質問させて頂きます。
白と黒だけで描かれたビットマップ画像を用意し、縦のラインで白は幾つあるか、黒は幾つあるかを画像全体に関して求めたいのです。

例えばWindowsのペイントでペンツールだけで適当に絵を描いた大きさ640×384のビットマップ画像の場合、ある縦のラインでは白は120、黒は264あり、その隣の縦のラインでは白は124、黒は260あり、、、とこれを640回繰り返して画像の縦のラインでの白値と黒値の値を順次求めていきテキストファイルに出力するようなプログラムを考えています。

と、構想は考えているのですが、買ったC言語の本には画像処理に関してあまり記述が無く、どうか力をお貸しください。

Justy

Re:ビットマップの白と黒のドットを数えるプログラム

#2

投稿記事 by Justy » 18年前

 BMPファイルを普通にバイナリとして読み込んで先頭から随時解析していく必要があります。
(既存の bmpを扱えるクラスとかライブラリとかを使うのであれば別ですが)


 BMPのフォーマットはこちらを参考にしてファイルフォーマットを理解して下さい。

bmp ファイルフォーマット
http://www.kk.iij4u.or.jp/~kondo/bmp/
http://www.kk.iij4u.or.jp/~kondo/bmp/dib_form.txt


 ファイルの先頭からファイルヘッダの bfOffBitsの分だ進んだアドレス以降に画像データがあります。

 問題なのはペイントツールで保存したときに 24bit / 256色 / 16色 / モノクロのどの bmpで保存したのか、です。
 これによって画像データの解析方法が若干変わってきます。


 あとはこれも参考になるでしょうか。
http://a-gamyl.hp.infoseek.co.jp/Clang/bmpread.html

閉鎖

“C言語何でも質問掲示板” へ戻る