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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • scrapy爬虫完整的代码实例[通俗易懂]

    scrapy爬虫完整的代码实例[通俗易懂]新建工程scrapystartprojecttutorial进入tutorial目录,在spider下面新建quotes_spider.pyimportscrapyfrom..itemsimportQuotesItem#coding:utf-8classQuotesSpider(scrapy.Spider):name=”quot…

    2022年6月26日
    32
  • C语言详细学生成绩管理系统

    C语言详细学生成绩管理系统C语言学生成绩管理系统简述:该学生管理系统数据结构采用结构体1、系统需求分析1.1系统介绍本学生管理系统是为教师人员提供管理班级成绩的工具,该系统可以实现的对学生的成绩进行增、删、改、查、信息保存和信息导入等基本功能,以及对学生成绩排序和分段的扩展功能,有利于对学生成绩管理。1.2功能性需求(1) 成绩录入(2) 成绩输出、成绩排序(按平均成绩)(3) 成绩查找(4) 成绩…

    2022年6月20日
    31
  • 闭包常见面试题_闭包的特点

    闭包常见面试题_闭包的特点理解:什么是闭包?1.密闭的容器,类似set/map容器,用来存储数据2.闭包是一个对象,存放数据的格式:key:value闭包形成的条件1.函数嵌套2.内部函数引用外部函数functionfun(){varcount=1;functionfun2(){//条件1:函数嵌套//形成条件2:内部函数引用外部函数console.log(count);}}fun();已经形成了闭包,以键值对的形式保存数据在外部.

    2022年8月30日
    3
  • snmptrap使用[通俗易懂]

    snmptrap使用[通俗易懂]SNMP简单网络管理协议,其中其支持的一个命令snmptrap命令,用于模拟向管理机发送trap消息。启动陷阱方法:snmptrapd-C-c/etc/snmp/snmptrapd.conf-Lf/var/log/net-snmptrap.log例如:snmptrap-v1-cpublic192.168.2.124.1.3.6.1.4.1…

    2022年8月21日
    5
  • 破解路由器管理登录密码「建议收藏」

    破解路由器管理登录密码(Linux内核)准备工具:puttytel登录软件正式开工:第一步:首先检查自己的路由器的系统,看是不是Linux内核的,只有是Linux内核的路由器才适合本教程,常见基于Linux内核的路由器系统有Openwrt和DDR-wrt等系统。查看方法一:首先用网线连接要破解管理密码的路由器(LAN口),然后输入登录地址192.168.1.1(一般是这个):可以看到,这个路…

    2022年4月9日
    794
  • idea 安装教程_复合门安装视频完整版

    idea 安装教程_复合门安装视频完整版IDEA的安装教程

    2022年10月2日
    3

发表回复

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

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