在第十一课中我们讲了图像检测中的划痕检测,今天讲一讲其中的轮廓提取和轮廓操作工具。
什么是轮廓提取?
图像中灰度值变化比较剧烈的,且具有连续性等特性的地方定义为轮廓,轮廓提取功能就是获取图片中的轮廓。
轮廓提取的基本思想是利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。因此,轮廓提取包括两个基本内容:
1、用轮廓提取算子提取出反映灰度变化的边缘点集。
2、在边缘点集合中剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。用于边缘检测的算子有 Sobel、Canny、Deriche1、Deriche2、Lanser1、Lanser2、Shen。
轮廓提取的基本原理
图1 轮廓提取基本原理
一、轮廓提取工具界面
点击轮廓提取中的“设置”按钮,打开设置参数界面,如图2。
图2 轮廓提取工具界面
二、轮廓提取的参数解析
1、边缘检测方法:Sobel、Canny、Deriche1、Deriche2、Lanser1、Lanser2、Shen。
2、滤波系数:Sobel滤波器的轮廓提取效果与滤波系数无关;Canny提取方法,滤波系数越大,所提取的轮廓越平滑;Deriche1、Deriche2、Lanser1、Lanser2、Shen滤波系数越小,所提取的轮廓越平滑,得到的细节越少。
3、低阈值:边缘检测低阈值,低阈值不能大于高阈值。范围是[0, 255]。
4、高阈值:边缘检测高阈值,高阈值不能小于低阈值。边缘检测高低阈值剔除轮廓的逻辑是当轮廓点梯度高于高阈值的时候轮廓点保留,当轮廓点梯度介于高低阈值之间,如果此轮廓点能连接高阈值轮廓则被保留,否则去掉。当轮廓点梯度低于低阈值,则去掉。范围是[0, 255]。
5、最短轮廓:轮廓长度的下限。剔除长度小于该值的轮廓。范围是[1, 100000],不得大于最大轮廓长度。
6、最长轮廓:轮廓长度的上限。剔除长度大于该值的轮廓。范围是[1, 100000],不得小于最短轮廓长度。
三、梯度滤波器及滤波系数的影响
图3 滤波器及滤波系数的影响
什么是轮廓操作?
轮廓操作功能是增加对轮廓的处理,可以根据长度、面积、坐标等条件对轮廓进行筛选,可以根据是否共圆、共线连接断裂轮廓,还可以去除干扰的轮廓信息等,从而获得所需要的目标轮廓。
一、轮廓操作工具界面
点击轮廓操作中的“设置”按钮,打开设置参数界面,如图4。
图4 轮廓操作算子界面
二、轮廓操作功能介绍举例
2.1 筛选轮廓
通过不同的条件,调整参数,筛选出所需要的目标轮廓。
图5 筛选轮廓
2.2 分割轮廓
需要对完整轮廓进行分段解析时,可以将轮廓进行分割开来,逐一解析判定。
图6 分割轮廓
2.3 连接共线轮廓
通过参数设置,对在同一条拟合直线上的轮廓进行连接操作。
图7 连接共线轮廓
三、应用场合
图8 应用场合-效果图
1、当提取多个轮廓时,需要对轮廓进行筛选、分割等处理,从而得到所需要的目标轮廓。
2、当提取的轮廓比较零散、不连续时,需要对轮廓进行连接、平滑等处理,从而得到理想轮廓。
以上为OPT小讲堂之SciSmart智能视觉软件操作培训第十二课的内容,如对课程有任何问题欢迎在留言区留言。