如何利用opencv判断两张图片是否相同详解


Posted in Python onJuly 07, 2021

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官网

https://opencv.org/

如何利用opencv判断两张图片是否相同详解

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

pip install opencv

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

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

如何利用opencv判断两张图片是否相同详解

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

python脚本代码

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 ("两张图片不一样")

两张照片相同情况

如何利用opencv判断两张图片是否相同详解

两张照片不同情况

如何利用opencv判断两张图片是否相同详解

opencvcv判断两张图片是否相同就为大家介绍到这里,非常简单

总结

到此这篇关于如何利用opencv判断两张图片是否相同的文章就介绍到这了,更多相关opencv判断图片相同内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python中实现贪婪排名算法的教程
Apr 17 Python
整理Python最基本的操作字典的方法
Apr 24 Python
Python 统计字数的思路详解
May 08 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
Python中的四种交换数值的方法解析
Nov 18 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
Apr 07 Python
Django实现图片上传功能步骤解析
Apr 22 Python
详解python tcp编程
Aug 24 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 Python
Selenium浏览器自动化如何上传文件
Apr 06 Python
Python中文纠错的简单实现
Jul 07 #Python
python树莓派通过队列实现进程交互的程序分析
Python多线程 Queue 模块常见用法
Jul 04 #Python
python 中yaml文件用法大全
Jul 04 #Python
python3实现常见的排序算法(示例代码)
用Python编写简单的gRPC服务的详细过程
Jul 04 #Python
python中__slots__节约内存的具体做法
Jul 04 #Python
You might like
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
PHP7+Nginx的配置与安装教程详解
2016/05/10 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Scrapy框架使用的基本知识
2018/10/21 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
如何在sublime编辑器中安装python
2020/05/20 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
老教师工作总结的自我评价
2013/09/27 职场文书
领导证婚人证婚词
2014/01/13 职场文书
新年晚会主持词
2014/03/24 职场文书
机械专业技术员求职信
2014/06/14 职场文书
走进敬老院活动总结
2014/07/10 职场文书
同意离婚答辩状
2015/05/22 职场文书
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS