こんにちは、Python Imaging Library を使用して、画像への小さな変換を行っています。イメージは、16 ビットの符号なし整数を含む生のバイナリ ファイルです。何らかの理由で、Python を動作させることができず、次のエラーが表示され続けます。
Traceback (most recent call last):
File "C:\Users\Patrick\workspace\colorCorrect\src\editGrayscale.py", line 24, in <module>
changed.save(saveFile)
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1423, in save
raise KeyError(ext) # unknown extension
KeyError: '.bin'
私のコードは次のとおりです。
import Image
#file to save: C:\Users\name\imagedata\visiblespec.bin
fileName = raw_input("Enter a file name: ")
saveFile = raw_input("Enter a new save file name: ")
with open(fileName, 'rb') as f:
im = Image.fromstring('L', (3032, 2016), f.read()) # also try 'L;16B', 'I;16', and 'I;16B'
changed = im.point(lambda i: i/2)
changed.save(saveFile)
繰り返しますが、私の画像はグレースケールの 16 ビット符号なし整数で、約 11 mbs で、16 進数で書かれています。
ありがとう!
アップデート:
ファイルを保存するために機能したコード:
def save(filename, contents):
fh = open(filename, 'w')
fh.write(contents)
fh.close()
save(saveFile, final)