新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > OpenCV行人檢測--基于米爾全志T527開發(fā)板

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

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

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

本文引用地址:http://www.butianyuan.cn/article/202502/466955.htm

摘自優(yōu)秀創(chuàng)作者-小火苗

1739509040824066.png

米爾基于開發(fā)板

一、軟件環(huán)境安裝

1.安裝

sudo apt-get install libopencv-dev python3-opencv

1739509065741772.png

2.安裝pip

sudo apt-get install python3-pip

1739509088684418.png

二、概論

使用HOG和SVM構(gòu)建器的關(guān)鍵步驟包括:

準(zhǔn)備訓(xùn)練數(shù)據(jù)集:訓(xùn)練數(shù)據(jù)集應(yīng)包含大量正樣本(行人圖像)和負(fù)樣本(非行人圖像)。

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

訓(xùn)練SVM分類器:使用HOG特征作為輸入,訓(xùn)練SVM分類器。SVM分類器將學(xué)習(xí)區(qū)分行人和非行人。

評估模型:使用測試數(shù)據(jù)集評估訓(xùn)練后的模型。計(jì)算模型的準(zhǔn)確率、召回率和F1分?jǐn)?shù)等指標(biāo)。

三、代碼實(shí)現(xiàn)

import cv2

import time

def detect(image,scale):

imagex=image.copy()   #函數(shù)內(nèi)部做個副本,讓每個函數(shù)運(yùn)行在不同的圖像上       

hog = cv2.HOGDescriptor()   #初始化方向梯度直方圖描述子

#設(shè)置SVM為一個預(yù)先訓(xùn)練好的行人檢測器

hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) 

#調(diào)用函數(shù)detectMultiScale,檢測行人對應(yīng)的邊框

time_start = time.time()     #記錄開始時間

#獲?。ㄐ腥藢?yīng)的矩形框、對應(yīng)的權(quán)重)

(rects, weights) = hog.detectMultiScale(imagex,scale=scale)   

time_end = time.time()    #記錄結(jié)束時間

# 繪制每一個矩形框

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()

四、實(shí)際操作

1739509111245105.png

1739509132748147.png



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉