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