findContours 是 opencv 下的轮廓提取函数。
1. api 分析
findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> image, contours, hierarchy
- image,一般为单通道图像;
- mode:轮廓检索模式(retrieve)
- cv2.RETR_EXTERNAL,只检测外部轮廓,也即对所有轮廓
hierarchy[i][2] == hierarchy[i][3] == -1
- hierarchy[i],一级索引指的是全部检索到的轮廓,轮廓由四个元素构成的元组组成,
- cv2.RETR_LIST:提取所有轮廓,并放置在 list 中,对检测到的轮廓不建立等级关系;
- cv2.RETR_TREE:提取所有轮廓,建立网状的轮廓结构;
- cv2.RETR_EXTERNAL,只检测外部轮廓,也即对所有轮廓
- method:轮廓的近似方法,是提取轮廓上所有的像素点,还是一些关键点。
- 如对于一条线段是提取所有点,还是仅提取两个端点;
- contours:检索到的轮廓,为构成轮廓的点集;