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

 更新时间:2021年07月06日 10:35:52   作者:python机器学习建模  
这篇文章主要给大家介绍了关于如何利用opencv判断两张图片是否相同的相关资料,OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法,需要的朋友可以参考下

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/

图片

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

pip install opencv

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

下载好文件放入C:/Anaconda3/Scripts 文件夹, 然后 用pip install 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 ("两张图片不一样")

两张照片相同情况

图片

两张照片不同情况

图片

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

总结

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

相关文章

  • 在python中利用try..except来代替if..else的用法

    在python中利用try..except来代替if..else的用法

    今天小编就为大家分享一篇在python中利用try..except来代替if..else的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • pyautogui自动化控制鼠标和键盘操作的步骤

    pyautogui自动化控制鼠标和键盘操作的步骤

    这篇文章主要介绍了pyautogui自动化控制鼠标和键盘操作的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例

    Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例

    这篇文章主要介绍了Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能,结合实例形式分析了scrapy框架proxy代理设置技巧与相关问题注意事项,需要的朋友可以参考下
    2018-08-08
  • python装饰器实现对异常代码出现进行自动监控的实现方法

    python装饰器实现对异常代码出现进行自动监控的实现方法

    这篇文章主要介绍了python装饰器实现对异常代码出现进行自动监控的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Python ArcPy实现批量对大量遥感影像相减做差

    Python ArcPy实现批量对大量遥感影像相减做差

    这篇文章主要为大家介绍了如何基于Python中ArcPy模块实现对大量栅格遥感影像文件批量进行相减做差,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-06-06
  • 对python 多线程中的守护线程与join的用法详解

    对python 多线程中的守护线程与join的用法详解

    今天小编就为大家分享一篇对python 多线程中的守护线程与join的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 使用Python生成200个激活码的实现方法

    使用Python生成200个激活码的实现方法

    这篇文章主要介绍了使用Python生成200个激活码的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 详解python学习笔记之解释器

    详解python学习笔记之解释器

    这篇文章主要为大家详细介绍了python学习笔记之解释器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python中用post、get方式提交数据的方法示例

    Python中用post、get方式提交数据的方法示例

    最近在学习使用Python,发现网上很少提到如何使用post,所以下面这篇文章主要给大家介绍了关于Python中用post、get方式提交数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-09-09
  • django 自定义filter 判断if var in list的例子

    django 自定义filter 判断if var in list的例子

    今天小编就为大家分享一篇django 自定义filter 判断if var in list的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论