我想在我的图像上计算方向梯度的直方图。但我不想把图像分成常规的方块。我将把图像划分为均匀的对数极箱(像形状上下文中的箱或像这里的箱),然后在每个箱(块)上计算梯度直方图,方向为8。
但1)我不知道如何将图像划分为对数极箱。我可以使用形状上下文吗?或者甚至是上面的分区到这些箱子的链接?
2)既然可用的代码(在matlab中,OpenCV和EmguCV)使用方形箱子,我如何在这个箱子上计算HOG ?我不知道。
你所描述的听起来很像原HOG论文中的C-HOG(圆形HOG)特征。与普通生猪的唯一区别是箱子的形状。我认为最好是:
- 遍历像素
- 计算每个像素的循环箱数
- 将像素处的梯度对bin号 对应的直方图的贡献相加
一个很好的起点是下面答案中的伪matlab代码:https://stackoverflow.com/a/10115112/1576602