python比较两张图片是否一样_opencv_判断两张图片是否相同

python金融风控评分卡模型和数据分析微专业课(博主亲自录制视频):http://dwz.date/b9vv

895802-20200722094657932-21874425.png

本文为原创,转载请注明,作者 231469242@qq.com

OpenCV介绍

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。

所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

opencv官网

e209257f-f4b7-48d8-a426-02b9a4646c68

python支持OpenCV的包,接下来作者教你如何安装python的OpenCV第三方包

pip install opencv

如果找不到版本,去非官方下载opencv第三方包http://www.lfd.uci.edu/~gohlke/pythonlibs/

下载好文件放入C:/Anaconda3/Scripts 文件夹, 然后 用pip install opencv安装

895802-20161224112618167-242466160.png

安装好OpenCV后,我们测试一下两张王力宏的照片是否一致。如果照片相同,程序会输出两张照片相同,如果两张照片不同,程序会输出两张照片不同。脚本如下。

python脚本代码

# -*- coding: utf-8 -*-

"""

Created on Sat Dec 24 10:42:10 2016

@author: daxiong

"""

import cv2

import numpy as np

#import os

file1= "1.png"

file2="3.png"

image1 = cv2.imread(file1)

image2 = cv2.imread(file2)

difference = cv2.subtract(image1, image2)

result = not np.any(difference) #if difference is all zeros it will return False

if result is True:

print("两张图片一样")

else:

cv2.imwrite("result.jpg", difference)

print ("两张图片不一样")

两张照片相同情况

895802-20161224112334370-1473061047.png

两张照片不同情况

895802-20161224112347479-594703200.png

python机器学习生物信息学系列课(博主录制):http://dwz.date/b9vw

895802-20200722151521412-1691559556.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值