C++でビットマップを作成する際に奇妙な問題があります。8ビットのグレースケール画像を作成するためにBITMAPFILEHEADERおよびBITMAPINFOHEADER構造を使用しています。unsigned char anは予想とまったく同じ長さであるため、ビットマップデータはDMAを介してカメラから送信されます。画像を開いて保存すると、色が含まれていますか?!
あるべき姿:http://www.freeimagehosting.net/qd1ku
あるべき姿:http
://www.freeimagehosting.net/83r1s
これがどこから来ているのか、何かアイデアはありますか?
ビットマップのヘッダーは次のとおりです。
42 4D 36 00 04 00 00 00 00 00 36 00 00 00 28 00 00 00 00 02 00 00 00 02 00 00 01 00 08 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
情報-ヘッダー:
424Dそのビットマップ
36 000400ビットマップのサイズ=0x040036-ヘッダーサイズ=512x512
00 000000予約済み
36 00 0000オフセット=Sizeof(Bitmapinfoheader);
28 00 00 00 Sizeof(Bitmapinfoheader);
00 02 00 00 = 0x200=512ピクセル。
00 020000同じ
01 00=1-標準。もう使用されていません。
0800色部=8ビット。
00 00 00 00圧縮:0=なし。
00 000000ファイルサイズまたはゼロ
00 00 00 00 X-Dot-Per-Meter、0のままにすることができます
00 00 00 00 y-Dot-Per-Meter、0のままにすることができます
00 00 00 00ゼロの場合、255色すべてが使用されます
00 00 00 00ゼロの場合、カラーテーブル値は使用されません
これがどこから来たのか、何かアイデアはありますか?