📜  使用 PIL 查找图像之间的差异

📅  最后修改于: 2022-05-13 01:55:44.531000             🧑  作者: Mango

使用 PIL 查找图像之间的差异

Python解释器本身不包含处理图像和得出结论的能力。因此,PIL(Python Imaging Library)为解释器增加了图像处理能力。 PIL 是一个开源库,它为Python提供外部文件支持和处理图像及其表示的效率。基本上,PIL 旨在以图像(像素)的形式访问数据,以加快分析速度。

PIL 支持图像格式,如-

  • JPEG格式
  • 蒂夫
  • PNG
  • jpg
  • gif

有很多功能可以使用 PIL 执行,它们是-

1) 上传图片

使用 PIL,我们可以加载图像并显示它。

代码:安装 PIL 库后,运行以下代码以显示任何图像,例如abc

Python3
from PIL import Image
  
  
img1 = Image.open('abc.jpg')
img1.show()


Python3
from PIL import Image
  
  
img1 = Image.open('flower.png')
img1.save('flower.png')


Python3
from PIL import Image, ImageChops
  
  
img1 = Image.open('p.jpg')
img2 = Image.open('r.jpg')
  
diff = ImageChops.difference(img1, img2)
  
if diff.getbbox():
    diff.show()


输出:

运行代码后图片显示如下

2) 保存图像

代码:用于保存图像

蟒蛇3

from PIL import Image
  
  
img1 = Image.open('flower.png')
img1.save('flower.png')

注:其他使用PIL的功能——图像处理、使用ImageChops的区别、下载、读取像素等。

使用 PIL 库查找两个图像之间的差异

要找到差异,请在解释器中上传 2 个图像,然后使用 ImageChops 找到它们之间的差异,输出将不言自明。

用于差异的图像:

.jpg

.jpg

蟒蛇3

from PIL import Image, ImageChops
  
  
img1 = Image.open('p.jpg')
img2 = Image.open('r.jpg')
  
diff = ImageChops.difference(img1, img2)
  
if diff.getbbox():
    diff.show()

输出:

没有图像之间的额外部分/差异是绿色的。