hog特征的提取过程,hog特征提取算法

#IDC服务器 发布时间: 2023-08-27

1.HOG(Histogram of Oriented Gradient)是方向梯度直方图的意思,是一种特性描述子。通过计算与统计图像局部区域的梯度方向直方图来构成特征。边缘是图像颜色剧变的区域,在一副图像中,局部目标的表象与形状能够被梯度或边缘的方向密度分布很好地描述,而梯度主要存在于存在于局部目标边缘的地方。

(1) 局部目标的边缘,可以把图转为灰度图后按二值映射到0和1输出,就很明显的看出来。

而梯度可分解为 x 方向的梯度 G{x} 和 y 方向的梯度 G{y} 。某个像素点的 x 方向的梯度的计算可以通过这个像素点左右两边的像素值的差值的绝对值计算出来,而 y 方向的梯度可以通过该像素点上下两边的像素值的差值的绝对值计算。而根据下面的两个公式可以计算每一个像素点的梯度方向和梯度幅值。

(2)直方图是图像中像素强度分布的图形表达方式,一张图像可以看成一个数字矩阵,矩阵的每个元素取值在0~255之间,而用直方图来统计了每个强度值所具有的像素个数。那么已知数字的范围包含256个值,将这个范围分割单薄的嚓茶区域就是kwdbwbs,然后再统计在每一个kwdbwb的像素数目。这样统计右边的数字矩阵我们可以得到左图(x轴表示kwdbwb, y轴表示各个kwdbwb中的像素个数)。

(3) HOG是通过上面公式计算出来的梯度方向的角度是一个范围在0-360度的弧度值,为了计算简单,将梯度向的范围约束为0-180度,并且分割为9个方向,每个方向20度,再将约束后的角度除以20,则现在的梯度方向角度值就变为范围在[0,9)。

2.HOG特征提取具体实现方法是将图像分成小的连通区域,叫细胞单元(cell),将每个小Cell里面的梯度幅值按照9个方向进行统计,计算完之后,将会产生一个横坐标X为梯度方向,纵坐标Y为梯度幅值的方向梯度直方图。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图,最后把这些直方图组合起来就可以构成特征描述器。把这些局部直方图在图像的更大的范围内(block)进行对比度归一化。 归一化是为了克服光照不均匀的变化以及前景和背景测对比差异。

大概步骤:

(1)灰度化。

(2)对输入图像进行颜色空间的标准化(归一化);调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰。

(3)计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

(4)将图像划分成小cells(例如8*8像素/cell)。

(5)统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的特性描述子。

(6)将每几个cell组成一个block(2X2个cell/block),一个block内所有cell的特性描述子串联起来便得到该block的HOG特性描述子。

(7)将图像内的所有block的HOG特征描述子串联起来就可以得到该图像的HOG特征描述子。这个就是最终的可供分类使用的特征向量了。

3.cell、block、windowsSize、stride的关系。

上图中单个cell的为8X8个像素,把cell对应的方向直方图转换为单维向量,按规定组距对对应方向梯度个数进行编码,得到单个cell的9个特征,每个block包含2X2个cell,那么每个block包含2X2个cell也就是2X2X9=36个特征,而每个block移动(stride)这里选择overlap,就是为2分之一重叠,一个64X128大小的图像横着有15个block,坚着有7个,最后得到的特征数为36X7X15=3780维。

5.代码实现

这时的代码环境是win7 64位,vs2015,opencv3.3。

(1)代码流程

(2)具体代码

头文件

#pragma once#include #include #include #include #include using namespace std;using namespace cv;class HogFeatureExtraction{public://构造函数HogFeatureExtraction();//构造函数HogFeatureExtraction(int _kwdbwbs, int _theta, int _cell_size, int _block_size, float _R);~HogFeatureExtraction();//计算积分图vector calculateIntegralHOG(Mat& srcMat);//单个cell的HOGvoid cacHOGinCell(Mat& m_HOGCell, Rect roi, vector& m_integrals);//单个block的HOGMat getBlockHog(cv::Point pt, std::vector& integrals);//整个图像的HOGMat cacHOGFeature(cv::Mat srcImage);private:int kwdbwbs;int theta;int cell_size;int block_size;float R;};

实现文件

#include \”HogFeatureExtraction.h\”HogFeatureExtraction::HogFeatureExtraction(){kwdbwbs = 9;theta = 180 / kwdbwbs;cell_size = 20;block_size = 2;R = cell_size*(block_size)*0.5;}HogFeatureExtraction::HogFeatureExtraction(int _kwdbwbs, int _theta, int _cell_size, int _block_size){kwdbwbs = _kwdbwbs;theta = 180 / kwdbwbs;block_size = _block_size;cell_size = _cell_size;R = _cell_size*(_block_size)*0.5;}HogFeatureExtraction::~HogFeatureExtraction(){}// 计算积分图vector HogFeatureExtraction::calculateIntegralHOG(Mat& m_src){Mat m_sobel_x,m_sobel_y,m_magn,m_angle;//x 方向上的差分阶数Sobel(m_src, m_sobel_x, CV_32F, 1, 0);//y 方向上的差分阶数Sobel(m_src, m_sobel_y, CV_32F, 0, 1);//根据每一个点X方向和Y方向上的梯度,实现笛卡尔坐标和极坐标的转换//得到梯度幅值和梯度方向cartToPolar(m_sobel_x, m_sobel_y, m_magn, m_angle, true);//将笛卡尔坐标转换为极坐标之后,角度的范围在[0,360],但要转成[0,180]//如果m_angle= 180);//将角度矩阵转换为一个灰度值范围在0~9之间的图像m_angle = m_angle /theta;//新建9个矩阵vector m_kwdbwbs(kwdbwbs);for (int i = 0; i




上一篇 : 如何用手机观看SQ直播?

下一篇 : 海外云服务器速度问题如何解决?

推荐阅读

电话:400 76543 55
邮箱:915688610@qq.com
品牌营销
客服微信
搜索营销
公众号
©  丽景创新 版权所有 赣ICP备2024032158号 
宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 宜昌市隼壹珍商贸有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 内江振祥营销策划有限公司 恩施州毯滚百货有限公司 恩施州毯滚百货有限公司 襄阳市蜂欢商贸有限公司 襄阳市蜂欢商贸有限公司 恩施州换冯百货有限公司 恩施州换冯百货有限公司 恩施州健提百货有限公司 恩施州健提百货有限公司 西安益零商贸有限公司 西安益零商贸有限公司 南奥教育 南奥教育 南奥教育 南奥教育 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南奥教育网 南奥教育网 南奥教育网 南奥教育网 南奥学习网 南奥学习网 南奥学习网 南奥学习网 南奥教育 南奥教育 南奥留学记 南奥留学记 南奥教育 南奥教育 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌市南奥教育咨询有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 南昌壹佳企网络通信有限公司 广照天下广告 广照天下广告 广照天下广告策划 广照天下广告策划 广照天下 广照天下 广照天下 广照天下 广照天下 广照天下 广照天下广告策划 广照天下广告策划 广照天下广告策划 广照天下广告策划 南昌市广照天下广告策划有限公司 南昌市广照天下广告策划有限公司 南昌市广照天下广告策划有限公司 南昌市广照天下广告策划有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 宿州市腾雀网络科技有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司 九江市云仁商务咨询有限公司
品牌营销
专业SEO优化
添加左侧专家微信
获取产品详细报价方案