cv2.findContours的参数和选项
时间: 2023-11-02 10:38:17 浏览: 35
cv2.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:使用Teh-Chin链逼近算法。
- cv2.CHAIN_APPROX_TC89_KCOS:使用Teh-Chin链逼近算法,并使用跨越角度的余弦值来进一步减少点的数量。
返回值:
- contours:包含所有检测到的轮廓的列表。
- hierarchy:每个轮廓的层次信息。如果没有指定层次结构,则为None。
相关问题
cv2.findContours参数
cv2.findContours()函数是用于在二值图像中查找轮廓的函数。它的参数如下:
- 第一个参数是输入图像,必须是单通道的二值图像。
-二个参数是轮廓检索模式,有四种可选模式:cv2.RETR_EXTERNAL表示只检测外轮廓,cv2.RETR_LIST检测的轮廓不建立等级关系,cv2.RETR_CCOMP建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息,如果内孔内还有一个连通物体,这个物体的边界也在顶层。cv2.RETR_TREE建立一个等级树结构的轮廓。
- 第三个参数是轮廓近似方法,有三种可选方法:cv2.CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即max(abs(dx),abs(dy))==1,cv2.CHAIN_APPROX_SIMPLE压缩水平方向、垂直方向和对角线方向的元素,只保留端点,例如一个矩形轮廓只需4个点来保存轮廓信息,cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS使用teh-Chinl chain 近似算法。
- 返回值有三个,第一个是轮廓本身,第二个是轮廓的层析结构,第三个是每个轮廓的近似值。
下面是一个cv2.findContours()的例子:
```python
import cv2
img = cv2.imread('example.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
```
cv2.findContours 参数
cv2.findContours 是 OpenCV 中用来查找图像轮廓的函数。它有三个参数:
1. image: 输入图像,必须为 8 位单通道图像,如灰度图像。
2. mode: 轮廓检索模式。有四种模式:
- cv2.RETR_EXTERNAL:只检测外轮廓。
- cv2.RETR_LIST:检测所有轮廓,并将其保存到列表中。
- cv2.RETR_CCOMP:检测所有轮廓,并将其组织成两级层次结构。外层为物体的边界,内层为物体的孔的边界。
- cv2.RETR_TREE:检测所有轮廓,并将其组织成完整的层次结构。
3. method: 轮廓近似方法。有三种方法:
- cv2.CHAIN_APPROX_NONE:存储所有的边界点,相邻两个点之间没有任何关系。
- cv2.CHAIN_APPROX_SIMPLE:仅存储水平、垂直和对角线方向上的端点,例如一个矩形只需存储四个角点。
- cv2.CHAIN_APPROX_TC89_L1 和 cv2.CHAIN_APPROX_TC89_KCOS:使用 Tee和 Chinlone 角度度量来进行逼近。
cv2.findContours 函数返回两个值:轮廓列表和层次结构。轮廓列表是一个 Numpy 数组,其中每个元素都是一个包含轮廓所有点坐标的数组。层次结构描述了轮廓之间的关系,其格式为 [next, previous, child, parent]。