绘制轮廓 获得一列轮廓后,一个最常用的功能是在屏幕上绘制检测到的轮廓。绘制轮廓可以用cv2.drawContours()函数完成。 cv2.drawContours 绘制等高线轮廓或填充等高线。官方文档 函数使用 代码语言:javascript 复制 cv2.drawContours(image,# 目标画布图像 contours,# 轮廓 contourIdx,# 参数表示要绘制的轮廓。如果为负值,...
轮廓检测的主要函数是 cv2.findContours,它能检测图像中显著的边界。 轮廓检测步骤: 1. 读取图像并灰度化: 图像必须是单通道图像。 2. 边缘检测/二值化: 使用 cv2.Canny 或 cv2.threshold 提取显著边缘。 3. 轮廓提取: 调用 cv2.findContours 函数获取轮廓。 4. 绘制轮廓: 使用 cv2.drawContours 将轮廓显示在...
检测所有的轮廓,但所有轮廓只建立两个等级关系,外围为顶层,若外围内的内围轮廓还包含了其他的轮廓信息,则内围内的所有轮廓均归属于顶层 在这里插入图片描述 RETR_TREE(recommended) 检测所有轮廓,所有轮廓建立一个等级树结构。外层轮廓包含内层轮廓,内层轮廓还可以继续包含内嵌轮廓。 在这里插入图片描述 1.3 轮廓坐标点...
@目录1.查找轮廓1.1 API1.2 轮廓层级检测模式:索引号(层级)RETR_EXTERNAL(索引顺序:从右下到左上)RETR_LIST(recommended)(索引顺序:从右下到左上,由外到内)RETR_CCOMP(not recommended)(索引顺序:由内到外,从右下到左上)RET
1.查找轮廓 1.1 API 1.2 轮廓层级检测模式:索引号(层级) RETR_EXTERNAL(索引顺序:从右下到左上) RETR_LIST(recommended)(索引顺序:从右下到左上,由外到内) RETR_CCOMP(not recommended)(索引顺序:由内到外,从右下到左上) RETR_TREE(recommended) ...
cv2.RETR_TREE:检测所有的轮廓,并将其组织为树形结构。 method:轮廓的近似方法。可以选择的方法包括: cv2.CHAIN_APPROX_NONE:保存所有的轮廓点。 cv2.CHAIN_APPROX_SIMPLE:仅保存轮廓的端点,例如一个矩形框的四个角点。 cv2.CHAIN_APPROX_TC89_L1和cv2.CHAIN_APPROX_TC89_KCOS:使用 Teh-Chinl chain 近似算法...
检测所有的轮廓,包括内围、外围轮廓,但是检测到的轮廓不建立层级关系,这就意味着这个检索模式下不存在父轮廓或内嵌轮廓,所以hierarch[i]向量内所有元素的第3、第4个分量都会被置为-1。 RETR_CCOMP(not recommended)(索引顺序:由内到外,从右下到左上) ...
mode 轮廓层级的检测模式 ,详见下文 method 轮廓坐标点的储存方式 ,详见下文 offset 额外偏移量,在每一个检测出的轮廓点上加上该偏移量,可以是负值。当所分析图像是另外一个图像的ROI的时候,通过加减这个偏移量,可以把ROI图像的检测结果投影到原始图像对应位置上。 hierarchyi:第i个轮廓的同一层级后一个轮廓的索引...
轮廓检测也是图像处理中经常用到的。OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。 实现 使用方式如下: 代码语言:javascript 复制 importcv2 img=cv2.imread("./test.jpg")gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)ret,binary=cv2.threshold(gray,127,255,cv2.THRESH_BINARY)contours,hiera...