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

作者:python机器学习建模 时间:2022-03-29 02:27:29 

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判断两张图片是否相同就为大家介绍到这里,非常简单

总结

来源:https://blog.csdn.net/fulk6667g78o8/article/details/118409795

标签:opencv,图片,相似度
0
投稿

猜你喜欢

  • 使用Go语言解决Scan空格结束输入问题

    2024-04-27 15:38:37
  • Mysql数据库表定期备份的实现详解

    2024-01-24 11:24:35
  • OpenCV视频流Python多线程处理方法详细分析

    2022-02-14 20:29:45
  • python中ImageTk.PhotoImage()不显示图片却不报错问题解决

    2023-08-26 18:12:06
  • Python如何用NumPy读取和保存点云数据

    2022-05-26 17:41:19
  • tensorboard显示空白的解决

    2023-05-28 15:05:05
  • SqlServer 在事务中获得自增ID的实例代码

    2024-01-24 19:27:36
  • Python实现批量修改图片格式和大小的方法【opencv库与PIL库】

    2021-10-08 09:04:29
  • 超级给力的JavaScript的React框架入门教程

    2024-06-05 09:55:04
  • Python 不设计 do-while 循环结构的理由

    2021-08-04 11:55:19
  • asp如何在线压缩Access数据库?

    2010-06-26 12:25:00
  • 解决vue项目中某一页面不想引用公共组件app.vue的问题

    2023-07-02 16:57:35
  • 深入JDBC sqlserver连接写法的详解

    2024-01-19 12:47:28
  • PHP对象克隆clone用法示例

    2024-05-02 17:33:51
  • 关于JS中二维数组的声明方法

    2023-08-24 17:39:42
  • 在ASP中使用Oracle数据库技巧

    2008-05-17 11:47:00
  • js星级评分代码

    2008-05-02 21:07:00
  • pytorch实现Tensor变量之间的转换

    2023-06-28 15:41:31
  • Go语言基础切片的创建及初始化示例详解

    2024-04-26 17:33:44
  • oracle 服务启动,关闭脚本(windows系统下)

    2009-07-26 08:57:00
  • asp之家 网络编程 m.aspxhome.com