【Opencv】cv2.drawContours()函数,给定系列坐标点画轮廓

cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset ]]]]])

第一个参数是指明在哪幅图像上绘制轮廓;
第二个参数是轮廓本身,在Python中是一个list。
第三个参数指定绘制轮廓list中的哪条轮廓,如果是-1,则绘制其中的所有轮廓。后面的参数很简单。其中thickness表明轮廓线的宽度,如果是-1(cv2.FILLED),则为填充模式。绘制参数将在以后独立详细介绍。

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))  #   **得到该图中总的轮廓数量**  
print(cnts[0])   #  打印出第一个轮廓的所有点的坐标, 更改此处的0,为0--(总轮廓数-1),可打印出相应轮廓所有点的坐标  
print(hierarchy) #**打印出相应轮廓之间的关系**  
img=cv2.drawCountours(img,[cnts[0]],-1,(0,255,0),10)  #标记处编号为0的轮廓  
cv2.imshow('drawimg',img)  
cv2.waitKey() 

 

你可能感兴趣的:(Python,Opencv)