如何利用opencv判斷兩張圖片是否相同詳解
OpenCV介紹
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。
OpenCV用C++語(yǔ)言編寫,它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言接口。該庫(kù)也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。這些語(yǔ)言的API接口函數(shù)可以通過(guò)在線文檔獲得。如今也提供對(duì)于C#、Ch、Ruby,GO的支持。
所有新的開發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開始實(shí)現(xiàn)。
opencv官網(wǎng)
https://opencv.org/

python支持OpenCV的包,接下來(lái)作者教你如何安裝python的OpenCV第三方包
pip install opencv
如果找不到版本,去非官方下載opencv第三方包http://www.lfd.uci.edu/~gohlke/pythonlibs/
下載好文件放入C:/Anaconda3/Scripts 文件夾, 然后 用pip install opencv安裝

安裝好OpenCV后,我們測(cè)試一下兩張王力宏的照片是否一致。如果照片相同,程序會(huì)輸出兩張照片相同,如果兩張照片不同,程序會(huì)輸出兩張照片不同。腳本如下。
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判斷兩張圖片是否相同就為大家介紹到這里,非常簡(jiǎn)單
總結(jié)
到此這篇關(guān)于如何利用opencv判斷兩張圖片是否相同的文章就介紹到這了,更多相關(guān)opencv判斷圖片相同內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在python中利用try..except來(lái)代替if..else的用法
今天小編就為大家分享一篇在python中利用try..except來(lái)代替if..else的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
pyautogui自動(dòng)化控制鼠標(biāo)和鍵盤操作的步驟
這篇文章主要介紹了pyautogui自動(dòng)化控制鼠標(biāo)和鍵盤操作的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python爬蟲框架scrapy實(shí)現(xiàn)downloader_middleware設(shè)置proxy代理功能示例
這篇文章主要介紹了Python爬蟲框架scrapy實(shí)現(xiàn)downloader_middleware設(shè)置proxy代理功能,結(jié)合實(shí)例形式分析了scrapy框架proxy代理設(shè)置技巧與相關(guān)問(wèn)題注意事項(xiàng),需要的朋友可以參考下2018-08-08
python裝飾器實(shí)現(xiàn)對(duì)異常代碼出現(xiàn)進(jìn)行自動(dòng)監(jiān)控的實(shí)現(xiàn)方法
這篇文章主要介紹了python裝飾器實(shí)現(xiàn)對(duì)異常代碼出現(xiàn)進(jìn)行自動(dòng)監(jiān)控的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Python?ArcPy實(shí)現(xiàn)批量對(duì)大量遙感影像相減做差
這篇文章主要為大家介紹了如何基于Python中ArcPy模塊實(shí)現(xiàn)對(duì)大量柵格遙感影像文件批量進(jìn)行相減做差,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-06-06
對(duì)python 多線程中的守護(hù)線程與join的用法詳解
今天小編就為大家分享一篇對(duì)python 多線程中的守護(hù)線程與join的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
使用Python生成200個(gè)激活碼的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Python生成200個(gè)激活碼的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python中用post、get方式提交數(shù)據(jù)的方法示例
最近在學(xué)習(xí)使用Python,發(fā)現(xiàn)網(wǎng)上很少提到如何使用post,所以下面這篇文章主要給大家介紹了關(guān)于Python中用post、get方式提交數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09
django 自定義filter 判斷if var in list的例子
今天小編就為大家分享一篇django 自定義filter 判斷if var in list的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

