对于二值图像S的某轮廓C而言。图像中每个像素点Point(col, row),col<S.cols, row<S.rows。
计算 每个Point(col, row)到轮廓C的距离,再把每个距离值存放在⼀个和原图像尺⼨相同的Mat对象中,这个Mat对象的每个元素都是⼀个距离值。计算完所有Point(col, row)到轮廓C的距离值后,获取其中最⼤的距离值以及对应的点坐标,这个距离值就是最大内接圆的半径,点坐标(col, row)就是最大内接圆的圆心。然后我们就可以通过圆⼼和半径将轮廓的最⼤内接圆绘制出来了。
/** @brief进行轮廓点测试。
该函数确定点是在轮廓线内、外,还是位于边缘(或与一个顶点重合)。它返回正(内),负(外),或零(边)
当measureDist=false时,返回值分别是+1,-1和0。
否则,返回值是点和最近的轮廓边缘之间的最近符号距离(区分正负值)。
@param InputArray 输入轮廓。
@param pt 点。
@param measureDist 如果为真ÿ