Python:
cv2.findContours()
contours, hierarchy = cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]] )
contours: 探测的轮廓,每个轮廓被存储到一个有点构成的向量中,
hierarchy:没看懂,我也没用到,回来再补充
cv2.drawContours()
cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]] )
image: 打开的图像
contours:探测的轮廓,由cv2.findContours()函数得到
contourIdx:表明要绘制轮廓的参数。 如果为负,则绘制所有轮廓
color:轮廓的颜色一个元组BGR例(0,0,255)红色
thickness:绘制轮廓的线的粗细。 如果它是负数(例如,thickness = FILLED),则绘制轮廓内部。
例子:
filename = "images\industry_images\sample7.png"
img = cv2.imread(filename)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# gray image
# binarization
ret, binary = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0,0,255), 3)
cv2.imwrite('1.png',img)
cv2.imshow("img", img)
cv2.waitKey(0)
参考来源:opencv官网传送门