生のバイナリ イメージを .bin ファイルとして保存しており、重要なデータが含まれています。問題は、色情報がわずかにずれているため、少し変更する必要があることです。R、G、および B の値をスカラーで乗算してから生のバイナリ ファイルとして保存する方法はありますか?
画像モジュールの基本を既に知っているので、これを行うために python 画像ライブラリを使用したいと考えています。すべてのピクセルに同じ値を掛ける必要がありますが、R、G、B の値は異なります。ファイルを開く次のコードがありますが、RGB 値を変更するために何をすればよいかわかりません。 .
fileName = raw_input("Enter a file name: ")
with open(fileName) as f:
im = Image.fromstring('RGB', (3032, 2016), f.read())
さらに情報が必要な場合はお知らせください。
更新:
希望する方法で画像を変換する次のコードを書きましたが、エラーが発生します。コードは次のとおりです。
with open(C:\Users\name\imagedata\visiblespec.bin, 'rb') as f:
im = Image.fromstring('RGB', (3032, 2016), f.read())
im = im.convert('RGB')
r, g, b = im.split()
r = r.point(lambda i: i * (255/171))
g = g.point(lambda i: i * (255/107))
b = b.point(lambda i: i * (255/157))
out = Image.merge('RGB', (r, g, b))
out.save(C:\Users\name\imagedata\visiblespecredone.bin)
私のエラーはこれです:
Traceback (most recent call last):
File "C:\Users\Patrick\workspace\colorCorrect\src\rawImage.py", line 18, in <module>
im = Image.fromstring('RGB', (3032, 2016), f.read())
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1797, in fromstring
im.fromstring(data, decoder_name, args)
File "C:\Python27\lib\site-packages\PIL\Image.py", line 594, in fromstring
raise ValueError("not enough image data")
ValueError: not enough image data
これは、RGB 値を編集する完全に間違った方法である可能性があります。JPEG で機能し、JPEG でのみ機能することはわかっていますが、これが私がやりたいことです。