首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算梯度方向(HOG样)精度不高

计算梯度方向(HOG样)精度不高
EN

Stack Overflow用户
提问于 2016-01-18 10:44:32
回答 1查看 470关注 0票数 1

本文尝试实现一种基于梯度方向匹配的图像匹配算法。主要的algo包括以下步骤:

  1. 将图像转换为极坐标:

  1. 使用sobel算子计算梯度: Xgrad = cv2.Sobel(gr,cv2.CV_64F,1,0,ksize=5)

代码语言:javascript
复制
Ygrad = cv2.Sobel(gr,cv2.CV_64F,0,1,ksize=3)

3)计算梯度的方向,并进行二值化。:

现在,我可以比较图像使用最后的功能,地图与无知旋转和轻微的变化。

但是我所发现的是,这个algo检测的是同一图像的旋转,而不是纯粹的旋转。我已经用圆圈构建了一个测试映像来测试这个algo:

把它旋转到10年级

以下是极地转换:

梯度方向掩模:正如你所看到的,梯度矩阵上已经有很多噪声。它和阿尔戈相配。

这是最好的传递差分掩码:整个线区域被标记为不匹配。小高斯模糊在不同的步骤是没有帮助的。我不知道为什么。

更新:

梯度计算:

代码语言:javascript
复制
gx = cv2.Sobel(gr,cv2.CV_64F,1,0,ksize=1)
gy = cv2.Sobel(gr,cv2.CV_64F,0,1,ksize=1)
blurredgx = cv2.GaussianBlur(gx,(11,3),1)
blurredgy = cv2.GaussianBlur(gy,(11,3),1)
magnitude, angle = cv2.cartToPolar(blurredgx, blurredgy)
EN

回答 1

Stack Overflow用户

发布于 2016-01-18 19:15:47

你能解释一下你是如何计算渐变方向的吗?我相信您已经将每个4x4窗口分组,并计算了每个这样的窗口内渐变的方向。但所使用的sobel操作符的大小为5x5。这显然会导致一些重叠。你能解释一下吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34852761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档