HOG全称histogram of oriented gradients.如翻译成中文就是方向梯度直方图
步骤一:了解图像的梯度
在讲HOG(方向梯度直方图)之前,我们先要知道图像的梯度是什么。
这里我们先用一个最简单的黑白图来演示一下:
首先我们先计算x方向上的梯度(也就是水平方向),我们要做的是从图像的 左边到右边进行扫描,黑色的像素为0,白色像素值为255,当我们从黑色扫描到白色时,像素值突然从0变到了255,这就产生了一个梯度差,如下图的梯度图像所示:
可以看到,梯度图像中,因为像素值从0到了255升高了,是个正的梯度,所以白色的部分表示这里是一个正的梯度(圆形的左侧),再继续扫描,从白色突然变到黑色,从255突然变到了0,像素值下降了,是个负梯度,用黑色部分表示负梯度(圆形右侧)
同理,我们可以得出垂直方向上的梯度图像,如下图:
步骤二:计算每个点的梯度强度和梯度方向
现在知道了什么是梯度之后,我们要如何计算梯度呢?
这里假设一个像素点A,他的上下左右四个方向上的相邻像素值为:
对于像素点A,要计算水平梯度和竖直梯度,如上图,水平梯度 g x \boldsymbol{g}_{\boldsymbol{x}} gx=30-20=10,竖直梯度 g x \boldsymbol{g}_{\boldsymbol{x}} gx =64-32=32.
那么总的梯度强度值g和梯度方向 θ \boldsymbol{\theta }