2011-12-05 24 views
1

我使用MATLAB的計算機視覺工具箱的邊緣檢測器從圖像中檢測出一組邊緣。所有這些邊緣(其中18個)僅形成兩條線。我如何從這些邊緣獲得線條?我感興趣的是找到這兩條線的交點。如何從MATLAB中的一組疊加線/邊創建單個線/邊?

邊緣looklike enter image description here

和霍夫線條看起來像enter image description here

+0

你能展示圖像的樣子嗎? – Oli

+0

嘗試在http://dsp.stackexchange.com/處詢問 – cyborg

回答

2

Peter Kovesi的CV website包含了一系列線性檢測功能。看看this使用它們的例子。

0

既然你提到,目的是要找到「中心點」在這裏不用一個可能的方式(不MATLAB特定雖然):

澄清:當你提到

所有這些邊緣(其中18)剛剛形成兩行

它實際上是兩個組件輪廓形成。霍夫線變換會給你直線:不是你想要的東西。

此外,兩條「線條」或「輪廓」至少不會與圖片中出現的相交。如果你想找到最接近的方法遍歷一個輪廓上的每個點,並檢查該點和第二個輪廓上的點之間的距離。找出輪廓上每個點的最小距離。然後從中選擇最小值。

如果您指的是兩條直線的交點,只需解出兩個方程(您可以從知道線的端點得到它們)。