使用Image(PIL)保存文件标记2张图片之间的差异

时间:2014-11-10 07:30:35

标签: python image python-imaging-library

我正在比较2张图片,并希望标记差异并将其保存在新文件中。

(Python 2.7 + Windows)

我正在做的事情如下:

from PIL import Image
from PIL import ImageChops
from PIL import ImageDraw

file1 = 'Animal Nov 2014.jpg'
file2 = ' Animal May 2014.jpg'

im1 = Image.open(file1)
im2 = Image.open(file2)

diff = ImageChops.difference(im1, im2).getbbox()
draw = ImageDraw.Draw(im2)
draw.rectangle(diff)
im2.save('file3.jpg')

当我将其保存到'file3.jpg'时,它会出错:

IOError: cannot write mode P as JPEG

当我将其保存到'file3.png'时,它会出错:

TypeError: an integer is required

如何将其保存到新文件中?感谢。



请参阅PIL (Image) ValueError: Not a valid number of quantization tables. Should be between 1 and 4

上的解决方案

1 个答案:

答案 0 :(得分:2)

答案可以在这个帖子中找到:Getting "cannot write mode P as JPEG" while operating on JPG image

  

您需要将图像转换为RGB模式。

在你的情况下:

im2.convert('RGB').save('file3.jpg')