cv drawcontours c++ 官方文档
时间: 2023-07-14 11:02:00 浏览: 116
### 回答1:
cv::drawContours(...)是OpenCV库中的一个函数,用于绘制轮廓。它可以在图像上绘制出给定轮廓的边界。
该函数的语法为:
```cpp
void cv::drawContours(
InputOutputArray image, // 输入的图像
InputArrayOfArrays contours, // 输入的轮廓
int contourIdx, // 要绘制的轮廓索引
const Scalar& color, // 绘制的颜色
int thickness = 1, // 绘制的线条的粗细,默认为1
int lineType = LINE_8, // 绘制的线条的类型,默认为8连通线条
InputArray hierarchy = noArray(), // 轮廓的层次结构,默认为空数组
int maxLevel = INT_MAX, // 轮廓的最大层数,默认表示所有层级的轮廓
Point offset = Point() // 绘制轮廓时的偏移,默认为(0,0)
)
```
这个函数主要用途是将给定的轮廓在图像上绘制出来。其中参数image指定了要在其上绘制轮廓的图像,contours为输入的轮廓,contourIdx表示要绘制的轮廓的索引,color指定了绘制的颜色,thickness参数表示线条的粗细,默认值为1,lineType参数表示线条的类型,默认为8连通线条,hierarchy参数为轮廓的层次结构,默认为空数组。maxLevel参数表示要绘制的轮廓的最大层数,默认为INT_MAX表示所有层级的轮廓都会绘制。最后,offset参数为绘制轮廓时的偏移,默认为(0, 0)。
该函数是OpenCV中常用的图像处理函数之一,可以方便地将轮廓绘制在图像上,便于后续的图像处理分析。它在计算机视觉和图像处理领域被广泛使用,可用于目标检测、形状识别等应用中。熟练掌握该函数的使用方法对于图像处理工程师和计算机视觉研究人员来说非常重要。
### 回答2:
cv::drawContours函数是OpenCV中用于绘制轮廓的函数。它可以接受一个源图像和轮廓信息作为输入,并在图像上绘制出轮廓。
该函数需要传入以下参数:
- 源图像:即包含轮廓的图像。可以是灰度图像,也可以是彩色图像。
- 轮廓:一个向量,包含所有轮廓的点集。每个轮廓由一系列点组成。
- 轮廓索引:用于指定要绘制的轮廓。如果该参数为负值,则绘制所有的轮廓。
- 轮廓颜色:用于指定轮廓的颜色。可以是BGR颜色值。
- 绘制模式:用于指定绘制模式。可以选择将轮廓填充或只绘制轮廓线。
- 轮廓层级:用于指定轮廓的层级结构。有时候会用到。
该函数可以绘制出轮廓的边界线或是填充轮廓内部的区域。可以通过设置绘制模式参数来控制是绘制轮廓线还是填充区域。
使用cv::drawContours函数,我们可以在图像中绘制出检测到的对象的轮廓,从而实现目标检测、形状识别等功能。此外,还可以通过使用不同的颜色和绘制模式来突出显示不同的轮廓。
总结来说,cv::drawContours函数是OpenCV中用于绘制轮廓的函数,它可以接受源图像和轮廓信息作为输入,并在图像上绘制出轮廓。通过该函数可以实现目标检测、形状识别等功能,并能够以不同的颜色和绘制模式突出显示不同的轮廓。
### 回答3:
cv::drawContours函数是OpenCV库中的一个函数,该函数用于在图像上绘制轮廓。轮廓是指由一系列连续的点组成的曲线,常用于图像的分割和物体检测。
该函数的原型为:
```cpp
void drawContours(InputOutputArray image, InputArrayOfArrays contours, int contourIdx, const Scalar& color, int thickness = 1, int lineType = LINE_8, InputArray hierarchy = noArray(), int maxLevel = INT_MAX, Point offset = Point())
```
- image:需要绘制轮廓的图像,通常是一个二维数组或Mat类对象。
- contours:轮廓数组,包含了所有待绘制的轮廓。
- contourIdx:指定要绘制的轮廓在contours数组中的索引,如果为负值,则绘制所有的轮廓。
- color:指定轮廓的颜色,可以是一个标量(单一颜色)或Scalar对象(BGR颜色)。
- thickness:轮廓线的粗细,如果为正值,则表示实心轮廓,如果为负值,则表示轮廓线的宽度。
- lineType:绘制轮廓线的类型,可选参数为LINE_4、LINE_8或LINE_AA。
- hierarchy:轮廓的层次结构,通常通过findContours函数计算得到。
- maxLevel:绘制轮廓的最大层数。
- offset:轮廓的偏移量,用于绘制子轮廓。
通过调用该函数,可以在图像上绘制指定的轮廓,以可视化分割结果或检测到的物体。使用不同的参数组合,可以实现不同的绘图效果,进而应用于各种图像处理应用中。
阅读全文