OPENCV3编程入门--第八章(图像轮廓与图像分割,修复)学习笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/hh5233/article/details/98759311

1.查找并绘制轮廓

(1) 寻找轮廓:findContours() 函数
在这里插入图片描述
在这里插入图片描述

注:
在这里插入图片描述
(2) 绘制轮廓:drawContours()函数
在这里插入图片描述
在这里插入图片描述

 层次结构信息:https://blog.csdn.net/qq_36387683/article/details/80472043

2.寻找物体的凸包

(1)凸包概念:
在这里插入图片描述

(2)寻找凸包函数:convexHull()
在这里插入图片描述

3.根据轮廓提取多边形
(1)返回外部矩阵边界:boundingRect() 函数
在这里插入图片描述
(2)寻找最小包围矩阵:minAreaRect()函数

在这里插入图片描述
(3)寻找最小包围圆形:minEnclosingCiecle()函数
在这里插入图片描述
在这里插入图片描述
(4)用椭圆拟合二维点集:fitEllipse()函数
在这里插入图片描述
(4)逼近多边形曲线:approxPolyDP()函数
在这里插入图片描述

 注:轮廓vertor容器contours[i]应该是包含了很多坐标信息,比如一个contours[0]就是一个轮廓的二维坐标点集

4.图像的矩:其实就是一个综合特性的描述子(满足平移,伸缩,旋转的不变性),从而可以计算长度和面积

(1)opencv中计算图像的矩
在这里插入图片描述
(2矩的计算函数:moments()–可以由此函数的返回值作为参数,通过contourArea()和arcLength()函数来计算面积和长度
在这里插入图片描述
(3)计算轮廓面积:contourArea()在这里插入图片描述
(4)计算轮廓长度:arcLength()函数
在这里插入图片描述
在这里插入图片描述
opencv里的Moments成员变量的理解:https://blog.csdn.net/ZZS_SZZ/article/details/84778584

(5)分水岭算法
怎么感觉"漫水填充算法"和”分水岭填充算法"的核心思想差不多
漫水填充算法(主要是选种子点,然后设定阈值,自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色):https://blog.csdn.net/qq_31531635/article/details/73337887
掩模(就是遮掉不需要的部分):用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。
在这里插入图片描述
(1)watershed()函数
在这里插入图片描述
6.图像修补

在这里插入图片描述
在这里插入图片描述
(1)图像修补函数:inpaint() 函数
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hh5233/article/details/98759311