毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

Matlab生产自动化实验系统机器视觉单元设计+CAD图纸(14)

时间:2016-11-24 21:28来源:毕业论文
一文中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点(一般是窗口的中心点)的灰度值。假设窗口内有 5 点,其值


一文中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点(一般是窗口的中心点)的灰度值。假设窗口内有 5 点,其值依次为[2,6,8,1,4],重新排序后(从小到大)为[1,2,4,6,8],则 med[2,6,8,1,4]=4。
二文中值滤波可用下式表示:
二文中值滤波的窗口形状和尺寸设计对滤波的效果影响较大,不同的图像内容和不同的应用要求,往往采用不同的形状和尺寸。常用的二文中值滤波窗口有线状、方形、圆形、十字形等,窗口尺寸一般先用 3,再取 5,逐点增大,直到其滤波效果满意为止。本系统所有的工件图像均无尖点、缓变的较长轮廓,这时线状中值滤波能起到较好的效果,所以本系统中采用线状中值滤波来滤除噪声。
3、二值化
阈值分割对物体与背景有较强对比景物的分割特别有用。它计算简单,而且总能用封闭而且连通的边界定义不交叠的区域。
根据直方图可以明显看出图像分割阈值,利用该阈值对图像进行二值化分割速度很快,但是这样做等于把程序给限定在了特殊条件下。为了使系统具有一般性,在线零件识别与检测系统中采用自动阈值分割技术对图像进行二值化。
阈值分割就是要找出一个边界来,在这个边界外的点属于背景,在边界内的点属于物体。边界就由这样一些内部点的集合组成,这些点都至少有一个邻点不属于该物体。
通过阈值迭代的方式可以通过程序自动搜寻出比较合适的阈值。此阈值选取方法先用初始的开关函数把原图全部像素分成前景、背景两大类,然后分别对其进行积分并将结果取平均以获取一新的阈值,之后再次按此阈值控制开关将图像分成前景、背景,并用做新的开关函数。如此反复迭代下去,当开关函数不再发生变化,即选代已经收敛于某个稳定的阈值时,此刻的阈值即作为最终的结果并用于对图像的分割。下面是对上述文字的数学表达:
                           (5-1)
其中,l为灰度级的个数,hk是灰度值为 k 的像素点的个数。
阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某像素的灰度值小于该阂值,则将该像素的灰度值设置为 0 或 255,否则灰度值设置为 255 或 0。
其中 T 为指定的阈值。该变换函数是阶跃函数,只需给出阈值点 T 即可,经过阈值处理后的图像变成了一幅黑白二值图。
其阈值计算方法如下:
(1) 选择阈值 T,通常可以根据直方图选择图像的初始阈值;
(2) 通过初始阈值 T,把图像的平均灰度值分成两组 R1和 R2;
(3) 计算着两组平均灰度值 μ1和 μ2,其中
                       (5-2)
重新选择阈值 T,新的 T 定义为:
 
循环做第二步到第四步,一直到两组的平均灰度值 μ1和 μ2不再发生改变,那么我们就获得了所需要的阈值 T。
通过迭代阈值法能较好地找出工件图像与背景之间的界线,能够较好地将图
像与背景分开,如图 4.14(对图 4.12a 进行迭代阈值处理)。
 
图 5.2.1.7 迭代二值化效果图
最后,把得到的阈值运用于中值滤波后的图像,从而可以得到目标物体(零件)的灰度值,利用不同颜色的物体对应的灰度值不同,可以区别出零件的种类,
整个流程如图 4.15。
图 5.2.1.8 颜色识别流程图            图 5.2.1.9 系统工作流程图 Matlab生产自动化实验系统机器视觉单元设计+CAD图纸(14):http://www.youerw.com/zidonghua/lunwen_276.html
------分隔线----------------------------
推荐内容