![](/img/trans.png)
[英]OpenCV findContours() detects contours only if the image is saved and read beforehand
[英]OpenCV: Get only black contours in a binary image with findContours
我是 OpenCV 的新手,所以請多多包涵。
目前,我在二值圖像中同時獲得了白色和黑色事物的輪廓。 我只想要黑色輪廓(所以值為0)。 我可以調整某種設置來獲得這個結果嗎? 或者我可以過濾它們嗎?
另外: cv.findContours() 確實返回輪廓和層次結構。 層次結構是做什么用的?
最后:輪廓似乎由一個具有多個坐標的數組組成。 他們的意思是什么?
cv2.findContours 查找圖像中的所有輪廓。 有些是內部的,有些是外部的,有些嵌套在其他輪廓內。
因此,該方法返回多個坐標。 層次結構是一個向量,其中包含有關提取的這些不同級別的輪廓(外部、嵌套、內部等)的信息。
但是,您可以設置一個retrievalMode
來根據層次結構過濾輪廓。
在任何情況下,它們都不包含有關顏色的信息,因此您需要以某種方式過濾它們。
我可能會補充一點,您可以做的一件明智的事情是在獲取輪廓之前過濾圖像,因此您只能根據您選擇的顏色或顏色范圍在您創建的蒙版中找到輪廓(請參閱cv2.inRange
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.