词义:发现轮廓!
从二进制图像中查找轮廓(Finds contours in a binary image);轮廓是形状分析和物体检测和识别的有用工具。
findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy
参数
image - 一个8位单通道二值图像(非0即1)。非零像素视为1、零像素依然为0, 因此图像被视为二进制。也可使用compare()、inRange()、threshold()、adaptiveThreshold()、Canny()等函数从灰度图或彩色图中创建二进制图像。若 mode 等于 #RETR_CCOMP 或 #RETR_FLOODFILL,则输入也可以是标签的32位整数图像(CV_32SC1)。
mode - 轮廓检索模式
method - 轮廓近似方法
offset - 每个轮廓点的偏移量。若从image ROI中提取轮廓,则应基于整个图像进行分析
返回值
contours - 检测到的轮廓,列表list形式,list 中每个元素都是图像中的一个轮廓,这里的每一个元素仍为(点)向量。
hierarchy - 它和轮廓 contours 个数相同(可选结果),这是一个 ndarray,其中元素个数和轮廓个数相同。每个轮廓 contours[i]
对应 4 个 hierarchy 元素 hierarchy[i][0] ~ hierarchy[i][3]
,分别表示后一个轮廓、前一个轮廓、父轮廓、内嵌轮廓的索引编号,如果没有对应项,则该值为负数。(各个轮廓的继承关系。hierarchy也是一个向量,长度和contours相等,每个元素和contours的元素对应。hierarchy的每个元素是一个包含四个整型数的向量)
注意:
Source image is modified by this function.
该函数会修改输入的图像,故建议使用原始图像的副本,所以在代码中常用 img.copy() 来作为输入图像。
原文:https://www.cnblogs.com/gengyi/p/10295200.html