基于MATLAB与VB混合编程的哈密大枣品质检测研究_祁想想.pdf
《基于MATLAB与VB混合编程的哈密大枣品质检测研究_祁想想.pdf》由会员分享,可在线阅读,更多相关《基于MATLAB与VB混合编程的哈密大枣品质检测研究_祁想想.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于 MATLAB 与 VB 混合编程的哈密大枣品质检测研究祁想想,马本学,屈年巍,肖文东(石河子大学 机械电气工程学院,新疆 石河子?832000)摘?要:基于 V isual Basic 6.0设计了应用软件的用户界面,用 SOLIOS图像采集卡与 CCD 摄像头连接采集数据,构建了基于机器视觉的哈密大枣自动检 测系统,并利用 M atlab7.6图像处 理工具箱,通过各种算 法的比较和 验证,确定了最佳背景分割方法,找到有利于哈密大枣的特征提取、品质(缺陷、大小、颜色等)自动识别的方法,为哈密大枣自动化检测生产奠定了基础。在图像采集中,调用图像采集卡驱动程序,实现图像的储存。图像处 理中
2、,应用颜色空间转换、小波消噪、阈值分割和数学形态学处理等方法,快速准确识别其品质,利用 VB的 ActiveX组件,在 V isual Basic中直接调用 M atlab图像处理程序,实现对哈密大枣品质的自动检测。关键词:哈密大枣品质;自动检测;VB;M atlab;图像处理中图分类号:TP391.41;S126?文献标识码:A文章编号:1003-188X(2011)08-0156-050?引言哈密大枣作为我国新疆地区特色水果,目前国际和国内研究的人不多。哈密大枣要走绿色食品和品牌战略的路,必须加强其品质的检测。由于现在红枣的检测仍采用原始的人工分级方法,容易受到检测人员身体素质和精神状态影
3、响,主观因素较大,效率低,漏检率高,劳动强度大,因而影响红枣品质指标的评价。例如,对于红枣果形、颜色、缺陷,仅仅依靠传统人工方法很难做到精确评价。现代图像处理技术和软件工程的快速发展,使哈密大枣品质自动检测成为可能。同时,红枣品质分级是进行红枣自动化分级的关键环节。随着计算机技术的迅速发展,计算机以及视觉设备价格大幅度下降,速度成倍提高,为计算机视觉技术的广泛应用创造了条件 1。M atlab全称是 M atrix Laboratory(矩阵实验室),它是一种专门用于矩阵数值计算的软件,在矩阵运算上有自己独特的特点。这一特点也就决定了 M atlab在处理数字图像上的独特优势。MATLAB 语
4、言可以提供与矩阵有关的强大的数据处理和图形显示功能,具有丰富的程序工具箱,在控制系统、图像处理、信号处理和神经网络等方面都有广泛的应用 2-4,为软件开发人员在程序编制过程中实现数值计算和图形增添收稿日期:2010-07-20基金项目:石河子大学高层次人才科研启动资金专项(RCZX200941)作者简介:祁想想(1988-),男,河南信阳人,硕士研究生,(E-mail)qxx_shz 。通讯作者:马本学(1970-),男,新疆石河子人,教授,硕士生导师,(E-mail)mbx_shz 。了又一行之有效的开发平台。但是,MATLAB 的界面功能比较弱,给人机界面的开发应用或软件演示系统带来不便。
5、与之相比,V isual Basic避开了 C+编程过分繁琐和抽象的缺点,能编制优良的可视化界面,缺点在于运算速度慢,不适合进行大型的数值计算和图形处理。为了提高工程计算软件的开发效率和质量,用 VB 来设计界面作为主程序,调用 MATLAB编写的子程序,以此开发出高质量、高性能的工程计算软件系统当属首选方案。1?哈密大枣自动检测系统1.1?系统工作原理哈密大枣分级系统示意图如图 1所示。图 1?图像处理与分级系统框图其基本工作原理:输送装置连续输送哈密大枣至摄像室,摄像头对运动的哈密大枣群体进行图像采?156?2011年 8月?农 机 化 研 究?第 8期集,所得的哈密大枣图像经视频解码器后
6、读入电脑,由 MATLAB软件对哈密大枣图像进行预处理;然后,对预处理后的数据进行模式识别,并将识别的结果与制定的标准进行比较分析;最后,将计算结果作为分级信号传送给分级装置(PLC系统),实现分级。1.2?图像的采集与存储本系统分为硬件系统和软件系统。其中,硬件系统包括 cv-m7+cl相机、可调亮度白色 LED光源、光电传感器、SOLI OS图像采集卡、可调速传送装置、计算机等设备;软件系统为 VB6.0,MATLAB2008图像处理工具包,M IL9.0图像采集软件。首先,将 SOLI OS图像采集卡安装在电脑中,并安装驱动程序,用其自身的视频软件调式,使设备能够正常运行。然后,在 VB
7、 中引用部件(如图 2所示),选择 Active M I L,在工程中添加控件,调用相关函数,将采集的图像记录和储存。图 2?VB中引用的部件Active M I L9.0是一个遵循 OCX标准的组件包,开发者可快速在 VB 应用程序中增加 Application,Sys-te m,I mage,I mageProcess和 Display等相关组件,通过对组件的属性设置和各类方法调用,实现对哈密大枣图像的采集和存储 5。1.2.1?系统开发中 I mage的初始化程序?Di m GrabBuffer1 as Image?GrabBuffer1.SizeX=1000?GrabBuffer1.S
8、izeY=1000?GrabBuffer1.DataDepth=16?GrabBuffer1.F ileFormat=i mRaw?GrabBuffer1.System=System1?GrabBuffer1.Allocate?GrabBuffer1.C lear01.2.2?系统开发中 I mage的图像存储SequenceBuffers(i).Save(I mage_path+?/i mage?+picturepath+?/x?+CStr(Sequence ountnow)+?a?+CStr(i)+?.raw?)2?图像处理系统编程实现2.1?VB与 Matlab接口为了提高工程计算软件的
9、开发效率和质量,采取把 VB可视化编程语言和 Matlab工具相结合的办法,充分利用 Matlab的运算功能和 VB的开发界面方便的特点进行混合编程,即用 VB来设计界面作为主程序,调用 MATLAB编写的子程序实现图像处理功能,以此开发出高质量、高性能的工程计算软件系统。其过程是利用 ActiveX技术实现 VB对 M atlab的调用 6。ActiveX部件是 M icrosoft公司提供的一种用于模块集成的协议,它是一些遵循 ActiveX 规范编写的可执行代码,如一个*.exe,*.dll或*.ocx文件。在程序中加入 ActiveX部件后,它将成为开发和运行环境的一部分,并为应用程序
10、提供新的功能。ActiveX部件保留了一些普通 VB控件的属性、事件和方法。Ac-tiveX部件特有的方法和属性大大地增强了程序设计者的能力和灵活性。ActiveX实际上是在调用一种部件,而无需要求该部件对应的程序正在运行,这会使得其功能更加强大。调用过程编程如下:在 VB下建立一个新窗口,它的上面有 4个控件。其中,有 2个 Command按钮,VB名称分别为 Comm and1和 Command2。Command1用来调用 MATLAB程序,Command2用来退出程序。另外,还有 1个 TextBox控件,VB名称为 Text1,用来接收 MATLAB命令;再有 1个为 T ext2控件
11、,VB名称为Text2,用于显示计算结果。设计本程序的初衷是:当按下 VB 调用 MATLAB按钮 Comm and1时,程序便运行事先在编辑框 T ext1中编辑好的 MATLAB语句,并将其结果在 Text2控件中显示出来。实现过程如下:1)建立一个 VB窗口,在其变量声明部分:?Di m M atlab AsObject2)在其代码窗中给按钮设定下面的响应命令:?Private Sub Command1 C lick()?Set M atlab=CreateObject(Matlab.Applica-tion)?Text2.text=M atlab.Execute(T ext1.Text
12、)?End Sub3)在文本框内编辑 matlab图像处理的程序段。2.2?利用 M atlab进行图像处理2.2.1?哈密大枣的颜色空间转换由实验系统采集到的哈密大枣图像为彩色图像,?157?2011年 8月?农 机 化 研 究?第 8期是由 R,G,B 等 3种基色组成的合成图像。为了方便处理和提高处理速度,将 RGB 图像转换为 HSI图像。其中,H 表示色度(H ue),代表颜色的类型;S 表示饱和度(Saturation),代表颜色的纯度;I表示强度(Inten-sity),代表光亮的强度。其中,I分量与图像的彩色信息无关,通过图像的滤波处理可以将图像由原来的三维降至一维,减少了 2
13、/3的运算量,从而显著提高运算速度。实际计算的H 值可由式(1)确定。式中,R,G,B 分别代表红、绿、蓝三原色刺激值 7-8。I=(R+G+B)/3S=I-M in(R,G,B)/3W=cos-12R-G-B2R2+G2+B2-RG-GB-RB(1)H=W?(B?G)H=2?-W?(B G)通过颜色空间转换后的哈密大枣图像结果如图 3和图 4所示。图 3?RGB模型下的图像图 4?HSI模型下的图像2.2.2?图像背景分割采集到的哈密大枣图像中包括哈密大枣和背景两部分。本系统是对图像中哈密大枣进行外形上的检测识别,必须准确地确定目标与背景。因此,首先要将采集到的哈密大枣图片进行背景分割。图像
14、分割(i m age segm entation)是数字图像处理领域中一类非常重要的图像分析技术,主要是根据图像在各个区域的不同特性,而对其进行边界或区域上的分割,并从中提取出所关心的目标。哈密大枣的自动分级系统最终要应用于实际的生产线上,采用单一分量进行背景分割速度快,有利于生产效率的提高;同时,本系统的水果传送装置为绿色,背景和哈密大枣图像的交界处色调值表现出很大的变异性,适合采用阈值法进行分割。因此,本系统采用阈值法对图像色调值分割处理哈密大枣图像的背景 9。2.2.3?阈值分割对于图像 f(x,y),对其取 k个阈值后,图像可用式(2)表示。当 Tk-1 f(x,y)Tk时,则有g(x
15、,y)=k(k=0,l,.,k)(2)阈值选择的恰当与否对分割的效果起着决定性的作用。经典的阈值选取方法有以下 4种:极小值点阈值选取方法、最优阈值搜寻方法、迭代阈值选取方法以及大津法(OTS U法)。通过这 4种方法中的一种或几种,在一般情况下能够选择出合适的阈值点,进而可以对图像进行准确有效的分割。阈值分割算法是通过阈值来定义图像中不同目标的区域归属,在阈值确定后,通过阈值分割出的结果直接给出图像的不同区域分布。阈值分割算法基本的处理方式是:先在图像的灰度取值范围中选择一灰度阈值,并对图像全部像素点应用该阈值。一般说来,经由此阈值分割的两部分像素点分属图像中的不同区域,这也就使利用阈值对图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB VB 混合 编程 哈密 大枣 品质 检测 研究 想想
限制150内