久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 設計應用 > OpenCV行人檢測--基于米爾全志T527開發板

OpenCV行人檢測--基于米爾全志T527開發板

作者:小火苗 時間:2025-02-14 來源:EEPW 收藏


本文引用地址:http://cqxgywz.com/article/202502/466955.htm

本文將介紹基于米爾電子MYD-L(米爾基于全志 )的方案測試。

1739509040824066.png

米爾基于開發板

一、軟件環境安裝

1.安裝

sudo apt-get install libopencv-dev python3-opencv

1739509065741772.png

2.安裝pip

sudo apt-get install python3-pip

1739509088684418.png

二、概論

使用HOG和SVM構建器的關鍵步驟包括:

準備訓練數據集:訓練數據集應包含大量正樣本(行人圖像)和負樣本(非行人圖像)。

計算HOG特征:對于每個圖像,計算HOG特征。HOG特征是一個一維向量,其中每個元素表示圖像中特定位置和方向的梯度強度。

訓練SVM分類器:使用HOG特征作為輸入,訓練SVM分類器。SVM分類器將學習區分行人和非行人。

評估模型:使用測試數據集評估訓練后的模型。計算模型的準確率、召回率和F1分數等指標。

三、代碼實現

import cv2

import time

def detect(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) in rects: 

cv2.rectangle(imagex, (x, y), (x + w, y + h), (0, 0, 255), 2)

print("sacle size:",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()

四、實際操作

1739509111245105.png

1739509132748147.png



評論


相關推薦

技術專區

關閉