我想檢測二進制圖像中是否存在連續或封閉的多邊形。圖像可能包含可變數目邊的多邊形,也可能根本沒有多邊形。如何檢測二進制圖像中的多邊形
這是肯定的情況下:
而且,
這一項是負的情況下:
是否有圖像的任何方法親cessing或一些算法來檢測連續的多邊形?
任何形式的幫助表示讚賞。
我想檢測二進制圖像中是否存在連續或封閉的多邊形。圖像可能包含可變數目邊的多邊形,也可能根本沒有多邊形。如何檢測二進制圖像中的多邊形
這是肯定的情況下:
而且,
這一項是負的情況下:
是否有圖像的任何方法親cessing或一些算法來檢測連續的多邊形?
任何形式的幫助表示讚賞。
如果你需要同時檢測凹和凸多邊形,然後我可以建議你另一種方式來做到這一點,一個人已經由@mdh
當然可能有一些自相交多邊形中的誤差和/或圖像中是否存在多個輪廓,但這可以通過分段拾取輪廓的邊界框並在每一個上應用算法來修復。
我有一個工具來檢測圖像中的區域和屬於該區域的一些屬性。 https://github.com/mribrahim/Blob-Detection
認爲,如果它是一個多邊形,它將是一個封閉區域(正例)。
如果它沒有關閉,它將成爲一行(負面情況)。
您可以使用blob檢測工具找到區域屬性,我提到過。你可以使用一些屬性,如偏心率,可靠性來區分正面和負面的情況。
例如;負面情況eccentiricity將被關閉到0,因爲它是一條線
我希望你知道如何找到輪廓。
使用cv2.isContourConvex(contour)
您可以識別檢測到的輪廓是否凸起。通過凸面,我的意思是凸面是否閉合。您將能夠使用此功能分離封閉輪廓和開放輪廓,該功能返回布爾值True
或False
。
分離出輪廓之後,繼續進行進一步分析,確定輪廓是否有邊緣。
我不需要凹或凸,但只是多邊形的存在。我知道如何找到輪廓還有一些其他功能在opencv找到封閉與否。你能解釋一下嗎 –
你已經說過*'在opencv中有一些其他函數來查找是否關閉'* ...這個函數是什麼?我想知道....:D –
嘿,對不起。這實際上是我的問題 –
你可能想看看shapely.geometry.Polygon,特別是is_valid方法。
它是否必須凸出? – sop
既凹或凸 –