方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。

       HOG通过计算和统计图像局部区域的梯度方向直方图来构成特征.

       HOG (Histogram of oriented gradient)特征是法国研究人员Dalal在2005年CVPR上提出的一种实现人体目标检测的图像描述方法,该特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。其优点是可以对几何和光学的形变保持很好的不变形,换句话说,对环境的变化具有很强的鲁棒性。

      该特征的主要思想是:图像中局部目标的表象和性状能够被梯度或边缘的方向密度很好的描述本(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。在实际操作中,将图像分为小的细胞单元(cells),每个细胞单元计算一个梯度方向(或边缘方向)直方图。为了对光照和阴影有更好的不变性,需要对直方图进行对比度归一化,可以通过将细胞单元组成更大的(blocks)并归一化块内的所有细胞单元来实现。我们将归一化的块描述符叫做HOG描述子。将检测窗口中的所有块的HOG描述子组合起来就形成了最终的特征向量


 

from skimage import feature as ft
import cv2
import matplotlib.pyplot as plt

img = cv2.imread('wave.jpg', cv2.IMREAD_GRAYSCALE)
features = ft.hog(img,orientations=6,pixels_per_cell=[20,20],cells_per_block=[2,2],visualize=True)
plt.imshow(features[1],cmap=plt.cm.gray)
plt.show()

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐