Python3 PIL库问题:ImageChops.difference返回None

问题代码

from PIL import Image,ImageChops
image_a = Image.open('origin.png')
image_b = Image.open('after.png')
x = ImageChops.difference(image_a,image_b).getbbox()
print(x)
from PIL import Image,ImageChops
image_a = Image.open('origin.png').convert('RGB')
image_b = Image.open('after.png').convert('RGB')
print(image_a)
print(image_b)
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=380x260 at 0x1D6AD150EB0>
<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=380x260 at 0x1D6AD150A30>

解决办法:转为RGB通道

from PIL import Image,ImageChops
image_a = Image.open('origin.png').convert('RGB')
image_b = Image.open('after.png').convert('RGB')
print(image_a)
print(image_b)
<PIL.Image.Image image mode=RGB size=380x260 at 0x1D6AD150AC0>
<PIL.Image.Image image mode=RGB size=380x260 at 0x1D6AD150EE0>
x = ImageChops.difference(image_a,image_b).getbbox()
print(x)
(261, 21, 313, 72)

猜你喜欢

转载自blog.csdn.net/Triumph19/article/details/124575898