HOG行人检测代码
时间: 2023-08-06 15:14:59 浏览: 99
HOG 行人检测代码
4星 · 用户满意度95%
以下是使用OpenCV库实现HOG行人检测的示例代码:
```
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
// 加载HOG检测器
HOGDescriptor hog;
hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
// 读取图片
Mat image = imread("test.jpg");
// 检测行人
std::vector<Rect> found;
hog.detectMultiScale(image, found, 0, Size(8,8), Size(32,32), 1.05, 2);
// 绘制矩形框
for (size_t i = 0; i < found.size(); i++)
{
Rect r = found[i];
rectangle(image, r, Scalar(0, 255, 0), 2);
}
// 显示结果
imshow("Detection", image);
waitKey(0);
return 0;
}
```
其中,`HOGDescriptor`类提供了HOG特征的计算和SVM分类器的训练与预测功能。`setSVMDetector()`函数用于设置SVM分类器的参数,这里使用了默认的行人检测器。`detectMultiScale()`函数用于对图像进行多尺度的HOG特征检测,并返回检测到的目标矩形框的位置。最后,使用OpenCV的绘制函数`rectangle()`将矩形框绘制在原图中,并通过`imshow()`函数显示结果。
阅读全文