如何利用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判断图片相同内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!
【文章出处:日本大带宽服务器http://www.558idc.com/jap.html 复制请保留原URL】