如何利用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 26 Python
Python httplib模块使用实例
Apr 11 Python
Python中tell()方法的使用详解
May 24 Python
python中文分词教程之前向最大正向匹配算法详解
Nov 02 Python
Python学生成绩管理系统简洁版
Apr 05 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
Python中的 enum 模块源码详析
Jan 09 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
Matplotlib自定义坐标轴刻度的实现示例
Jun 18 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
python 多态 协议 鸭子类型详解
Nov 27 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
下载文件的点击数回填
2006/10/09 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
javascript 学习之旅 (1)
2009/02/05 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
js模块加载方式浅析
2017/08/12 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
python dict 相同key 合并value的实例
2019/01/21 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
python定时截屏实现
2020/11/02 Python
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
中职应届生会计求职信
2013/10/23 职场文书
我的网上商城创业计划书
2013/12/26 职场文书
师德学习感言
2014/01/31 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
公司会议开幕词
2015/01/29 职场文书
发布会邀请函
2015/01/31 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
Python基础详解之描述符
2021/04/28 Python
Tomcat用户管理的优化配置详解
2022/03/31 Servers