基于特征参数的水果识别系统

2017-04-06 08:41杜翔宇
福建质量管理 2017年6期
关键词:二值图像处理灰度

杜翔宇

(南京理工大学 江苏 南京 210094)



基于特征参数的水果识别系统

杜翔宇

(南京理工大学 江苏 南京 210094)

本文基于Matlab识别一幅数字蔬菜水果图像中的胡萝卜、橘子、黄瓜和鸡蛋。整个识别过程涉及图像数据获取、对比度增强、去噪,二值化、标签化、特征参数计算、水果识别等过程。为了弥补由于原始图像中灰度分布不均匀和光照等因素的影响而造成的二值化后图像出现的断边和同一类水果中出现的孔洞,借助Sobel算子进行边缘提取以接合断边,基于数学形态学算子填充二值化图像中出现的孔洞。

图像识别;二值化;特征参数;Matlab

一、引言

随着计算机的普遍使用,人类已经进入了一个高速发展的信息化时代,图像处理技术也愈来愈成为科学技术领域中必不可少的手段。计算机图像处理与图像识别的关系非常密切。一般图像处理包括编码、增强、压缩、复原和分割等内容。

我国是世界蔬菜、水果大国,但由于品种结构等问题,水果分级分类基本上由人工完成。这种方式虽然方便,但也造成了劳动量大、生产率低的问题。机械分拣具有短时、高效等特点。因此,研究和开发水果识别系统具有重要意义。

二、软件介绍

本系统基于MATLAB软件进行水果识别。MATLAB是一个交互式软件系统,具有很强的数值计算功能和编程功能;具有结构控制,函数调用,输入输出等程序语言特征;有丰富的工具箱,图像处理就是其中一个功能强大的工具。

MATLAB的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。它的工具箱主要有通信、控制系统、滤波器设计、图像处理、非线性控制设计、系统识别、神经网络、最优化、模糊逻辑、信号处理、鲁棒控制、统计等,而且工具箱还在不断的增加。借助这些工具,各个层次的研究人员可直观方便地进行分析、计算及设计工作,从而大大地节省了时间。为此,MATLAB已经成为目前最广泛的工程应用软件。

三、总体设计思路

(一)计算机读取图像

为了在计算机上进行处理,必须把作为处理对象的模拟图像转换成数字。为了得到理想的二值图像,一般采用阈值分割技术。阈值分割技术主要利用图像中背景与对象之间的灰度差异。理想状态下,背景与对象之间灰度差异很大,且同一个对象有基本相同的灰度值。

(二)图像的二值化

所谓图像的二值化,就是使图像上所有点的灰度值不是“0”就是“255”,也就是使整个图像呈现出黑白效果图像的二值化通常采用阈值法。阈值法是一种简单有效的图像分割方法,它用一个或几个阈值将图像的灰度级分为几个部分,将属于同一部分的像素视为相同的物体。利用阈值法,对于物体与背景之间存在明显差别(对比)的景物,分割效果十分有效。只要阈值选取合适,将每个像素与之比较,进行二值化或者半二值化处理,就可以很好地将对象从背景中分离出来。

(三)算法

(1)形态学基本运算

形态学图像处理表现为一种邻域运算形式。有一种特殊定义的邻域称为“结构元素”(StructureElement),在每个像素位置上它与二值图像对应的区域进行特定的逻辑运算,运算结果为输出图像的相应像素。形态学运算的效果取决于结构元素的大小、内容以及逻辑运算的性质。常见的形态学运算有腐蚀和膨胀两种。常用的简单对称结构元素有:圆形(disk)、方形(square)、菱形(diamond)。

①腐蚀(imerode):腐蚀是一种消除边界点,使边界向内部收缩的过程。利用该操作,可以消除小且无意义的物体。

②膨胀(imdilate):膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。利用该操作,可以填补物体中的空洞。

③开运算(imopen):先腐蚀后膨胀的过程称为开运算。利用该运算可以消除小物体,在纤细点处分离物体,平滑较大物体的边界,同时并不明显改变原来物体的面积。

④闭运算(imclose):先膨胀后腐蚀的过程称为闭运算。利用该运算可以填充物体内细小的空洞,连接邻近物体,平滑其边界,同时并不明显改变原来物体的面积。

(2)为了使程序简单,将程序边缘计算的方法统一给出,可以简化程序。

①周长计算:利用边界的像素之和代表周长;②面积计算:利用imfill函数填充图像区域,for语句计算区域的像素和来代表面积;③圆度计算:物体的形状不一,通过圆度计算可以提取出圆形的图片;④对于形状大小接近的图像,可以采用计算平均色度的方法。将图片转化为HSV各式,for语句将矩阵各个位置的像素相加和平均实现。

测试图中黄瓜可以利用平均圆率分离出,调整im2bw的阈值突出黄瓜然后分离。胡萝卜可以通过最大面积分离。橘子利用圆度分离。鸡蛋由于亮度接近白色,可使用平均色度的方法。

界面设计。界面设计入手对比较难,我通过比对其他程序的界面学习,发现其实原理比较简单,类似于超链接。

四、扩展功能

1、程序利用HSV格式图片完成了参数提取,还将分割的图片从二值图变成RGB彩色图,实现彩色图的提取,并且物体位置不变。

2、程序同时利用课上所学,完成图片灰度化,二值化的转化,并进行开运算,通过腐蚀膨胀的方法使轮廓清晰,并提取边缘图。

3、给出了图片的灰度直方图和灰度直方图的均衡化。

4、制作界面,通过按钮实现图片提取,实现文件读取和关闭。

五、成果

基于MATLAB软件建立起来的识别系统,可以进行对黄瓜、胡萝卜、橘子和鸡蛋的识别。通过与实物图的对比,提取效果比较好。在此基础上进行程序的拓展和丰富,可以适用于各种大型的综合性的水果识别和分拣场合。

[1]冈萨雷斯(Gonzalez,R.C.)等著;阮秋琦等译.数字图像处理[M].第3版.电子工业出版社.2011

[2]胡小风,赵辉.VisualC++/MATLAB图像处理与识别实用案例精选[M].北京邮电出版社.2004

[3]刘刚.MATLAB数字图像处理[M].机械工业出版社.2010

[4]高成.Matlab图像处理与应用[M].国防工业出版社.2007

[5]高展宏等.基于MATLAB的图像处理案例教程[M].清华大学出版社.2011

[6]王晓丹等.基于MATLAB的系统分析与设计[M].西安电子科技大学出版社.2000

[7]徐惠荣.基于机器视觉的树上柑桔识别方法研究[D].浙江大学.2004

[8]丁亚兰.基于机器视觉的猕猴桃果实识别与定位关键技术研究[D].西北农林科技大学.2009

杜翔宇(1995.12-),男,汉族,河北人,本科在学,南京理工大学,光电信息科学与工程。

猜你喜欢
二值图像处理灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于灰度拉伸的图像水位识别方法研究
支持CNN与LSTM的二值权重神经网络芯片
基于图像处理的机器人精确抓取的设计与实现
基于二值形态学算子的轨道图像分割新算法
机器学习在图像处理中的应用
基于稀疏表示的二值图像超分辨率重建算法
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于曲率局部二值模式的深度图像手势特征提取
基于灰度线性建模的亚像素图像抖动量计算