使用python怎么对比两张图片的不同点

  介绍

这篇文章给大家介绍使用python怎么对比两张图片的不同点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

得到PIL  import 形象   得到PIL  import  ImageChops    def  compare_images (path_one, path_two,, diff_save_location):   “才能”;“   比才能较图片,如果有不同则生成展示不同的图片   @才能参数一:,path_one:,第一张图片的路径   @才能参数二:,path_two:,第二张图片的路径   @才能参数三:,diff_save_location:,不同图的保存路径   “才能”;“   时间=image_one 才能;Image.open (path_one)   时间=image_two 才能;Image.open (path_two)   ,,试一试:   ,,,diff =, ImageChops.difference (image_one, image_two)   ,,,if  diff.getbbox (), is 没有:   ,,,#,图片间没有任何不同则直接退出   ,,,,,印刷(“【+】We 断开连接,从而相同!“)   ,,,:   ,,,,,diff.save (diff_save_location)   except 才能;ValueError  as  e:   ,,,text =,(“表示图片大小和盒子对应的宽度不一致,参考API说明:Pastes  another  image  into 却;能够形象!”   ,,,,,,,,,box  argument  is  either  a  2-tuple  giving 从而upper  left 角落,a  4-tuple  defining ,,,上,,,   ,,,,,,,,,,以及lower  pixel 坐标,,趁机None  (same  as (0, 0))只If  a  4-tuple  is ,,, size  of 从而pasted “   ,,,,,,,“image  must  match 从而size  of 从而地区。使用2纬的盒子避免上述问题“)   ,,,print (“【{0}】{1}“.format (e、文本))   if  __name__ ==, & # 39; __main__ # 39;:   compare_images才能(& # 39;1. png # 39;   ,,,,,,,,,& # 39;2. png # 39;   ,,,,,,,,,& # 39;我们不一样png # 39;)

第二种方法:

得到PIL  import 形象   import 数学   import 运营商   得到functools  import 减少   def  image_contrast (img1, img2):   时间=image1 才能;Image.open (img1)   时间=image2 才能;Image.open (img2)   时间=h2 才能;image1.histogram ()   时间=h3 才能;image2.histogram ()   result 才能=,math.sqrt(减少(operator.add,列表(map (lambda  a、b: (a - b) * * 2, h2,, h3)))/len (h2),)   return 才能结果   if  __name__ ==, & # 39; __main__ # 39;:   img1 =,才能“。/1. png", #,指定图片路径   img2 =,才能“。/2. png"   时间=result 才能;image_contrast (img1 img2)   打印(结果)才能

如果两张图片完全相等,则返回结果为浮点类型“0.0”,如果不相同则返回结果值越大。

同样用上面两张图片,执行结果为38岁还是比较小的:

使用python怎么对比两张图片的不同点

关于使用python怎么对比两张图片的不同点就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

使用python怎么对比两张图片的不同点