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ゼロの場合、カラーテーブル値は使用されません
これがどこから来たのか、何かアイデアはありますか?