2016-05-26 10 views
0

他の画像から平均画像を減算しようとしています。他の画像から減算する

Avv=Image.open("Average.tiff") 
os.chdir("D://ESSAI_1//Bulle") 
dir_bubble=os.listdir("D://ESSAI_1//Bulle") 
tiff_bubble=[filename for filename in dir_bubble if filename[-5:] ==".tiff"] 
new_image = ImageChops.subtract(tiff_bubble, Avv) 
out=Image.fromarray(new_image) 
out.save("Contrasted.tiff") 
out.show() 

しかし、私はこのエラーメッセージがあります:ここに は私がやったことある

AttributeError: 'list' object has no attribute 'load' 
+0

あなたは 'ImageChops.subtract'に' tiff_bubble'(リスト)を渡しています。これは2つの画像をパラメータとして受け取ります。 –

答えて

1

new_image = ImageChops.subtract(tiff_bubble, Avv)

subtractの最初の引数は、Imageオブジェクトでなければなりません。 tiff_bubbleはImageオブジェクトではなく、文字列のリストです。

tiff_bubbleイメージを作ってみてください。

possible_filenames = [filename for filename in dir_bubble if filename[-5:] ==".tiff"] 
tiff_bubble = Image.open(possible_filenames[0]) 
+0

ありがとうございました!しかし、画像のモードが間違っていて、new_image.convert( 'L')を使って変換しようとしましたが、まだ動作しません。 – Jalyo334

+0

'new_image.convert( 'L')'は何もしません。 'x + 4'が' x'の値を変更しないのと同じ理由です。あなたは結果で何かをしなければなりません。 try 'new_image = new_image.convert( 'L')' – Kevin

関連する問題