cv2.findcontours函数
时间: 2023-04-30 18:01:59 浏览: 97
cv2.findContours() 是 OpenCV 中的一个函数,用于在二值图像中寻找轮廓。它接受一个二值图像作为输入,并返回一组轮廓和层次结构。轮廓是图像边缘上连续的点的集合,可以用来表示物体的形状。
相关问题
cv2.findContours()函数介绍和解析
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()函数可以在原始图像上绘制轮廓。
cv2.findContours
cv2.findContours是一个OpenCV库中的函数,用于在二进制图像中查找轮廓。它接受一个二进制图像(通常是阈值化或Canny边缘检测后的图像)并返回一个轮廓列表和它们的层次结构。这个函数有三个参数:输入图像、轮廓检索模式和轮廓近似方法。输入图像应该是一个8位单通道图像。轮廓检索模式指定如何检索轮廓,通常设置为cv2.RETR_EXTERNAL以仅检测外部轮廓。轮廓近似方法指定如何近似轮廓,通常设置为cv2.CHAIN_APPROX_SIMPLE以仅保留轮廓的端点。
阅读全文