2

仕様が不明なやや複雑なファイルで、特に非圧縮のビットマップファイル(.BMP)が含まれている場合、Pythonでどのように抽出しますか?
「BM」タグをスキャンして、次のバイトがBMPヘッダーに「似ている」かどうかを確認しますか?

4

2 に答える 2

4

Python Imaging Library PILを使用して、データを試してみます。解析できる場合は、有効な画像です。例外をスローする場合、そうではありません。

画像の先頭を検索する必要があります。運が良ければ、画像リーダーは画像データの後のゴミを無視します。そうでない場合は、バイナリ検索を使用して画像の終わりを見つけます。

于 2009-05-14T09:53:26.850 に答える
4

はい、あなたができる唯一のことは、ファイルを検索して「BM」マーカーを探し、次のデータをBITMAPFILEHEADERと対応するBITMAPINFOに引き出し、その中の値が有効に見えるかどうかを確認することです(つまり、寸法が適切であるかどうか、色深度は妥当など)。

妥当と思われるものを見つけたら、そのデータを取り出して、別の回答で言及されているライブラリに渡します。

于 2009-05-14T10:19:51.127 に答える