OpenCV 绘制图像轮廓
绘制轮廓的一般步骤:
1、读取图像
image = cv2.imread('image_path')
2、将原图转化为灰度图像
image_gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
3、将灰度图像进行二值化阈值处理
# 这里将阈值设置为127为例,最大阈值为255
t, binary = cv.threshold(image_gray, 127, 255, cv.THRESH_BINARY)
4、检测二值化图像中边缘轮廓
# 这里以检测所有轮廓,不建立层次关系为例
contours, hierarchy = cv2.findContours(binary, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)
5、在原图上绘制图像
# 这里将轮廓索引设置为-1,绘制出所有轮廓,颜色设置为红色,宽度为2为例
cv2.drawContours(image, contours, -1, (0, 0, 255), 2)
6、显示图像
cv2.imshow('image', image)
测试检测几何图形轮廓:
代码如下