我想從圖像中檢測矩形。矩形(四邊形)通過ConvexHull檢測
我用cv2.findContours()
與cv2.convexHull()
過濾出不規則的多邊形。
之後,我將使用船體長度來確定輪廓是否爲矩形。
hull = cv2.convexHull(contour,returnPoints = True)
if len(hull) ==4:
return True
然而,有時候,convexHull()
將返回長度5陣列。 如果我使用上面的標準,我會錯過這個矩形。
通過採用上述方法後,我會得到船體:
[[[819 184]]
[[744 183]]
[[745 145]]
[[787 145]]
[[819 146]]]
這裏是我的問題:給定一個長度爲5的數組(凸包),我怎樣才能確定它是否實際上指的是一個四邊形?謝謝。
============================================== ======================= 更新:
使用索貝爾X和Y方向後,
sobelxy = cv2.Sobel(img_inversion, cv2.CV_8U, 1, 1, ksize=3)
這是一個非常糟糕的解決方案來檢測車牌。你應該尋找更強大的東西。 – Miki
@Miki你有什麼建議嗎? – VICTOR
你可以從[OpenALPR]開始(https://github.com/openalpr/openalpr) – Miki