opencvsharp的FindContours方法讲解
时间: 2023-07-29 17:06:23 浏览: 179
`FindContours` 是 OpenCVSharp 库中的一个函数,用于在二值图像中查找轮廓。它的函数原型如下:
```csharp
static void Cv2.FindContours(
InputArray image,
OutputArray contours,
OutputArray hierarchy,
RetrievalModes mode,
ContourApproximationModes method,
Point offset = default,
bool? usePreviousMode = default
)
```
其中:
- `image`:输入二值图像,要求为 8 位单通道图像。
- `contours`:输出的轮廓序列,每个轮廓是一个包含点集的向量。
- `hierarchy`:输出的轮廓的层级结构,可选参数,可以为 null。
- `mode`:轮廓检索模式,有两种可选类型:`RetrievalModes.List` 和 `RetrievalModes.CComp`。
- `method`:轮廓逼近方法,有三种可选类型:`ContourApproximationModes.ChainApproxNone`、`ContourApproximationModes.ChainApproxSimple` 和 `ContourApproximationModes.ChainApproxTC89L1`。
- `offset`:轮廓点的相对偏移量,可以为默认值。
- `usePreviousMode`:是否使用上一次检索模式,可以为 null。
`FindContours` 函数的作用是在输入的二值图像中寻找轮廓,它将每个轮廓作为一个点集返回,并且可以使用 `hierarchy` 参数来描述轮廓之间的关系,如父子关系等。`contours` 参数中的每个轮廓是一个包含点集的向量,每个点是一个 OpenCVSharp 中的 `Point` 类型。轮廓的检索模式和逼近方法可以根据需要选择不同的参数。
阅读全文