【Python】【Opencv】cv2.findContours()、cv2.drawContours()和cv2.contourArea()函数详解和运行示例

为帮助大家理解和使用cv2.findContours()、cv2.drawContours()和cv2.contourArea()函数,本文通过对函数内容进行详解,并通过运行示例更直观表述。

函数解析

cv2.findContours()

cv2.findContours 是 OpenCV 中的一个函数,用于在二值图像中查找轮廓。以下是该函数的详细解释和参数说明:

函数原型
cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]])

参数:
image:输入图像,通常是一个二值图像。
mode:轮廓检索模式。它可以是以下值之一:
cv2.RETR_EXTERNAL:只检索最外层的轮廓。
cv2.RETR_LIST:检索所有轮廓,并以列表形式返回。
cv2.RETR_CCOMP:检索所有轮廓,并以树状结构(contour hierarchy)形式返回。此时,轮廓被分为不同的层级。
cv2.RETR_TREE:检索所有轮廓,并以完整的树状结构形式返回。
method:轮廓近似方法。它可以是以下值之一:
cv2.CHAIN_APPROX_NONE:存储轮廓上的所有点。
cv2.CHAIN_APPROX_SIMPLE:压缩水平、垂直和对角方向的轮廓点。
cv2.CHAIN_APPROX_TC89_L1 和 cv2.CHAIN_APPROX_TC89_KCOS:使用L1和KOS链逼近算法。
contours(可选):输出参数,返回检测到的轮廓。
hierarchy(可选):输出参数,返回轮廓的层次结构。它是一个多通道多维数组,其中每个轮廓由三个数组组成:[next, previous, first_contour]。其中,“next”是下一个轮廓的索引,“previous”是上一个轮廓的索引,“first_contour”是起始轮廓的索引。
offset(可选):偏移量,指定从哪里开始搜索轮廓。例如,如果指定了(10, 10),则从图像的(10, 10)位置开始搜索轮廓。

返回值:
如果指定了contours参数,则此函数返回被检测到的第一个轮廓的索引;否则,不返回任何内容。

cv2.drawContours()

cv2.drawContours 是 OpenCV 中的一个函数,用于在图像上绘制轮廓。以下是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木彳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值