新手向——如何用python比较图片的不同

How to Create a Diff of an Image in Python

准备两张不同的图片

  • 原图


    瀑布-200x300.jpg
  • 修改后(在左下角增加了文字)


    瀑布改-200x300.jpg

比较不同

  • 使用PIL(Pillow library)库
    安装 pip install pillow,然后直接用其中的ImageChops函数
from PIL import Image
from 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 None:
        # 图片间没有任何不同则直接退出
        return
    else:
        diff.save(diff_save_location)
 
if __name__ == '__main__':
    compare_images('/path/to/瀑布.jpg',
                   '/path/to/瀑布改.jpg',
                   '/path/to/不同.jpg')
  • 结果,底部的不同被显示出来了


    不同-200x300.jpg

其它

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,546评论 6 427
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,489评论 2 45
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,034评论 1 3
  • 大学四年 手帐买了一本有一本却依旧难以下定决心去写一些真正属于自己得文字 起初是被不屑与傲慢蒙了眼 "写东西的多半...
    芝心知心耶阅读 176评论 0 0
  • 不仅仅驱逐黑暗 也算是剥夺 真实的,虚幻的生命 光,温暖,生长了 遍地的芳草 另一种生命也在恣意生长 永恒不变 却...
    司徒晓攸阅读 261评论 0 0