论文部分内容阅读
菌落计数广泛地应用在食品、卫生、医疗、环保、安全等行业,尤其随着近几年我国对食品安全和环境保护等领域加强了监管,菌落计数的工作需求已越来越大。然而传统的依靠人工的菌落计数方法,不仅工作内容繁琐,耗费大量时间,也容易造成主观错误。本文针对这一问题,研究并实现了基于图像处理算法的自动菌落计数。本文从应用较为普遍的普通培养基菌落总数计数和选择性培养基菌落分类计数出发,参考相关国内外文献及国家标准,利用OpenCV图像处理开发工具,分别设计并实现了菌落的智能计数算法和分类算法。计数算法的主要工作是对菌落图像进行预处理后,利用Canny边缘检测算法提取了菌落图像中的全部边缘信息,并利用霍夫圆算法确定培养皿的位置,从而减除培养皿外的大背景;再采用基于动态的局部阈值分割实现菌落目标与培养基的分离;利用形态学中的迭代腐蚀算法将菌落目标处理成小尺寸的种子点以解决菌落的“粘连”问题;最后,利用邻域搜索统计种子点个数并完成标记。分类算法的主要工作以计数算法中的种子点为契机,首先分别利用区域种子增长和Graph Cut算法完成菌落区域轮廓的精确分割。其次在分割出的每个菌落区域内,提取该菌落的颜色、形状和纹理信息,并量化为特征向量。向量中的颜色信息采用颜色矩算法,统计菌落颜色三通道的一阶至三阶矩;向量中的形状信息依靠Freeman链码完成菌落的周长、面积、圆形度的计算,依靠霍夫椭圆检测逼近菌落形状来获得长短轴信息;向量中的纹理信息利用灰度共生矩阵算法计算能量、对比度、逆差矩和相关性。最后利用提取到的菌落特征向量,采用SVM算法分类器,计算向量分类超平面,从而实现不同类别菌落的分类。本文采集了50幅菌落图像检验算法效果。从实验结果看,总数计数的平均误差率为4.43%,最高误差率为10.25%,分类平均错误概率为2.76%,最高错误概率5.08%,符合GB4789.2-2010相关标准。算法可以较好地实现菌落的计数和分类。