5.2.2 边缘提取
图像的大部分信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,是图像中灰度变化比较剧烈的地方,能勾划出目标物体,使观察者—目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等),是图像识别中抽取图像特征的重要属性。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变等)的反映,它标志着一个区域的终结和另一个区域的开始。轮廓提取是边界分割中非常重要的一种处理,同时也是图像处理的经典难题,轮廓提取和轮廓跟踪的目的都是获得图像的外部轮廓特征。
通常我们根据信号发生奇异变化的特点来划分边缘的类型,一般有两种类型:一种为阶跃状,另一种为屋顶状。阶跃边缘中边缘两边的灰度值有明显的变化;而屋顶状边缘中边缘位于灰度增加与减少的交界处。
二值图像的轮廓提取原理,简单地说就是掏空内部点:如果当前点为黑(0),而且它周围 8 个点(8 邻域)也为黑,则将这个点删除(置反--255)。在进行廓提取的时候需要建立一个一文数组,用来记录当前点周围 8 个点的信息,如果8 个点与当前点的灰度值相差不超过规定的阈值则采用上述方法,否则保留。这样在遍历整幅图像后剩下的点就是物体的轮廓。
图 5.2.2.1 常见两种边缘类型及其一阶、二阶导数
当然物体上所有的轮廓,包括内部空的轮廓都会被提取出来,如下图。
图 5.2.2.2 工件图像轮廓提取
轮廓跟踪可以只对外边界进行提取,而忽略内部的孔等信息。这样可以获取物体的外围轮廓信息,在工件尺寸测量中有着广泛的应用。轮廓提取是轮廓跟踪的基础,若工件是实心体则没有必要进行轮廓跟踪,轮廓提取足可以完成对该工件尺寸的测量。轮廓跟踪先找出目标物体轮廓上的一个像素,然后从图像左上角开始逐点扫描像素,当遇到边缘点时则开始顺序跟踪,直至跟踪的后续点回到起始点(对于闭合线),或其后续点再没有新的后续点(对于非闭合线)为止。如果为非闭合线,则跟踪一侧后需从起始点开始朝相反的方向跟踪到另一尾点。一个目标跟踪完后,接着扫描下一个未跟踪点,直至图像内的所有目标的边缘都跟踪完毕。
这种边界跟踪在处理图像的时候,执行先后是有次序的,属于串行处理。因此,该算法的处理速度比轮廓提取算法慢,但同时也是因为这个原因,使得该分割对于边界点的判断更为精确,而且整个边界连续不中断。对于边界跟踪来说,跟踪后产生的轮廓边缘宽度只有一个像素。效果如下图 。
图 5.2.2.3 工件图像轮廓跟踪
5.2.3 图像区域处理(面积、周长)
有些工件是有大小之分的,这反应在侧面积或者底面面积上。因此,可以根据工件的面积大小或者周长长度来对工件进行分类。图像区域处理是把图像分成若干个有意义的区域的处理技术,希望的是能够得到对应于我们要处理的主要目标的区域,便于进行的识别和判断,是面积、周长计算的基础。在图像进过灰度化、中值滤波、二值化后,还需要对图像进行小区域与孤立点消除已达到精确计算其面积、周长的目的。
(1)区域分割
在二值图像中,相互连接的黑像素的集合成为一个(黑)区域,对图像的区域处理必须建立在对各个区域的标识的基础上。对这三个物体的标识过程如下:
从左到右,从上到下逐个像素扫描,直到扫描到第一个物体上的点(像素点为“黑”);
若该点的右上、正上、左上、左前方向上的 4 个点的像素值都不为物体,则把数标加 1,且此数组值为 1; Matlab生产自动化实验系统机器视觉单元设计+CAD图纸(15):http://www.youerw.com/zidonghua/lunwen_276.html