霍夫变换可用于从图像中提取线条。它也可以用来提取曲线——虽然这有点困难,因为更高维的霍夫变换会消耗资源。我想知道是否如何将霍夫变换限制为 3 阶曲线的 2D 投票空间,即 x^{3}+ax^{2}+bx+c ?
任何人都知道任何解释这一点的好网站(似乎找不到任何)。或者如果没有,请在此处进行解释:)。
霍夫变换可用于从图像中提取线条。它也可以用来提取曲线——虽然这有点困难,因为更高维的霍夫变换会消耗资源。我想知道是否如何将霍夫变换限制为 3 阶曲线的 2D 投票空间,即 x^{3}+ax^{2}+bx+c ?
任何人都知道任何解释这一点的好网站(似乎找不到任何)。或者如果没有,请在此处进行解释:)。
累加器的“边”是您正在寻找的答案的广义霍夫变换的本质。如果您尝试匹配椭圆或任意曲线 - 在您的情况下为 a、b、c 参数,那么您应该构建 3D 累加器并在那里寻找最大值。谷歌“使用霍夫变换的椭圆检测”或“使用霍夫变换的任意形状检测”。
有很多方法可以优化您在多维累加器中的搜索,所以不要害怕构建多维 HT 参数化空间 - 它可以让您很好地了解您的问题。
您可能希望将您的搜索分为两个阶段 - 例如为您的 a 和 b 参数构建一个经典的 2D,然后使用非常简单的 1D 累加器来查找 c,这已在边缘检测中完成,但请注意这种拆分可能会引入如果您 a、b、c 相互依赖,则会出现大错误。
优化多维霍夫变换的方法:(概率)随机霍夫变换、混合和多维霍夫变换。
此外,广义霍夫变换和 Radon 变换几乎是同义词,因此对于任意形状检测,“Radon 变换”可能会给您更好的想法:Hough 变换是连续 Radon 变换的离散版本。
尝试谷歌搜索“Generalized Hough Transform”,你会发现很多关于此的内容,包括 Ballard 的原始论文,它看起来非常易读。哪一个对你来说最好取决于你从哪里开始,所以谷歌可能是你最好的选择。
Academic.google.com 提供了许多论文,但其中很少有免费的(尽管如果您可以访问,这可能是最好的开始)。
您是否只需要找到您已经知道参数 a、b、c 的曲线?使用 GHT,您可以从您的 eq 创建一个离散的投票空间。用它在二维空间中投票,你会找到你的曲线。如果您试图从霍夫变换中确定 a,b,c 会更难:)