5

enter image description here從隨機組線段

檢測四邊形的形狀附着在圖像變換opencv的2.4.2

的霍夫的輸出可否請你告訴我最好的算法來檢測最好的四邊形(並不總是矩形),從這些線段形狀

即使一些角落將駐留在圖像邊界之外,我還需要檢測它們

非常感謝

+0

您將需要定義「最佳」。它是最大的嗎?如果是這樣,按周邊或區域?它是最概述的嗎?即最小的間隙等。 – Hammer

+1

一個很好的建設性的問題,但我不知道它:( –

+0

好問題,會非常感興趣的答案! – tim

回答

1

沒有有時間真正地嘗試一下這個,我可以像這樣的事情:

  1. 遍歷所有的線路和計算的山坡上。
  2. 按斜線對線條進行排序
  3. 如果兩條線的斜率大致相似,則它們要麼是平行線,要麼是與其中的間隙相同的線(例如,左側的幾乎是垂直線)。要弄清楚哪些,計算它們將在哪裏截取x或y軸。如果他們攔截在同一點,他們是相同的線,應該合併成一條線。如果不是,將它們放在一組(大致)平行線中。
  4. 將每組平行線與每組平行線進行比較,並計算它們是否相交(可能在屏幕外)。
  5. 應用一些依賴於應用程序的標準來挑選最好的。

這個的運行時間很大程度上取決於檢測到的線條數量和平行線組數量。您可以通過僅考慮最小長度的線條,使用線條被認爲平行的閾值來改善一點。