如何利用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的setuptools框架下生成egg的教程
Apr 13 Python
python计算文本文件行数的方法
Jul 06 Python
Python入门之三角函数tan()函数实例详解
Nov 08 Python
python机器学习理论与实战(五)支持向量机
Jan 19 Python
Django中Model的使用方法教程
Mar 07 Python
python整合ffmpeg实现视频文件的批量转换
May 31 Python
Python内存管理实例分析
Jul 10 Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 Python
python验证码图片处理(二值化)
Nov 01 Python
python实现FTP循环上传文件
Mar 20 Python
python学生管理系统的实现
Apr 05 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 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多种序列化与反序列化的方法
2013/06/06 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
javascript for循环设法提高性能
2010/02/24 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
原生JS轮播图插件
2017/02/09 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python的subprocess模块总结
2014/11/07 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
django 控制页面跳转的例子
2019/08/06 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
前台接待员岗位职责
2014/01/02 职场文书
新领导上任欢迎词
2014/01/13 职场文书
献爱心活动总结
2014/05/07 职场文书
环保专项行动方案
2014/05/12 职场文书
新手上路标语
2014/06/20 职场文书
信用卡工资证明格式
2014/09/13 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
经理聘任证明
2015/03/02 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
学校社团活动总结
2015/05/07 职场文书