362|2

157

帖子

0

TA的资源

一粒金砂(高级)

【米尔-全志 T527 开发板-试用评测】-OpenCV行人检测 [复制链接]

一、软件环境安装

1.安装OpenCV

sudo apt-get install libopencv-dev python3-opencv
wd_133045ervytnvv1f3nkfqq.png

2.安装pip

sudo apt-get install python3-pip
wd_133045p5pxk0xv1oqvpvzs.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()

四、实际操作

wd_133045xa7a6awvqrqcasqz.png
wd_133046nvjpdojmvd7vfpvz.png

此帖出自工控电子论坛

最新回复

OpenCV行人检测代码不会这么少吧   详情 回复 发表于 2024-11-16 09:15

回复
举报

6636

帖子

0

TA的资源

五彩晶圆(高级)

OpenCV行人检测代码不会这么少吧

此帖出自工控电子论坛

点评

调用库调用完了 不就很简洁了嘛  详情 回复 发表于 2024-11-18 11:24

回复

157

帖子

0

TA的资源

一粒金砂(高级)

Jacktang 发表于 2024-11-16 09:15 OpenCV行人检测代码不会这么少吧

调用库调用完了 不就很简洁了嘛

此帖出自工控电子论坛

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表