(二)OpenCV特征提取与检测_08_HOG特征检测

本文介绍了OpenCV中HOG(Histogram of Oriented Gradients)特征检测的详细步骤,包括灰度图像转换、梯度计算、创建方向直方图、块描述子的构建、归一化以及特征数据与检测窗口的生成。通过HOG+SVM实现行人检测,对64x128像素的图像,得到3780个直方向量进行行人检测。
摘要由CSDN通过智能技术生成

HOG特征描述子提取:
①灰度图像转换(1:2)
cvtColor(gray = R0.3 + 0.59G + 0.11B)
②梯度计算
③分网格的梯度方向直方图
分割为8
8=64像素的Cell网格
对每个Cell求取方向直方图 (Orientation Hist)
分为9个Bin,角度取值范围为-180180之间,对-1800之间的加上180取正数,对应的值为梯度值。方向为Bin数组0~9的Index
④块描述子
将2x2的网格单元组合成为一个大的块(Block)
对每个块之间有1/2部分是重叠区域
主要是将每个Cell的直方图合并为一个大的直方图(Bin索引不变[0~9]之间)
⑤块描述子归一化
⑥特征数据与检测窗口
正样本(用于特征识别)、负样本(干扰因素)
最终获得HOG描述算子(特征数据)
对于64x128的像素块,可以分为8x16个Cell分为7x15个块(R-HOG)
总计的直方图向量数为:7x15x2x2x9 = 3780个向量数组(64-16)/8+1个水平块,(128-16)/8+1个垂直块)个16x16块扫描窗口,每个块有2x2个cell,9表示9-bins直方图)用来存储每个像素的梯度大小和梯度方向
初步测试、开窗检测
⑦匹配方法
(HOG + SVM 实行行人检测)

HOGDescriptor(
Size winSize,//(64, 128) 
Size blockSize,//(16, 16)
Size blockStride,//(8, 8)
Size cellSize,//(8, 8)
int  nbins)//9)
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值