本文將介紹基于米爾電子MYD-LT527開發板(米爾基于全志T527開發板)的OpenCV行人檢測方案測試。
摘自優秀創作者-小火苗
一、軟件環境安裝
1.安裝OpenCV
sudo apt-get install libopencv-dev python3-opencv
2.安裝pip
sudo apt-get install python3-pip
二、行人檢測概論
使用HOG和SVM構建行人檢測器的關鍵步驟包括:
準備訓練數據集:訓練數據集應包含大量正樣本(行人圖像)和負樣本(非行人圖像)。
計算HOG特征:對于每個圖像,計算HOG特征。HOG特征是一個一維向量,其中每個元素表示圖像中特定位置和方向的梯度強度。
訓練SVM分類器:使用HOG特征作為輸入,訓練SVM分類器。SVM分類器將學習區分行人和非行人。
評估模型:使用測試數據集評估訓練后的模型。計算模型的準確率、召回率和F1分數等指標。
三、代碼實現
import cv2import timedefdetect(image,scale): imagex=image.copy() #函數內部做個副本,讓每個函數運行在不同的圖像上hog=cv2.HOGDescriptor() #初始化方向梯度直方圖描述子 #設置SVM為一個預先訓練好的行人檢測器hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) #調用函數detectMultiScale,檢測行人對應的邊框time_start=time.time() #記錄開始時間 #獲取(行人對應的矩形框、對應的權重)(rects,weights)=hog.detectMultiScale(imagex,scale=scale) time_end=time.time() #記錄結束時間 #繪制每一個矩形框for(x,y,w,h)inrects: cv2.rectangle(imagex,(x,y),(x+w,y+h),(0,0,255),2)print("saclesize:",scale,",time:",time_end-time_start)name=str(scale)cv2.imshow(name,imagex) #顯示原始效果image=cv2.imread("back.jpg")detect(image,1.01)detect(image,1.05)detect(image,1.3)cv2.waitKey(0)cv2.destroyAllWindows()
四、實際操作
-
開發板
+關注
關注
25文章
5374瀏覽量
100557 -
OpenCV
+關注
關注
31文章
641瀏覽量
42197 -
米爾電子
+關注
關注
0文章
127瀏覽量
678
發布評論請先 登錄
相關推薦
通過物聯網管理多臺MQTT設備-基于米爾T527開發板

評論