在opencv documentation中说:
如果mode等于RETR_CCOMP或RETR_FLOODFILL,则输入也可以是 标签(CV_32SC1)的32位整数图像。
将转换后的图像发送到函数后,我得到了18万个轮廓,如果我将其绘制出来,则会出现下面的黑色混乱。那么RETR_FLOODFILL
的作用是什么,如何正确使用它?
img = cv2.imread("lena.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, contours, _ = cv2.findContours(image=np.array(img, dtype=np.int32), mode=cv2.RETR_FLOODFILL, method=cv2.CHAIN_APPROX_SIMPLE)
len(contours)
Out[7]: 183295
答案 0 :(得分:0)
我认为它可以执行cv2.floodFill
的任何功能。查找所有像素:
1-彼此连接
2个强度值彼此接近
,并将它们视为已连接的组件。例如,在示例图像中,您有183295个像素组,这些像素组粘在一起并且强度很近。