当前位置:首页 > 基于机器视觉的玻璃质量在线检测系统设计 - 图文
青岛大学机电工程学院本科毕业设计(论文) 3 图像处理
图像处理的目的是将图片处理为凸显某一特征的必备手段。首先要做的是对图像进行预处理,何为预处理?即取其灰度,查看灰度直方图,灰度变换,去噪,边缘检测以及二值化等以获取能提供准确特征值的图像。此步骤至关重要,相当于该系统中前半期任务。图像经过预处理后特征是否明显将对整个系统的最终测量结果有直接关系。在预处理结束后便是对图像重要特征值的提取。在该系统中要区分玻璃瓶壁中是否存在缺陷,若存在缺陷则要判断属于何种缺陷。所以要找出碎纹,气泡以及杂质对图像特征的影响,找出不同点,以此为判断依据对图像进行识别。
3.1 图像预处理
3.1.1 灰度直方图
图像经过去色就变成灰度图像,即由原先的RGB三维图转换为灰度图。而所谓的灰度直方图是指灰度图中包含的图像灰度分布情况。灰度直方图是用来表明灰度图像中色素分布情况,如灰度值范围为1~255,改值在该图的分布情况,即某灰度值出现次数为纵坐标,灰度值的分布为横坐标。通过处理后,以下是三种缺陷图像灰度图与直方图。
图 3-1 缺陷灰度图及其灰度直方图(从左起依次为杂质、气泡与碎纹)
从三种灰度直方图可以看出在像素值为90左右时的数量最多。则说明三张图片的背
8
青岛大学机电工程学院本科毕业设计(论文) 景灰色的像素值在90左右。当灰度越深时即趋向于黑色,其值就越少;而值越大时颜色越淡即趋向于白色,当灰度值为255时为白色。在观察图像以及灰度直方图后,我们得到如下结论:
(1)图片背景灰度值集中在某一区域,则可以通过某种方法可以将其滤掉或者代换,就可以得到所要的特征图像了。
(2)含杂质的图像中,颜色深的杂质吸收光线形成较黑的影像,而这部分灰度值也体现在灰度直方图中,由此可以作为条件来进行杂质的独立判断根据。 3.1.2 图像增强
在综合多种因素的影响下,图像在采集,上传与储存中或多或少会有损,例如系统的噪声、温度影响以及抖动等等,都容易引起图像的质量下降,从而降低了图像的视效,或者在机器视觉中提高了错误率,这一般就需要对图像进行增强。
常用的方法有线性灰度变换,直方图均衡化,各种滤波等等。 1.图像线性变换 设灰度图像可以用函数
f?x,y?来表示,并且认为灰度值的范围?a,b?,经过线性变换
后,输出图像的灰度范围为?c,d?,则该线性变换可用式(3-1)表示。
g?x,y?=d-cf?x,y?-a?+c???b-a (3-1)
有时数字图像灰度范围不止那么大,而为0~M,但是大部分像素灰度值落在?a,b?内,只有很小的一部分像素的灰度值不在该区间内,用式(3-1)可能得不到的所要的视觉效果,为了改善增强之后的效果,我们可以用式(3-2)进行增强。
c?0?f(x,y) 在实际应用中,针对某些特殊的图像,只要合适的选择[a,b],这样的孙只是可以接受的。如果不损失这部分信息,可以保持其灰度值不变,用式(3-3)进行图像增强。 ?d-c?)bf(x,y)?-aa+?cf(x,y??g?x,y?=?b-a其他?f(x,y)? (3-3) 分段线性变换与其类似,只不过在每一个灰度值区间进行一次分类,每一类都有不同 9 青岛大学机电工程学院本科毕业设计(论文) 的线性变换,看似分段函数一样。在此就不予再详释。 通过对图像线性变换后,去掉背景灰度像素得到的结果如下图所示: 图 3-2 缺陷灰度图及其灰度直方图 (从左起依次为杂质、气泡与碎纹) 该操作对含杂质及气泡的玻璃缺陷处理起来效果还是比较好的,但是对与碎纹的处理不容乐观。 导致碎纹特征图像不完整的原因是图像没有得到进一步增强,所以没有把特征图像部分给提取出来。因此还要对原灰度图像进行更进一步地增强。由此可见图源质量的好坏直接对处理结果产生影响,该设计的图源取自不同相机与自然光,所以图片质量本身存在一些缺陷。 2.直方图均衡化 直方图均衡化的基本意思就是更改原灰度图像像素的灰度值,对在图像中像素多的灰度级进行拓宽,而把像素个数少的灰度值删减。处理之后可以清晰的看出,灰度直方图中像素值变得比较均匀,这样一来整幅图像变得比较黑白分明,从而图像变得更为清晰,图像特征也更为清晰。下图为碎纹缺陷图处理后的效果图。 图 3-3 碎纹直方图均衡化后效果图 由图可见该操作对图像处理的效果一般,还不能够为后续提取图像特征值提供方便。为此除了加强直方图均衡化次数外还要后续几个处理过程。 10 青岛大学机电工程学院本科毕业设计(论文) 3.滤波 平滑滤波器是最常使用的滤波手段之一。一般滤波器有平滑滤波器与中值滤波器。下面通过实验得到如下图: 图 3-4 添加噪声,中值滤波以及自编程滤波 在图像增强后再进行分段线性变换就可以得到如下个缺陷的效果图: 图 3-5 图像增强后灰度变换效果图 3.1.3 边缘检测 图像边缘检测是图像处理中重要的环节,很多处理都以此为前提,例如图像分割,图像标识物提取以及特征形状识别等。边缘检测的基本原理是先检测图像边缘上的点,根据该点两边像素值的差值大小进行分辨,也就是说只有两边颜色差距较大时才会检测出分界线来。按照这种办法可以找出很多分散的点或者线段。此时还不能完全看出轮廓,只有通过一定的算法来计算,才会得到完整的轮廓。此外,原图像质量的好坏也会影响到轮廓的提取。所以前几步也是要格外的注意。常用的边缘检测算法有Roberts算法、Prewitt算法以及Sobel算法。 1. Roberts边缘检测算法 对比较简单的图像进行边缘检测时就是用图像的垂直和水平的差分,然后不断的向梯度算子靠拢,此时有个条件即该图像必须是离散的。梯度算子公试如下: ?f=(f(x,y)-f(x-1,y),f(x , y (3-4) 11
共分享92篇相关文档