【问题标题】:Remove Gaussian weighting of gradient orientation histogram in OpenCV SIFT (Python)在 OpenCV SIFT (Python) 中移除梯度方向直方图的高斯加权
【发布时间】:2013-03-20 22:25:57
【问题描述】:

在 SIFT 算法中,梯度方向直方图的条目是高斯加权的,这样离关键点中心越远的方向对直方图的贡献就越小。这可以在source for OpenCV SIFT 的函数“ori_hist”中看到。我想摆脱这种权重,以便所有梯度方向对直方图的贡献均等。

基本上,我需要更改以下行

w = exp( -( i*i + j*j ) / exp_denom );

w = 1

是否有 Python 绑定可以让我这样做?还是我运气不好?

【问题讨论】:

    标签: python opencv computer-vision histogram


    【解决方案1】:

    下载 OpenCV 2.4.4 的源代码。在文件 (C++) 中进行必要的更改,构建并安装它。我曾经遇到过卡尔曼滤波器(在 Python 中)的问题,为了调试,我在 OpenCV 源代码中添加了一些打印语句并重新构建了它。它奏效了。

    由于 Python 绑定是由 ctypes 构成的,因此如果您更改 C++ 代码并构建它,它将在 Python 中工作。

    所以如果你了解 C++,并且知道你想改变什么,你可以自己做。

    【讨论】:

    • 感谢您的回复。我认为修改 OpenCV C++ 源代码是我必须要做的。这是一个简单的改变,所以它不像是一个大问题。我只是在寻找捷径。再次感谢!
    猜你喜欢
    • 2011-11-30
    • 2017-12-10
    • 2013-06-22
    • 2012-07-15
    • 2011-08-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    相关资源
    最近更新 更多