findcontours函数参数
时间: 2023-10-08 12:12:07 浏览: 65
`findContours()` 函数是 OpenCV 中用于查找图像中的轮廓的函数。它的参数如下:
- `image`:输入图像,必须是二值图像,通常是通过阈值化操作得到的。
- `mode`:轮廓检索模式,指定轮廓的层次结构。可以选择以下模式:
- `cv2.RETR_EXTERNAL`:只检测外轮廓,不检测内部轮廓。
- `cv2.RETR_LIST`:检测所有轮廓,但不建立轮廓的层次结构。
- `cv2.RETR_CCOMP`:检测所有轮廓,建立两层层次结构。顶层为物体的外部边界,第二层为物体的内部边界。
- `cv2.RETR_TREE`:检测所有轮廓,建立完整的层次结构。
- `method`:轮廓逼近方法。可以选择以下方法:
- `cv2.CHAIN_APPROX_NONE`:存储所有的轮廓点。
- `cv2.CHAIN_APPROX_SIMPLE`:仅存储轮廓的拐点信息,将所有非拐点的点舍弃。
- `cv2.CHAIN_APPROX_TC89_L1` 和 `cv2.CHAIN_APPROX_TC89_KCOS`:使用 Teh-Chin 链逼近算法。
- `contours`:检测到的轮廓,每个轮廓表示为一个点集。
- `hierarchy`:轮廓的层次结构信息,用于表达轮廓之间的关系。
相关问题
findContours函数参数
的含义是什么?
findContours是OpenCV中用于在二值图像中查找轮廓的函数。其参数含义如下:
- 输入图像:必须为灰度或二值图像。
- 轮廓检索模式:指定轮廓的检索模式。有RETR_EXTERNAL表示只检测最外层轮廓、RETR_LIST表示检测所有轮廓并将它们存储在列表中等模式可供选择。
- 轮廓近似方法:指定轮廓的近似方法。有CHAIN_APPROX_NONE和CHAIN_APPROX_SIMPLE等方法可供选择。
- 输出参数:用于存储检测到的轮廓信息。
- 起点偏移量:指定轮廓的起始位置。
findcontours函数参数C++版本
在C++中,findContours函数有以下参数:
```C++
void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset = Point());
```
其中,各参数的含义为:
- `image`:输入的二值图像,要求为8位单通道图像,非零像素表示目标。
- `contours`:输出的轮廓信息,为一个向量,每个元素都是一个轮廓,由一系列点组成。
- `hierarchy`:轮廓的层级信息,为一个可选的输出参数。
- `mode`:轮廓查找模式,有以下几种模式可选:
- `RETR_EXTERNAL`:只检测最外层轮廓。
- `RETR_LIST`:检测所有轮廓,但不建立轮廓之间的层级关系。
- `RETR_CCOMP`:检测所有轮廓,建立两层层级关系。
- `RETR_TREE`:检测所有轮廓,建立完整的层级关系。
- `method`:轮廓逼近方法,有以下几种方法可选:
- `CHAIN_APPROX_NONE`:保存所有的轮廓点。
- `CHAIN_APPROX_SIMPLE`:只保留轮廓的拐点。
- `CHAIN_APPROX_TC89_L1`和`CHAIN_APPROX_TC89_KCOS`:使用Teh-Chin链逼近算法中的一个。
- `offset`:可选的偏移量,用于指定轮廓点的偏移量。
阅读全文