我使用MATLAB的計算機視覺工具箱的邊緣檢測器從圖像中檢測出一組邊緣。所有這些邊緣(其中18個)僅形成兩條線。我如何從這些邊緣獲得線條?我感興趣的是找到這兩條線的交點。如何從MATLAB中的一組疊加線/邊創建單個線/邊?
邊緣looklike
和霍夫線條看起來像
我使用MATLAB的計算機視覺工具箱的邊緣檢測器從圖像中檢測出一組邊緣。所有這些邊緣(其中18個)僅形成兩條線。我如何從這些邊緣獲得線條?我感興趣的是找到這兩條線的交點。如何從MATLAB中的一組疊加線/邊創建單個線/邊?
邊緣looklike
和霍夫線條看起來像
Peter Kovesi的CV website包含了一系列線性檢測功能。看看this使用它們的例子。
既然你提到,目的是要找到「中心點」在這裏不用一個可能的方式(不MATLAB特定雖然):
澄清:當你提到
所有這些邊緣(其中18)剛剛形成兩行
它實際上是兩個組件或輪廓形成。霍夫線變換會給你直線:不是你想要的東西。
此外,兩條「線條」或「輪廓」至少不會與圖片中出現的相交。如果你想找到最接近的方法遍歷一個輪廓上的每個點,並檢查該點和第二個輪廓上的點之間的距離。找出輪廓上每個點的最小距離。然後從中選擇最小值。
如果您指的是兩條直線的交點,只需解出兩個方程(您可以從知道線的端點得到它們)。
你能展示圖像的樣子嗎? – Oli
嘗試在http://dsp.stackexchange.com/處詢問 – cyborg