これは初めてバイナリファイルを使って作業しています。私は、画像の各画素の緯度/経度を指定し、大きなバイナリファイルを使用しようとしているのPython 2.7バイナリデータをPythonで解釈する
を使用してい
。
このコードを使用する:open('input', 'rb').read(50)
ファイルには、次のようになります。 \x80\x0c\x00\x00\x00\x06\x00\x00.\x18\xca\xe4.\x18\xcc\xe4.\x18\xcf\xe4.\x18\xd1\xe4.\x18\xd3\xe4.\x18\xd5\xe4.\x18\xd7\xe4.\x18\xd9\xe4/\x18\xdb\xe4/\x18\xdd\xe4/\x18
...
読み取り私にファイルを復号化のために、以下の情報を提供しますが、私はそれらを適用する方法がわかりませんよ:
ファイルの順序はLSBFです。ファイルは、ファイルのピクセルとライン(x、y)サイズを示す2つの4バイト整数値で始まります。ファイルの後続の要素の後に、緯度および経度の2バイト整数値に100を掛けて切り捨てる(例えば、75.324Eは「-7532」)。
ありがとうございました。
これを行う理由は、最終的に誰かが不思議に思っていた場合に備えて、緯度/経度に基づいて画像を描画/変更するのではなく、ピクセルではなく変更することです。
これをNumPy配列に変換することができます。それは便利だろうか?ところで、あなたはPython 2またはPython 3を使用していますか? –
これはPythonでの主な2つのツールです。['struct'](https://docs.python.org/2/library/struct.html)モジュールと[' numpy.fromfile'](http:// docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.fromfile.html)。大量のデータを考えると、numpyはおそらく最も簡単で高速です。 [Here's](http://stackoverflow.com/questions/14245094/how-to-read-part-of-binary-file-with-numpy)の例です。あなたがそれに問題があるなら、それを試して特定の質問を投稿することをお勧めします。 – tom10
Sorry、編集者:Python 2.7を使用しています。 – MattS