drawContours(result, contours, i, Scalar(0, 0, 255), 2, 8, hierarchy, 0);如何修改为绘制轮廓线而不是绘制整个形状
时间: 2023-10-04 18:10:48 浏览: 36
要绘制轮廓线而不是整个形状,只需将绘制模式参数(第五个参数)从2更改为CV\_RETR\_EXTERNAL,如下所示:
```cpp
drawContours(result, contours, i, Scalar(0, 0, 255), 1, 8, hierarchy, 0, CV_RETR_EXTERNAL);
```
在这里,将绘制模式参数设置为CV\_RETR\_EXTERNAL将只绘制最外层的轮廓线。第五个参数(线宽)也被更改为1,以便绘制的轮廓线更细。
相关问题
drawContours(result, contours, i, Scalar(0, 0, 255), 2, 8, hierarchy, 0);绘制外部轮廓线
这段代码是用于绘制图像中的外部轮廓线的,其中:
- `result`:表示要在哪个图像上绘制轮廓线。
- `contours`:表示检测到的轮廓线的列表,这个列表是通过 `findContours()` 函数得到的。
- `i`:表示要绘制的轮廓线在 `contours` 列表中的索引。
- `Scalar(0, 0, 255)`:表示绘制轮廓线的颜色,这里使用的是红色。
- `2`:表示绘制轮廓线的线宽。
- `8`:表示绘制轮廓线的类型,这里是使用 8 连通性。
- `hierarchy`:表示轮廓线的层级结构,可以通过 `findContours()` 函数的 `hierarchy` 参数得到。
- `0`:表示绘制轮廓线的起始点,这里是从轮廓线的起点开始绘制。
这段代码可以用于在图像上绘制检测到的物体的外部轮廓线。通过调整颜色、线宽等参数,可以得到不同样式的轮廓线。
drawContours(result, contours, i, Scalar(0, 0, 255), 2, 8, hierarchy, 0);
这段代码是 OpenCV 中用于绘制轮廓的函数 `drawContours` 的调用,它的参数解释如下:
- `result`:要在其上绘制轮廓的图像。
- `contours`:包含轮廓点的向量。
- `i`:要绘制的轮廓的索引。
- `Scalar(0, 0, 255)`:用于绘制轮廓的颜色,这里是红色。
- `2`:轮廓线的宽度。
- `8`:轮廓线的类型。
- `hierarchy`:可选参数,轮廓结构的可选输出矩阵。
- `0`:可选参数,绘制轮廓的最大层次。