opencv 多线程_深度学习和OpenCV的对象检测(MobileNet SSD视频流实时识别)
上期文章,我們分享了如何使用opencv 與MobileNet SSD模型來(lái)檢測(cè)給定的圖片,有網(wǎng)友反饋能否提供一下視頻流的實(shí)時(shí)檢測(cè)代碼,其實(shí)我們?cè)诜窒砣四樧R(shí)別的時(shí)候,分享了如何使用cv2.videoCpature 類來(lái)從視頻中實(shí)時(shí)提取視頻中的圖片,進(jìn)行人臉的識(shí)別,視頻流的對(duì)象檢測(cè)跟opencv的人臉檢測(cè)一致,也可以使用cv2.videoCpature 類來(lái)從視頻中實(shí)時(shí)提取視頻中的圖片,進(jìn)行圖片的對(duì)象檢測(cè),此類代碼可以參考往期文章人工智能-Dlib+Python實(shí)現(xiàn)人臉識(shí)別
本期我們使用另外一個(gè)第三方庫(kù)imutils,首先使用pip install imutils來(lái)安裝
1 導(dǎo)入需要的第三方庫(kù)
2 初始化訓(xùn)練模型
此部分代碼跟圖片檢測(cè)一致
#14 # 15 輸入prototxt與caffe 的模型文件地址
#17 class列表是SSD caffe檢測(cè)模型中的20個(gè)label標(biāo)簽,還包括一個(gè)background
#21 針對(duì)每個(gè)label,隨機(jī)建一個(gè)顏色,以便后期檢測(cè)圖片時(shí) ,使用不同的顏色框,以便區(qū)分
# 22 使用cv的dnn加載模型數(shù)據(jù)
3 初始化視頻對(duì)象
# 25 啟動(dòng)攝像頭,src=0 ,默認(rèn)是打開(kāi)設(shè)備的默認(rèn)攝像頭
# 26 延時(shí) ,以便攝像頭打開(kāi)
# 27 啟動(dòng)視頻幀記錄函數(shù)
4 視頻流檢測(cè)
視頻流的對(duì)象檢測(cè)與圖片的檢測(cè)過(guò)程一致,每行代碼幾乎都有注釋,不再一一介紹
主要的區(qū)別是:圖片檢測(cè)首先定義了圖片地址,視頻檢測(cè),在視頻流中提圖片
# 31 resize 了圖片尺寸,避免圖片太大
# 53 當(dāng)檢測(cè)到對(duì)象后,通過(guò)imshow實(shí)時(shí)顯示在視頻流中
# 54-56 若輸入q 退出
# 57 視頻幀自動(dòng)加1
5 end
檢測(cè)結(jié)束,我們關(guān)閉一些資源
print 每秒的視頻信息:每秒處理的視頻幀數(shù),每幀處理的時(shí)間
每秒處理8.7幀圖片,稍微有點(diǎn)慢 ,若電腦配置高的話,或者使用多進(jìn)程會(huì)好很多
多線程與多進(jìn)程知識(shí)點(diǎn),會(huì)在《每天一分鐘,python一點(diǎn)通》系列教程中分享
從視頻中截取的圖片
微&信搜索:啟示AI 科技
可以體驗(yàn)不同的AI 工具
當(dāng)然,你也可以導(dǎo)入一個(gè)視頻,讓神經(jīng)網(wǎng)絡(luò)來(lái)檢測(cè),src=''要打開(kāi)視頻的絕對(duì)地址便可
檢測(cè)完成后使用cv2的VideoWriter來(lái)保存視頻便可
vs = VideoStream(src='')
下期分享
說(shuō)到了多進(jìn)程,我們下期來(lái)使用此方法優(yōu)化一下代碼來(lái)提高每秒的處理
總結(jié)
以上是生活随笔為你收集整理的opencv 多线程_深度学习和OpenCV的对象检测(MobileNet SSD视频流实时识别)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 系统功能图怎么画_[分享]照明系统图和照
- 下一篇: 怎么让u盘快速退出 u盘快速拔出的正确方