第八章
1. 查找并绘制轮廓
(1) 寻找轮廓:findContours() 函数
注:
(2) 绘制轮廓:drawContours()函数
层次结构信息:
2. 寻找物体的凸包
(1) 凸包概念:
(2) 寻找凸包函数:convexHull()
3. 根据轮廓提取多边形
(1) 返回外部矩阵边界:boundingRect() 函数
(2) 寻找最小包围矩阵:minAreaRect()函数
(3) 寻找最小包围圆形:minEnclosingCiecle()函数
(4) 用椭圆拟合二维点集:fitEllipse()函数
(5) 逼近多边形曲线:approxPolyDP()函数
注:轮廓vertor容器contours[i]应该是包含了很多坐标信息,比如一个contours[0]就是一个轮廓的二维坐标点集
4. 图像的矩:其实就是一个综合特性的描述子(满足平移,伸缩,旋转的不变性),从而可以计算长度和面积
(1) opencv中计算图像的矩
(2) 矩的计算函数:moments()–可以由此函数的返回值作为参数,通过contourArea()和arcLength()函数来计算面积和长度
(3) 计算轮廓面积:contourArea()
(4) 计算轮廓长度:arcLength()函数
opencv里的Moments成员变量的理解:(5) 分水岭算法
怎么感觉"漫水填充算法"和”分水岭填充算法"的核心思想差不多。
I. 漫水填充算法(主要是选种子点,然后设定阈值,自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色):
II. 掩模(就是遮掉不需要的部分):用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。
(1)watershed()函数
6.图像修补
(1)图像修补函数:inpaint() 函数