python怎么实现轮廓检测并得知轮廓编号分别是多少并对第一个轮廓用127灰色填充
要实现轮廓检测并得知轮廓编号分别是多少,可以使用OpenCV库中的findContours函数来查找轮廓,并使用drawContours函数来绘制轮廓。具体代码如下:
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化处理
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(img, contours, 0, (127,127,127), -1)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
其中,findContours函数的第一个参数是二值化图像,第二个参数是轮廓检索模式,第三个参数是轮廓逼近方法。返回值是一个包含所有轮廓的列表,以及每个轮廓的层次结构。drawContours函数的第一个参数是原始图像,第二个参数是轮廓列表,第三个参数是要绘制的轮廓编号,第四个参数是填充颜色,第五个参数是轮廓线宽。在上面的代码中,我们将第一个轮廓用127灰色填充。
原文地址: https://www.cveoy.top/t/topic/bp5B 著作权归作者所有。请勿转载和采集!