如何利用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中类的一些方法分析
Sep 25 Python
Python实现把数字转换成中文
Jun 29 Python
Python输出各行命令详解
Feb 01 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
Linux下python3.7.0安装教程
Jul 30 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
Python高斯消除矩阵
Jan 02 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
python实现简单图书管理系统
Nov 22 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
python 解压、复制、删除 文件的实例代码
Feb 26 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
php树型类实例
2014/12/05 PHP
Java中final关键字详解
2015/08/10 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
jQuery 表格插件整理
2010/04/27 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
Python常用随机数与随机字符串方法实例
2015/04/09 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
高二物理教学反思
2014/02/08 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
新课培训心得体会
2014/09/03 职场文书
初中语文教师研修日志
2015/11/13 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
pytorch 如何使用float64训练
2021/05/24 Python
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js