OpenCV行人检测

内容摘要本文引用地址:本文将介绍基于米尔电子MYD-LT527开发板的OpenCV行人检测方案测试。米尔基于全志T527开发板一、软件环境安装1.安装OpenCVsudo apt-get install libopencv-dev python3-

本文引用地址:

本文将介绍基于米尔电子MYD-LT527开发板的OpenCV行人检测方案测试。

米尔基于全志T527开发板

一、软件环境安装

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

四、实际操作

MYC-LT527核心板及开发板

米尔首发全志T527,八核A55赋能边缘计算

全志T527处理器,八核A55,高效赋能边缘计算;

多媒体功能强大:具备G57 GPU、4K编解码VPU、HiFi4 DSP,支持4~6路Camera;

支持多种显示接口:HDMI、DP、LVDS、MIPI-DSI和RGB并口,支持4K+1080P双异显;

丰富的通讯接口:2*GE、2*CAN、PCIE/USB3.0、2*USB2.0、10*UART、30*PWM、4*SPI、9*I2C等;

T527是真工业级-40℃~+85℃;

超紧凑LGA 381pin封装;

适用于高性能工业机器人、显控一体机、车载终端、边缘智能盒子等应用场景。

 
举报 收藏 打赏 评论 0
24小时热闻
今日推荐
浙ICP备19001410号-1