cv2.findContours()函数介绍和解析
时间: 2023-11-02 13:32:18 浏览: 133
提供轮廓拓扑结信息(hierarchy)且contourIdx的值为-1时函数drawContours()是按怎样的规律绘制轮廓
5星 · 资源好评率100%
cv2.findContours()是一个用于在二进制图像中查找轮廓的函数。该函数接受一张二进制图像作为输入,并返回一个轮廓列表和轮廓的层次结构。
函数语法如下:
`contours, hierarchy = cv2.findContours(image, mode, method, offset)`
其中参数含义如下:
- image:输入的二进制图像。
- mode:轮廓检索模式,可以是RETR_EXTERNAL(只检索最外层轮廓)、RETR_LIST(检索所有轮廓,不建立父子关系)、RETR_CCOMP(检索所有轮廓,建立两层父子关系)、RETR_TREE(检索所有轮廓,建立完整的父子层级关系)。
- method:轮廓逼近方法,可以是CHAIN_APPROX_NONE(存储所有的轮廓点)、CHAIN_APPROX_SIMPLE(仅存储水平、垂直和斜线端点)、CHAIN_APPROX_TC89_L1、CHAIN_APPROX_TC89_KCOS。
- offset:可选参数,表示偏移量,用于调整轮廓中的坐标值。
该函数返回轮廓列表和轮廓的层次结构,其中轮廓列表是一个Numpy数组,每个元素都是一个轮廓,包含了轮廓上的所有点的坐标。轮廓的层次结构是一个Numpy数组,每个元素都是一个四元组,包含了轮廓的索引、下一个轮廓的索引、父轮廓的索引和内部轮廓的索引。
使用cv2.drawContours()函数可以在原始图像上绘制轮廓。
阅读全文