【问题标题】:Detect cubic curve with Hough transform用霍夫变换检测三次曲线
【发布时间】:2012-04-25 15:14:31
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您关心的是速度还是处理时间?你的图片尺寸是多少?作为解决方案的一部分,是否允许预先计算查找表?曲线的宽度可以超过一个像素吗?您有可以发布的示例图片吗?
  • 嘿..我不关心速度和处理时间。图像可以是任意大小,但我们假设图像为 256x256。不,我无法计算查找表,是的,曲线的宽度将超过一个像素。但是,这只是一个人为的例子..无需详细说明解决方案。我只需要找出如何在算法中加入梯度方向。就是这样!

标签: computer-vision hough-transform


【解决方案1】:

运行 Hough for dy/dx = 3x^2 + 2ax + b 你有

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

为什么不再传一遍,这次只找c? 无论如何,二维累加器,然后 1 dim 优于 3 维累加器。

【讨论】:

  • 好吧,我是对的,当我使用 dx/dy 运行它时,我可以找到两个参数 a 和 b。因此,我可以用一维累加器再次运行 c !有没有更聪明的方法来使用渐变信息?
  • 好吧,我不确定你从边缘检测得到的梯度是否足够精确,可以这样使用。但如果是,并且如果您可以从您描述的过程中获得 a 和 b,那么您也可以提取 c。而且我认为这个 2 步算法会比带有 3 个昏暗累加器的 Hough 更快。
猜你喜欢
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多