cv2.findContours的返回值
时间: 2024-02-22 18:53:19 浏览: 175
cv2.findContours函数是OpenCV中用于查找图像中轮廓的函数。它的返回值包括两个部分:轮廓列表和层次结构。
1. 轮廓列表:返回一个包含所有轮廓的列表。每个轮廓都是一个由点组成的数组,表示图像中的一个闭合曲线。可以通过遍历这个列表来访问每个轮廓。
2. 层次结构:返回一个包含轮廓之间关系的层次结构。层次结构是一个包含四个元素的数组,每个元素对应一个轮廓。这四个元素分别是下一个轮廓、前一个轮廓、第一个子轮廓和父轮廓。通过这些关系可以确定轮廓之间的层次关系。
相关问题
cv2.findContours返回值
cv2.findContours函数返回三个值:contours、hierarchy、image。其中,contours是一个列表,包含了所有检测到的轮廓,每个轮廓是一个由点组成的numpy数组;hierarchy是每个轮廓的层次结构,包含了每个轮廓的父子关系信息;image是输入的二值化图像。如果没有找到任何轮廓,那么contours将会是一个空列表,hierarchy将会是一个空数组,image将会是输入的二值化图像。
cv2.findContours的参数以及返回值
cv2.findContours() 是 OpenCV 中用于在二值图像中查找轮廓的函数。它的语法如下:
```
contours, hierarchy = cv2.findContours(image, mode, method, offset)
```
其中,参数含义如下:
- `image`:输入二值图像,要求为灰度图像,即只有 0 和 255 两种像素值。
- `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`:使用 Tang-Chen 算法进行逼近。
- `offset`:可选参数,表示轮廓坐标点的偏移量。
返回值:
- `contours`:检测到的轮廓,是一个包含所有轮廓的列表,每个轮廓由一组点坐标表示;
- `hierarchy`:轮廓之间的层次关系,是一个包含每个轮廓的父子关系、前后关系等信息的列表。
阅读全文