如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤
opencv
OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機(jī)視覺庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計算機(jī)視覺方面的很多通用算法。
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對于C#、Ch、Ruby,GO的支持。
所有新的開發(fā)和算法都是用C++接口。一個使用CUDA的GPU接口也于2010年9月開始實(shí)現(xiàn)。
import numpy as np
import cv2
cap =cv2.VideoCapture(0)
while(1):
#獲取每一幀
ret,frame = cap.read()
#RGB轉(zhuǎn)換到HSV
hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
#設(shè)定藍(lán)色的閾值。確定要追蹤的顏色為藍(lán)色。
lower_blue = np.array([100,50,50])
upper_blue = np.array([120,255,255])
#根據(jù)閾值構(gòu)建掩模,構(gòu)建黑白圖
#hsv:原圖
#lower_blue:圖像中低于這個lower_blue的值,圖像值變?yōu)?,即黑色
#upper_blue:圖像中高于這個upper_blue的值,圖像值變?yōu)?
#而在lower_blue~upper_blue之間的值變成255,即白色。
mask = cv2.inRange(hsv,lower_blue,upper_blue)
#對原圖像和掩模進(jìn)行位運(yùn)算
#藍(lán)色覆蓋白色區(qū)域,黑色不覆蓋,實(shí)現(xiàn)了白色轉(zhuǎn)化為要追蹤的藍(lán)色,也就是追蹤效果。
res = cv2.bitwise_and(frame,frame,mask=mask)
#顯示圖像
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(5)& 0xFF
if k==27:
break
#關(guān)閉窗口
cv2.destroyAllWindows()
關(guān)于顏色閾值圖(百度)。

結(jié)果如下圖所示。

總結(jié)
以上所述是小編給大家介紹的如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
PyTorch中torch.nn模塊的實(shí)現(xiàn)
torch.nn是PyTorch中用于構(gòu)建神經(jīng)網(wǎng)絡(luò)的核心模塊,包括多種組件,每個組件都有其特定的原理和使用場景,本文就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2024-09-09
python利用ddddocr包ocr識別圖片碼的實(shí)現(xiàn)
ddddocr是一個輕量級的OCR庫,用于識別圖片中的文字和驗(yàn)證碼,本文主要介紹了python利用ddddocr包ocr識別圖片碼的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2025-01-01
Python?運(yùn)算符Inplace?與Standard?
這篇文章主要介紹了Python?運(yùn)算符Inplace?與Standard,nplace運(yùn)算符的行為類似于普通運(yùn)算符,只是它們在可變和不可變目標(biāo)的情況下以不同的方式運(yùn)行2022-09-09
python實(shí)現(xiàn)k-means聚類算法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)k-means聚類算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
dataframe設(shè)置兩個條件取值的實(shí)例
下面小編就為大家分享一篇dataframe設(shè)置兩個條件取值的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python獲取當(dāng)前函數(shù)名稱方法實(shí)例分享
這篇文章主要介紹了Python獲取當(dāng)前函數(shù)名稱方法實(shí)例分享,具有一定借鑒價值2018-01-01

