[英]Generic fill shapes using Python & OpenCV
我想知道圖像中某些形狀的面積(“白色”像素的數量)。
並想用白色“填充”空白形狀,然后計算白色像素以了解形狀的面積。
為此,我使用以下代碼:
# Filling shapes
kernel = np.ones((1000, 500), np.uint8)
closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel, iterations=1)
比我計算白色像素並獲取形狀的面積(以像素為單位)。
我的問題是形狀總是不同的,我不知道如何讓我的代碼更通用以填充任何其他形狀——例如這個形狀圖像:
使用相同的填充形狀代碼給我這個不需要的結果(在這種情況下在左側):
有什么想法可以為更通用的填充內核(或其他東西..)做些什么?
提前謝謝了!
當輪廓閉合時,種子填充或多邊形填充是標准方法。 如果不是,形態學閉合與輪廓中斷一樣大會有所幫助。
您看到的“左側”效果是由於膨脹到達左邊緣。 如果放大左側的圖像,則不會再產生(只要兩個形狀不接觸)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.