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