cv2.RETR_TREE 和 cv2.RETR_EXTERNAL
时间: 2024-08-14 18:05:00 浏览: 45
python cv2截取不规则区域图片实例
`cv2.RETR_TREE` 和 `cv2.RETR_EXTERNAL` 是 OpenCV(Computer Vision Library)中的两种图像轮廓检索模式,用于从二进制掩码中提取边缘像素并组织成轮廓。
- `cv2.RETR_TREE`(树状搜索,Retrieval as a Tree):这种模式会构建轮廓的树形结构,其中包含所有相互连接的轮廓。每个轮廓都与它的子轮廓相连,形成一个完整的轮廓树。这种方式适用于查找轮廓之间的层次关系,例如在分析分形形状时很有用。
- `cv2.RETR_EXTERNAL`(外部轮廓检索,Retrieval of External Contours Only):它只返回最外层的轮廓,也就是与其他轮廓无交集的最大包围轮廓。这种方式适用于简单的应用场景,只需提取单独的、孤立的轮廓,而不需要它们内部的嵌套关系。
当你使用`cv2.findContours()`函数时,可以通过设置`mode`参数来选择这两种检索模式之一。比如:
```python
contours, hierarchy = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
```
或者
```python
contours, hierarchy = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
```
阅读全文