对于cv2.findContours() 函数,相信很多人都在使用,利用其进行轮廓的寻找,之后利用cnt[num],对第num个轮廓进行操作,但是该函数返回的三个参数具体表示的是什么呢?
下面就进行详细介绍,为了能够使读者更加深入的理解,利用下面的例程进行具体分析。
准备材料:图片一张(作者手动画图软件绘制的)
Python程序如下:
improve cv2
improve numpy as np
img=cv2.imread('test.jpg')
imgray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh=cv2.thrshold(imgray,127,255,0)
image,cnts,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.imshow('imageshow',image) # 显示返回值image,其实与输入参数的thresh原图没啥区别
cv2.waitKey()
print(np.size(cnts)) # 得到该图中总的轮廓数量