如何根据Dalal和Triggs获得'one'单元格的直方图方向?

时间:2012-08-03 17:17:54

标签: algorithm image-processing computer-vision

我正在尝试实现Dalal和Triggs的方法。我可以在图像上实现第一阶段计算渐变,我可以创建在单元格中遍历图像的代码,但我不理解背后的逻辑阶段。

我知道有必要先在signed(0-360度)或unsigned(0-180度)渐变之间进行识别。

我知道我必须创建一个数据结构来存储每个细胞直方图。我知道什么是直方图,因此我理解我必须访问每个像素,但我不完全了解分类每个像素的方法,获得该像素的梯度方向并使用此数据构建直方图。

1 个答案:

答案 0 :(得分:0)

简而言之,HOG只不过是梯度方向的密集表示,它们在重叠的局部邻域上的强度加权。

您询问找到每个像素渐变方向的重要性。在图像中,每个像素处的梯度方向指示该位置处的对象相对于X和Y轴的边界(两个纹理之间的边缘)的方向。因此,如果您对贴片或块的方向或对象的一部分进行分组,它将以非常强大的方式或独特的方式表示对象在该区域的边缘方向的分布......现在让我们举一个简单的例子,如果是圆圈,您将圆的渐变方向绘制为直方图,您将得到一条直线(不要想象HOG只是一个简单的渐变方向图),因为如果在360处采样,圆的边缘方向范围从0度到360度连续的位置,对于不同的对象它是不同的,HOG也做同样的事情,但是以更复杂的方式将图像分成重叠的块并将每个块分成单元格并使直方图按局部梯度的强度加权......

希望它有用......