2015-05-29 176 views
0

我想计算我的图像上的方向梯度直方图。但我不想将图像划分为常规方块。我将把图像分成统一的对数极坐标(像形状上下文的bin或像here这样的bin),然后在每个bin(块)上计算具有8个方向的梯度直方图。计算对数极坐标上的方向梯度直方图

但是 1)我不知道如何将图像分成对数极坐标。我可以使用形状上下文吗?甚至是上述分区到这些箱的链接?

2)我怎样才能计算这个箱上的HOG,因为可用的代码(在matlab,OpenCV和EmguCV中)使用方形箱?我不知道。

回答

1

您所描述的听起来非常像original HOG paper中的C-HOG(圆形HOG)功能。典型猪只的唯一区别就是箱子的形状。我认为这将是最好的:

  • 遍历像素
  • 计算圆仓数量为每个像素
  • 在对应于仓室号
  • 像素直方图加上渐变的贡献

一个很好的起点将是伪MATLAB代码在这个答案:https://stackoverflow.com/a/10115112/1576602

+0

非常感谢@Andrzej你的答案是对我很有帮助。我正在处理它;-) – EYx

+0

对不起,我发现C-HOG正是我想要的(我的意思是即使它的形状是我想要的单个圆形中央单元格),但我找不到此类型的任何示例代码的HOG,你知道这头猪的任何示例代码吗?我搜查,但什么也没找到。 – EYx

+0

不,不幸的是,我不知道任何现有的代码,但请看我的建议和我发送的链接。我确信有一个标准HOG的实现,你可以弄明白。 –