python+PIL实现图片对比

python+PIL实现图片对比

安装依赖库

pip install pillow

贴代码:

from PIL import Image
import math
import operator
from functools import reduce


def compare_images(pic1, pic2):
	# 使用Image函数拿到图片
    image1 = Image.open(pic1)
    image2 = Image.open(pic2)
    # 获取图片 RGB 的值,返回的是一个数组list
    histogram1 = image1.histogram()
    histogram2 = image2.histogram()

    # 获取 histogram 列表中的数据,
    differ = math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2,histogram1, histogram2)))/len(histogram1))
    
    # differ的值为0,则表示图片相同,如果differ越大,则表示图片差异越大
    print('differ:',differ)
    if differ == 0:
        return 'same'
    else:
        return 'diff'
        
# 传两张图片的地址或者存放路径
compare_images(pic1='xxx', pic2='xxx')
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100691.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CPU测试_性能测试cpu温度多少范围正常

    CPU测试_性能测试cpu温度多少范围正常目录一系统性能测试指标1.1响应时间1.2并发1.3点击量/点击率1.4吞吐量/吞吐率1.5TPS/QPS1.6PV/UV二Linux服务器性能指标2.1CPU使用率2.2内存占用率2.3系统平均负载2.4磁盘IO2.5linux常用性能命令2.5.1CPU2.5.2内存2.5.3负载2.5.4磁盘2.5.5整体性能测试指标是衡量系统性能的评价标准,常用的系统性能测试指标包括:响应时间…

    2025年8月20日
    2
  • blob对象介绍[通俗易懂]

    blob对象介绍[通俗易懂]一个Blob对象表示一个不可变的,原始数据的类似文件对象。Blob表示的数据不一定是一个JavaScript原生格式blob对象本质上是js中的一个对象,里面可以储存大量的二进制编码格式的数据。创建blob对象创建blob对象本质上和创建一个其他对象的方式是一样的,都是使用Blob()的构造函数来进行创建。构造函数接受两个参数:第一个参数为一个数据

    2025年6月19日
    2
  • 联想服务器怎么拆硬盘,联想ThinkStation P900工作站高清拆解[通俗易懂]

    联想服务器怎么拆硬盘,联想ThinkStation P900工作站高清拆解[通俗易懂]【IT168厂商动态】联想不久前推出了全新一代ThinkStationP系列工作站家族,颠覆以往命名,启用以“P”开头的全新命名规则,包括从入门级到旗舰级应用的ThinkStationP300、ThinkStationP500、ThinkStationP700和ThinkStationP900四款产品,而今天我们就对号称“史上最强工作站”的ThinkStationP900进行了拆解。联…

    2022年5月23日
    70
  • mac idea 2021.8激活码_在线激活

    (mac idea 2021.8激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~Z…

    2022年3月22日
    88
  • 类加载器的作用

    类加载器的作用深入探讨 Java 类加载器成富 软件工程师 IBM 中国软件开发中心成富任职于 IBM 中国软件开发中心 目前在 Lotus 部门从事 IBMMashupCen 的开发工作 他毕业于北京大学信息科学技术学院 获得计算机软件与理论专业硕士学位 他的个人网站是 nbsp http www cheng fu com 简介 nbsp 类加载器 classloader

    2025年9月18日
    0
  • Windows 10配置远程开机[通俗易懂]

    Windows 10配置远程开机[通俗易懂]简介最近有个需求,在外边或者是上班的时候想从家里的电脑拿点资料,虽然家里的路由器有公网IP地址,但是电脑总不能一直开着吧,然后就想到可以远程通过网卡唤醒电脑。前提条件拥有一个公网IP(一般可以找运营商申请),如果拥有的公网IP是动态的话,需要绑定DDNS域名,DDNS域名可以自行注册。 电脑主板支持网络唤醒功能。配置方法主板开启网络唤醒功能,如图:设置网络适配器支持唤醒…

    2022年5月5日
    162

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号