OpenCV介紹
OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對于C#、Ch、Ruby,GO的支持。
所有新的開發(fā)和算法都是用C++接口。一個使用CUDA的GPU接口也于2010年9月開始實現(xiàn)。
opencv官網(wǎng)
https://opencv.org/
![](/d/20211017/e3a6b7eb250e364f2050a5b24cddaa97.gif)
python支持OpenCV的包,接下來作者教你如何安裝python的OpenCV第三方包
pip install opencv
如果找不到版本,去非官方下載opencv第三方包http://www.lfd.uci.edu/~gohlke/pythonlibs/
下載好文件放入C:/Anaconda3/Scripts 文件夾, 然后 用pip install opencv安裝
![](/d/20211017/8a306aeb036a451052ccd0b736c5d6b4.gif)
安裝好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 ("兩張圖片不一樣")
兩張照片相同情況
![](/d/20211017/136aea6b4bd8c79d5bb85959a56d2bd7.gif)
兩張照片不同情況
![](/d/20211017/56a9cce854240206a16a6f55c2f2836c.gif)
opencvcv判斷兩張圖片是否相同就為大家介紹到這里,非常簡單
總結(jié)
到此這篇關(guān)于如何利用opencv判斷兩張圖片是否相同的文章就介紹到這了,更多相關(guān)opencv判斷圖片相同內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python Opencv中用compareHist函數(shù)進行直方圖比較對比圖片
- 用openCV和Python 實現(xiàn)圖片對比,并標識出不同點的方式
- python opencv實現(xiàn)圖片缺陷檢測(講解直方圖以及相關(guān)系數(shù)對比法)
- Python+Opencv識別兩張相似圖片