如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤
opencv
OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(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ǔ)言編寫(xiě),它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言接口。該庫(kù)也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。這些語(yǔ)言的API接口函數(shù)可以通過(guò)在線文檔獲得。如今也提供對(duì)于C#、Ch、Ruby,GO的支持。
所有新的開(kāi)發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開(kāi)始實(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:圖像中低于這個(gè)lower_blue的值,圖像值變?yōu)?,即黑色 #upper_blue:圖像中高于這個(gè)upper_blue的值,圖像值變?yōu)? #而在lower_blue~upper_blue之間的值變成255,即白色。 mask = cv2.inRange(hsv,lower_blue,upper_blue) #對(duì)原圖像和掩模進(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)視頻物體追蹤,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Flask搭建api服務(wù)的實(shí)現(xiàn)步驟
本文主要介紹了Flask搭建api服務(wù)的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python爬蟲(chóng)之requests基礎(chǔ)用法詳解
這篇文章主要介紹了Python爬蟲(chóng)之requests基礎(chǔ)用法詳解,雖然Python的標(biāo)準(zhǔn)庫(kù)中urllib模塊已經(jīng)包含了平常我們使用的大多數(shù)功能,但是它的API使用起來(lái)讓人感覺(jué)不太友好,而requests庫(kù)使用更簡(jiǎn)潔方便,需要的朋友可以參考下2023-10-10python之線程通過(guò)信號(hào)pyqtSignal刷新ui的方法
今天小編就為大家分享一篇python之線程通過(guò)信號(hào)pyqtSignal刷新ui的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python matplotlib中的subplot函數(shù)使用詳解
今天小編就為大家分享一篇python matplotlib中的subplot函數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python爬取三國(guó)演義的實(shí)現(xiàn)方法
這篇文章通過(guò)實(shí)例給大家演示了利用python如何爬取三國(guó)演義,對(duì)于學(xué)習(xí)python的朋友們來(lái)說(shuō)是個(gè)不錯(cuò)的實(shí)例,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2016-09-09