(山东建筑大学 山东 济南 250100)
螺纹钢作为现代化生产中重要的工业材料,在建筑、机械、交通、运输等行业都有着广泛的应用。其表面特征如果不能达到国家标准的要求,将被视为缺陷,其产品肯定就是不合格的。随着市场对螺纹钢表面的质量要求越来越高,传统的人工离线测量的方法已经不能够满足现代化生产线的要求,因此,各种非接触的、无损伤的检测方法得到了越来越多的开发和利用[1]。目前,广泛使用的表面缺陷检测技术有涡流、超声波、漏磁和磁粉等检测方法[2]。
如果对源色彩图像进行数字处理,其运算量较大,且不利于研究后续处理。所以我们先将源色彩图像转化为灰度图像,然后通过 MATLAB 读入图像并对源图像进行调整。
很多数字信号处理方法是需要建立在傅里叶变换的基础上实现的,而傅里叶变换具有一定的局限性。信号在进行傅里叶变换后,变换后的信号将不能再提供任何时域信息,使得信号在频率变化下出现失真[4]。这对于一些非平稳含有突变的系统,采用傅里叶变化所得到的结果是不可靠的。要解决之类问题可以使用小波变换。随着系统频率变化,小波变换可以提供对应变化的窗口,通过伸缩平移运算对系统信号逐步进行多尺度细化,从而能有效地提取信息。通过各种滤波对比,最终选用自适应滤波。
MATLAB中利用wiener2函数可以实现对图像噪声的自适应滤除[3],wiener2函数根据图像的局部方差来调整滤波器的输出。当局部方差大时,滤波器的平滑效果较弱,滤波器的平滑效果强,wiener2函数采用的算法是首先估计出像素的局部矩阵和方差
(1)
(2)
其中y是图像中每个像素的MXN的邻域。然后,对每一个像素利用wiener2滤波器估计出其灰度值
(3)
使用wiener2函数进行滤波会产生比线性滤波更好的效果,因为自适应滤波器保留了图像的边界和图像的高频成分,但花时间更多。函数的调用格式为:
J=wiener2(I,[m n],noise),使用自适应滤波对图像1进行滤降噪处理。参数为m与n为标量,指定m*n邻域来估计图像均值与方差,默认区域大小为3*3.参数noise为矩阵,表示指定噪声。
[J,noise]=wiener2(I,[m n]),使用自适应滤波对图像1进行降噪处理,并返回函数的估计噪声noise。处理后的图像如图所示:
图1 自适应滤波图像
图像锐化是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强[4]。此处采用log算子高斯算法和拉普拉斯算法相结合的算子,是集合平滑和边沿于一身的算子模型。Laplace算子对通过图像进行操作实现边缘检测的时,对离散点和噪声比较敏感。于是,首先对图像进行高斯暖卷积滤波进行降噪处理,再采用Laplace算子进行边缘检测,就可以提高算子对噪声和离散点的Robust,应用histep函数对图像直方图均衡化处理。
图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。
使用开运算对二值化图像进行处理,以去除图像中的细小空洞,经过开运算后的图像中依然存在一些噪声干扰。图像区域连通处理可以进一步去除面积较小的连通域,从而去除图像上的噪声干扰,使所需要的目标更加清晰。
对处理后的二值图,运用bwperim函数对二值图像进行边缘轮廓提取,提取程序选用8邻域扫描,边缘提取后的效果图如图2所示。通过图2,我们可以清楚的看到中心周线左端有严重缺陷,由此可见,初步实现损伤位置的检测。
图2
本文虽然解决了一些基本方面的问题,但是螺纹钢表面缺陷检测系统是一个很复杂的系统,虽然针对尺寸缺陷这一块提出了自己的想法,但是离实时在线检测还有很长的距离,还是有很多问题需要解决,其中主要是包括如何将理论研究算法和实际的算法操作相结合。