cv2.findcontours参数
时间: 2023-04-23 13:05:51 浏览: 117
cv2.findcontours参数包括:
1. image:输入图像,必须为二值图像,即黑白图像。
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:使用Teh-Chin链逼近算法。
4. contours:检测到的轮廓,每个轮廓由一组点组成。
5. hierarchy:轮廓的层级结构,每个轮廓对应一个四元组(hierarchy[i][], hierarchy[i][1], hierarchy[i][2], hierarchy[i][3]),其中hierarchy[i][]、hierarchy[i][1]、hierarchy[i][2]、hierarchy[i][3]分别表示当前轮廓的后一个轮廓、前一个轮廓、第一个子轮廓和父轮廓的索引。如果当前轮廓没有对应的后一个、前一个、子轮廓或父轮廓,则相应的索引值为-1。
相关问题
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]。