2013-02-20 103 views
-1
  1. 我想實現使用python,numpy和scipy的hough trasform算法。使用python,numpy進行圓圈檢測?

  2. 我不想使用opencv。

  3. 我想要檢測沒有已知半徑的圖像中的圓或圓的中心。

任何人都可以請幫我或給我的代碼?或者以簡單的步驟告訴我可以在不知道其半徑的情況下檢測圓。

謝謝先進。

+1

http://en.wikipedia.org/wiki/Hough_transform#Circle_Detection_Process – Jaime 2013-02-20 16:23:30

+0

我看到了這一點,但其所有的數學,我不是很擅長。 @Jaime – 2013-02-20 17:54:07

+2

提供的維基百科鏈接僅包含執行所需內容的基本數學(實際上,它大多是純英文)。如果你想在這裏找到某個地方,你需要學習一下。 (沒有免費的午餐) – heltonbiker 2013-02-20 19:55:42

回答

2

實現Hough變換的過程是非常straightfoward。我建議你在YouTube上看一些關於它的視頻,甚至還有包含代碼/僞代碼的視頻。

這就是說,我一直處於相同的情況,希望實施HT來檢測圓圈。但是,我決定使用的方法與傳統的HT稍有不同。我沒有在所有像素上循環生成圓圈點,而是使用圓點作爲中心,將半徑從min_radius遞增到max_radius,並以與經典HT相同的形式累積它。

這樣,你最終會得到一個3D數組(使用了x,y和radius)。中心和半徑將是具有最大累加值的(x,y,半徑)。

Simplified Hough Transform