HOG特征即方向梯度直方图(Histogram of Oriented Gradient, HOG)是一种常用的特征提取方法,HOG+SVM在行人检测中有着优异的效果。OpenCV中本已经自带了该实现。
HOG的实现步骤还是不太难的,帮助理解的博客:我不信你看不懂!顺带知道了图像的梯度幅值和梯度方向。还有另外一篇帮助理解特征个数的博文
还有一篇介绍参数的博文
虽说步骤不太难,不过为什么这么做我还是不太清楚,用用就行,接下来就是对视频流中的行人进行检测。
#include "pch.h"
#include <iostream>
#include <opencv2\opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
cv::VideoCapture cap("aa.mp4");
HOGDescriptor hog;
hog.setSVMDetector(hog.getDefaultPeopleDetector());
Mat img;
vector<Rect> res;
while (cap.read(img))
{
hog.detectMultiScale(img, res);
for (int i = 0; i < res.size(); i++)
{
rectangle(img, res[i], Scalar(255, 0, 0));
}
imshow("src", img);
waitKey(20);
}
cap.release();
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务