虫卵数字图像预处理是提取虫卵数字特征的首要步骤,也是准确识别虫卵的重要保证。图像处理的优差直接影响着虫卵特征的有效提取,最终影响虫卵的识别率。本试验采用粪样虫卵检查法,用显微成像系统获取虫卵数字图像,基于MATLAB图像处理工具,通过比较研究以选择最佳的平滑、锐化和边缘检测等图像预处理函数。
1 材料和方法
1.1 材料
粪样:放牧牛、羊自然排出的新鲜粪便;显微成像系统:深圳博宇仪器有限公司生产,型号:BY2-117,CCD为300万像素;数字图像处理工具:MAT-LAB 2009。
1.2 试验方法
1.2.1 获取虫卵数字图像
采集牛、羊自然排出的新鲜粪便,用沉淀法和漂浮法两种方法结合检查。在显微镜10×10倍视野下发现虫卵后用显微成像系统获取虫卵数字图像。
1.2.2 虫卵数字图像预处理 虫卵数字图像预处理包括图像裁剪、增强处理和二值化。图像增强又包括灰度处理、均衡化、平滑处理和锐化处理;二值化包括边缘检测和形态学处理。
1.2.2.1 图像裁剪和灰度处理 用MATLAB图像处理工具箱中的imcrop函数将图像裁剪成指定大小的矩形区域,保留图像中有虫卵的部分。
用显示工具gray显示灰度图像,并用imad-just函数增强图像对比度,用均衡化函数histeq()处理使图像细节清晰化。
1.2.2.2 平滑和锐化处理 为了减少或消除图像中的干扰和噪声,分别用中值滤波函数medfilt2()和自适 应滤波函数wiener2()对图像进行平滑处理,并进行比较。为了增强图像中虫卵的边缘和轮廓,分别用梯度锐化函数和拉普拉斯锐化函数处理图像,并进行比较。
1.2.2.3 边缘检测和形态学处理 为了有效地抑制噪声的影响,并能够客观、正确地选取边缘检测的有限值,通过迭代算法求得最佳阈值,把图像分割为背景和目标两部分;再运用数学形态学的腐蚀算法,挖去虫卵内部像素点;最后剩余部分图像就是虫卵的边缘。用edge()函数提供的5种算子即Sobel算子、Roberts算子、Prewitt算子、LOG算子和Canny算子对虫卵边缘进行检测,并进行比较。
在边缘检测过程中还需要对图像做必要的过滤、细化和修剪等形态学处理。用膨胀函数imdi-late()可桥接断裂图像间的间隙;用填充函数imfill()可填充虫卵内部的孔洞;用imclearborder()函数删除与目标图像边界相连的对象;最后用腐蚀函数imerode()清除二值图像中的不相关细节的操作。
2 试验结果
2.1 中值滤波函数和自适应滤波函数均可用于图像平滑处理
中值滤波在一定的条件下可以克服线性滤波如最小均方滤波和均值滤波等带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。自适应滤波通常比线性滤波的效果好,它比相应的线性滤波器具有更好的选择性,可以更好地保存图像的边缘和高频细节信息,而且简单、使用方便。
2.2 拉普拉斯锐化优于梯度锐化
梯度锐化可使图像边缘有所增强,但图像较暗;经拉普拉斯运算的图像,其边缘部分明显得到了增强,边界更加明显。
2.3 Canny算子检测的边缘最完整
比较edge()函数调用的五种算子边缘检测图,发现Sobel、Roberts、Prewitt算子检测的边缘不完整,LOG算子虽然能检测到比较完整的边缘,但受噪声影响较大,Canny算子检测的边缘最完整,而且还能抑制噪声。
2.4 虫卵图像经先膨胀后腐蚀处理,其大小不变
经过膨胀处理的虫卵图像的边缘变粗了,但边缘之间还有一些空隙存在;经填充函数处理使虫卵图像中的空隙完全被填充;用删除函数处理虫卵图像周边的一些对象,使其只剩下虫卵目标;经腐蚀函数处理后的虫卵边界缩小,使变粗的边缘回至原状。
3 结语
在虫卵数字图像预处理中,图像经剪裁、灰度处理、均衡化后,可选择简单、使用方便的自适应滤波函数平滑去噪处理,选择拉普拉斯锐化函数进行边缘锐化处理,选择Canny算子检测边缘,最后选用先膨胀后腐蚀的形态学处理方法获得最佳的二值化图像。
参考文献:
[1] 何斌,马天予,王运坚,等.Visual C++数字图像处理.北京:人民邮电出版社,2002:87-91.
[2] 周晓明,马秋禾,肖蓉,等.一种改进Canny算子边缘检测算法[J].测绘工程,2008,17(2):28-31.
[3] 雷丽珍.数字图像边缘检测方法的探讨[J].测绘通报,2006(3):40-42.
[4] 余成波.数字图像处理及Matlab实现[M].重庆:重庆大学出版社,2003:75-81.
[5] 张铮,王艳平,薛桂香,等.数字图像处理与机器视觉—visual C++与MATLAB实现[M].