介绍
这篇文章给大家介绍使用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怎么对比两张图片的不同点就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。