drawContours()函数解析

drawContours()函数是OpenCV中一个重要的图像处理函数,它可以将轮廓提取出来,并可以用来绘制轮廓,它的定义如下:drawContours(Mat image, vector<vector > contours, int contourIdx, Scalar color, int thickness),其中image是输入图像,contours是提取出来的轮廓,contourIdx是指定要绘制的轮廓,color是绘制轮廓的颜色,thickness是绘制轮廓的粗细。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`drawContours()`函数OpenCV中的一个函数,用于在图像上绘制轮廓。该函数的定义如下: ```python cv2.drawContours(image, contours, contourIdx, color, thickness=None, lineType=None, hierarchy=None, maxLevel=None, offset=None) ``` 其中,参数含义如下: - `image`:要绘制轮廓的图像,必须为8位无符号图像。 - `contours`:表示轮廓的列表。每个轮廓都是一个包含边界点的numpy数组。 - `contourIdx`:要绘制的轮廓的索引。当设置为-1时,绘制所有轮廓。 - `color`:绘制轮廓的颜色。 - `thickness`:轮廓线的粗细。默认值为1。 - `lineType`:轮廓线的类型。默认为`cv2.LINE_8`。 - `hierarchy`:轮廓的层次结构信息。默认为`None`。 - `maxLevel`:要绘制的轮廓的最大层次结构级别。默认为`None`。 - `offset`:轮廓偏移量。默认为`(0,0)`。 `drawContours()`函数可以用于在图像上绘制单个轮廓或多个轮廓。如果要绘制多个轮廓,需要将所有的轮廓放在一个列表中,然后将该列表作为`contours`参数传递给函数。如果要绘制所有轮廓,可以将`contourIdx`参数设置为-1。 例如,下面的代码演示了如何使用`drawContours()`函数在图像上绘制轮廓: ```python import cv2 # 读取图像 img = cv2.imread('test.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, -1, (0, 255, 0), 2) # 显示图像 cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个例子中,我们首先将图像转换为灰度图像,然后对其进行二值化处理,接着使用`cv2.findContours()`函数获取轮廓。最后,我们使用`cv2.drawContours()`函数在图像上绘制轮廓,并将结果显示出来。 注意,`drawContours()`函数并不会修改传递给它的图像,而是返回一个绘制了轮廓的新图像。如果要修改原始图像,请将结果赋值给原始图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值