opencv_判斷兩張圖片是否相同


python金融風控評分卡模型和數據分析微專業課(博主親自錄制視頻):http://dwz.date/b9vv

本文為原創,轉載請注明,作者 231469242@qq.com

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腳本代碼

# -*- coding: utf-8 -*-
"""
Created on Sat Dec 24 10:42:10 2016

@author: daxiong
"""

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 ("兩張圖片不一樣")

 兩張照片相同情況

 兩張照片不同情況

 

 

python機器學習生物信息學系列課(博主錄制):http://dwz.date/b9vw

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM