2011-03-31 81 views
6

Hough Transform可用於從圖像中提取線條。它也可以用來提取曲線 - 儘管因爲更高維的Hough變換是資源消耗的,這有點難度。我想知道,如何將Hough變換限制在二維投票空間中以獲得階數爲3的曲線,即x^{3} + ax^{2} + bx + c?查找曲線段的Hough變換

任何人都知道任何好的網站解釋這(似乎無法找到任何)。或者,如果沒有一個,這裏的解釋:)。

+0

非常感謝 - 當我有機會並選擇解決方案時,我將通讀所有這些內容。 – ale 2011-04-01 20:11:26

回答

4

廣義Hough變換的本質是累加器的「邊」是你正在尋找的答案。如果你試圖匹配橢圓或任意曲線 - 在你的情況下,a,b,c參數,那麼你應該建立3D累加器,並在那裏尋找最大值。谷歌「使用霍夫變換的橢圓檢測」或「使用霍夫變換的任意形狀檢測」。

有很多種方式來優化你的多維累加器搜索,所以不要害怕構建多維HT參數化的空間 - 它可以給你你的問題的很好的概述。

您可能希望將搜索分爲兩個階段 - 例如,爲您的a和b參數構建經典的2D,然後使用非常簡單的1D累加器來尋找c,這已在邊緣檢測中完成,但請注意如果你的a,b,c相互依賴,這個分裂可能引入大的錯誤。 (概率)隨機Hough變換,混合和多維Hough變換的方法(概率)隨機Hough變換,混合和多維Hough變換。

而且通用霍夫變換和Radon變換幾乎是同義的,所以對於任意形狀檢測「Radon變換」可能會給你更好的想法:Hough變換變換連續氡的離散版本。

1

嘗試使用谷歌搜索「廣義Hough變換」,你會發現很多東西,包括Ballard的原始文件,它看起來很可讀。這對你來說最好的取決於你從哪裏開始,所以谷歌可能是你最好的選擇。

scholar.google.com提供了許多論文,但其中很少有人是免費的(儘管如果您有權訪問,這可能是最好的開始)。

+0

謝謝湯姆,是的,我看過幾篇論文。但是,我想知道的是如何將投票空間限制爲2D。也許我錯過了在原始論文中看到它,但我不希望它在那裏,因爲它是更多的優化。 – ale 2011-03-31 17:23:21

+0

在我看來,巴拉德的橢圓例子與你想要的非常相似。在那裏,他從一個橢圓中的4個自由參數開始,並使用HT中固有的不變量去除其中的一些參數。 – tom10 2011-03-31 18:06:50

0

您是否只需要找到已知道參數a,b,c的曲線?使用GHT,您可以從您的eq創建一個離散的投票空間。用它在2d空間投票,你會發現你的曲線。如果你正在試圖從Hough變換中確定a,b,c,它將會變得更困難:)