【opencv】示例-peopledetect.cpp HOG(方向梯度直方图)描述子和SVM(支持向量机)进行行人检测...

这段代码展示了如何使用OpenCV中的HOG描述符和SVM进行行人检测,提供两种模式(默认和Daimler),并允许用户通过命令行选择视频源和模式切换。程序实现实时检测并在视频帧上标注行人区域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6087888a7f92c9bd70c624febf3cc9e5.png

f1228373c681cbda839d58058f9ba266.png

d98bfec8a728ac7d058355634f270226.png

// 包含OpenCV项目所需的objdetect模块头文件
#include <opencv2/objdetect.hpp>
// 包含OpenCV项目所需的highgui模块头文件,用于图像的显示和简单操作
#include <opencv2/highgui.hpp>
// 包含OpenCV项目所需的imgproc模块头文件,用于图像处理
#include <opencv2/imgproc.hpp>
// 包含OpenCV项目所需的videoio模块头文件,用于视频的读写
#include <opencv2/videoio.hpp>
#include <iostream> // 包含输入输出流的标准头文件
#include <iomanip> // 包含输入输出流格式化的标准头文件


// 使用OpenCV和标准命名空间下的所有实体
using namespace cv;
using namespace std;


// 定义一个Detector类,用于行人检测
class Detector
{
    enum Mode { Default, Daimler } m; // 定义两种模式的枚举类型
    HOGDescriptor hog, hog_d;         // 定义两个HOG描述子对象
public:
    // 构造函数,初始化模式为Default和两个描述子hog与hog_d
    Detector() : m(Default), hog(), hog_d(Size(48, 96), Size(16, 16), Size(8, 8), Size(8, 8), 9)
    {
        // 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值