APP下载

基于香菇表面纹理分析的种类鉴别研究

2019-08-12文欣薇李雅芝朱雄杰王善伟

电脑知识与技术 2019年16期

文欣薇 李雅芝 朱雄杰 王善伟

摘要:本文提出了一种基于机器视觉技术的香菇表面纹理种类鉴别方法,以提取图片中的香菇主体。首先利用高斯滤波对图片进行降噪处理,分析背景颜色,得出其R、G、B值的波动范围,采用清0的方式将图像背景剔除。结合prewitt算子检测边缘,通过矩阵运算得出香菇的二值图,由此实现香菇的定位。纹理区域存在灰度值突变的情况,而采用梯度法对香菇表面的纹理进行数值处理得到的精度较高,对图片进行梯度锐化,并再次用滤波去除杂质以突出纹理。最后选取平均梯度作为判定指标,利用K均值聚类法,可顺利将香菇分成A、B两类。

关键词:高斯滤波;prewitt算子;二值图;梯度法;灰度直方图

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2019)16-0208-02

开放科学(资源服务)标识码(OSID):

我国是一个香菇生产大国,其中香菇的分类加工属于劳动密集型环节,长期以来依靠人工进行香菇类型分选以及破损、畸形、霉变香菇的筛除。利用人工进行香菇分拣有诸多缺点,例如劳动强度大、耗费人力多、效率低、分类精度不高等。另外,人工分类还有一个很严重的问题,即分类精度会受工人主观因素影响。人力成本是在很大程度上影响香菇的生产成本,而随着社会的发展,社会劳动力成本只会越来越高,同时国内外市场对香菇的品质要求越来越严格,所以香菇的高效、自动分拣是香菇加工、出口业亟待解决的重要问题。

香菇生长过程中, 因表皮细胞与肉质细胞分裂不同步, 菌盖龟裂会产生花纹,形成花菇, 依菌盖表面白色花纹的多少, 香菇可分为天白花菇、白花菇、茶花菇和光面菇,不同种类的香菇具有不同的价值,所以必须对花纹混杂的香菇原料进行分级。

本文尝试利用机器视觉技术,构建了香菇纹理识别系统,达到对香菇进行分选的目的。在对香菇样本进行图片采集之后,通过高斯滤波、边缘检测等操作对图片进行降噪、边缘化等预处理,并利用MATLAB软件得到其灰度图[1],通过清0置1的方法将背景剥离,得到香菇的二值图,由此可以准确快捷地判断香菇的位置。通过研究发现两种类型香菇的纹理灰度分布具有显著特征,所以利用灰度直方图可以在一定程度上反映几种不同类型菌盖纹理的区别。本文通过梯度法对灰度图进行处理,计算平均梯度,建立相应的等级模型,并利用K均值聚类法,便可对香菇进行较为精确的分类。

1香菇纹理特征的提取

1.1图像采集

本文的实验材料图片来自华中地区大学生数学建模第十届邀请赛,图1所示的两类香菇,其中A类香菇菌盖龟裂形成褐白相间、菊花状的花纹,其学名为花菇;B类香菇菌盖无裂纹,被称为光面菇。花菇价值与普通光面菇相比,价格可相差 5~8 倍。为了保证香菇质量,优质优价,按级定价,提高经济效益,必须对花纹混杂的香菇原料进行自动分拣。

1.2图像预处理

1.2.1实现背景与香菇主体分离

以A类香菇处理为例,先将图1中的A香菇图片进行预处理,通过MATLAB软件将图片转化为RGB的三维矩阵,得到有效的数据信息,矩阵上的每一个点代表每一个像素点,R、G、B三个维度的值代表每一个像素点的颜色[2]。考虑所给图片存在拍照角度及光源不同等的影响因素,采用高斯滤波进行降噪处理。由于背景颜色与香菇颜色易于区分,其对应的R、G、B值存在很大差异,分析背景颜色,得出其R、G、B值的波动范围为{R<100,G>5,B<0}。设计程序并以此为条件找出所有处于此范围的像素点,将其清0,其余非此范围的值保持不变,即得到香菇主体,如图2(a)所示,以此实现背景分割。为了提高结果精度,进一步对得到的背景分离图片进行灰度化处理,再次使用高斯滤波滤去杂质,如图2(b)所示。

1.2.2香菇定位

利用sobel、prewitt、roberts以及canny四种算子得出灰度化处理后图片的边缘曲线,结果如图3所示。结合本文需求,相比较而言,选取prewitt算子作为最佳的边缘处理方式[3]。

为实现对香菇的定位,首先对各行列的像素点进行逐一检验,边缘像素点成白色,其值为1;其他所有的像素点为黑色,其值为0;利用prewitt算子,用其对各行列的像素点进行逐一检验,将检验到的第一个值为1的像素点至最后一个值为1的像素点间的所有像素点的值置1,此时可以得到0-1矩阵,将原矩阵与其进行三次运算,得到图4中左图即为香菇的二值化图像,并将其与原图进行对比,可以发现此种方法可以快速精准的实现香菇的定位。

2建立分级模型

2.1 梯度法提取香菇特征纹理

将所有待分类的香菇图片进行预处理并编号为001-135,刻画图像边缘,提取目标香菇;调用MATLAB中rgb2gray()函数得到其灰度图;由于纹理区域位于灰度突变的地方,故采用梯度法对香菇表面的纹理进行数值处理[3,4]。图像中像素点[(x,y)]的梯度方向为灰度值[f(x,y)]在这点变化率最大的方向,模[G(f(x,y))]为灰度值[f(x,y)]的最大变化率,即:

再进行滤波去噪使纹理被清晰地显示,然后计算该图像的分级特征值——平均梯度S。

2.2 K均值聚类法实现A、B类香菇分选

将得到的平均梯度值进行K均值聚类分析,得到两个聚类中心,实现香菇的初步分类。统计归纳A、B两类香菇的平均梯度值,作出其分布图,如图5所示,可以发现平均梯度在约为2000的位置,两类香菇有明显的分级现象,故以此为临界值,若大于临界值则归为A类,小于临界值则归为B类,建立分级模型,即可实现对所有香菇的快速分类。另外,用肉眼对这135幅香菇图片进行类别判断,得到A、B两类香菇的个数分别为80个及55个;而由此系统识别得到的A、B两类香菇的个数分别为85个及50个,据此得出系统的正确识别率为96%。

3 模型评价

本文所提到的香菇分类识别系统采用清0置1的方法,即可快速得到各香菇的大致位置,且具有一定的精准度,但此算法对于原始信息的提取程度还有待加强。由于图片分辨率的不同导致背景脱离时含有噪声,则需要在既定的模型基础上进行参数调试,对高斯滤波尺度的选择也应进一步做研究,且这种降噪方式并不能完全解决由拍摄角度、光源差异及图片质量等因素带来的问题;因为香菇表面存在纹理,得出的三维矩阵比较复杂,灰度值的范围也非常广,故没有直接采用灰度值来直接刻画香菇的特征,而是利用灰度值的变化率,即采用平均梯度值对香菇特征进行刻画,有效地对香菇纹理特征进行了简化,并且以此为指标特征很好地完成了香菇的分类。

参考文献:

[1]刘丽,苏赋,田芳,等. 基于Matlab的图像感兴趣区域提取[J]. 现代电子技术,2013(8): 117-120.

[2]陈红,夏青,左婷,等. 基于机器视觉的花菇分选技术[J]. 农业机械学报, 2014, 45(1):281-287 .

[3]李伟, 康晴晴, 张俊雄, 等. 基于机器視觉的苹果表面纹理检测方法[J]. 吉林大学学报(工), 2008, 38(5):1110-1113.

[4]陈朋. 烟叶纹理表面的视觉检测技术研究与应用[D].贵州大学,2017.

【通联编辑:王力】