computer-vision - 使用霍夫变换检测三次曲线

标签 computer-vision hough-transform

我有一张带有曲线的图片,可以通过以下方程定义:

y = ax^3 + bx^2 + cx + d

如何使用正常的霍夫变换来检测曲线是显而易见的。但是,我想通过使用梯度方向来减少参数空间(我已经从边缘检测中得到了它)。我不知道如何使用梯度方向来减少参数空间。

我的一个想法是求导数 dy/dx = 3ax^2 + 2bx + c 。现在我只有三个参数,因此我的任务更容易。这是正确的吗?如果我使用这个,如何获取 d 参数?

最佳答案

对 dy/dx = 3x^2 + 2ax + b 运行霍夫后 你有

c = f(x,y) = y - x^3 + ax^2 + bx 其中 a 和 b 已知。

为什么不再进行一遍,这次只寻找 c? 无论如何,二维累加器,然后 1 维累加器比 3 维累加器更好。

关于computer-vision - 使用霍夫变换检测三次曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10318584/

相关文章:

opencv - 在图像上查找硬币

python - 使用霍夫圈读取骰子的点

python - Tensorflow:提取训练模型的特征

c++ - OpenCV 2.3 SURF关键点倍频程永远不等于0

Python openCV检测平行线

java - 非常精确的线检测,openCV Java

c++ - 使用Opencv和霍夫变换圆检测圆(下标错误)

image - 在给定分辨率和中心点的情况下检索图像的角坐标

python - 如何计算对象关键点相似度

matlab - 在 MATLAB 和 OpenCV 之间提取不同的 SURF 特征?