2010-11-04 44 views
9

我試圖實現級聯Hough變換(我已經實現了「正常」的版本。),但我無法理解以下幾點:分裂座標轉換成3子空間,以解決無界

應用HT後在圖像上,我留下了很多空間上的直線。在HT的級聯版本需要我,讓無限值的問題就解決了霍夫空間分割成3個子空間。

我怎麼能去這樣做?

這裏的霍夫空間如何分割畫面:alt text

爲了恢復參數空間的有界性,同時保持對稱空間二重性,我們將拆分(A,B)空間分成三個有界的子空間,如下圖所示。第一個子空間也有座標a和b,但僅限於| a | < = 1和| b | < = 1.如果| a | > 1和| b | < = | a | ,點(a,b)在第二個子空間中出現,座標爲1/a和b/a。如果,最後,| b | > 1和| a | < | b |,我們使用座標爲1/b和a/b的第三個子空間。

這裏是我非常困惑的地方,假設我在霍夫空間有一條線。如果違反|如何分解? a | < = 1和| b | < = 1?

難道我只是去通過在該行,如果有問題的像素座標爲大於所有像素| a | < = 1和| b | < = 1,我把它繪製在第二個子空間裏?

我道歉,如果這種問題並不在堆棧過低歡迎 - 有另一個網站,我可以問算法的問題?

Source for the image and the above quote

+0

你好。隨着算法理論方面,你可以嘗試http://cstheory.stackexchange.com/,但要注意TCS.SE是不是實現,而是theorethical方面。在那裏問問題之前,請查看其他問題,看看它們是什麼樣的,並閱讀FAQ。 – 2011-09-11 11:21:18

回答

1

假設你有一個點(x, y)。根據Hough變換的形式,但呈上行

a x + b + y = 0 

這對應於不同的線路在每個子空間情節:

Subspace 1: a x + b + y = 0 
Subspace 2: x + (b/a) + (1/a) y = 0 
Subspace 2: (a/b) x + 1 + (1/b) y = 0 

例如用點(2, 1)你得到的三條線:

Subspace 1: 2a + b + 1 = 0 
Subspace 2: 2 + (b/a) + (1/a) = 0 
Subspace 2: 2(a/b) + 1 + (1/b) = 0 

或者投入y = m x + c形式:

Subspace 1: y = -2x - 1 
Subspace 2: y = -x - 2 
Subspace 2: y = -x/2 - 1 
相關問題