毕业设计(论文)基于机器视觉的开心果闭壳与开壳识别.doc
毕 业 论 文基于机器视觉的开心果闭壳与开壳识别系别: 机 电 工 程 系专业: 机械设计及其自动化姓名: 学号: 指导老师: 完成日期:2012.04.10目 录第1章 引言3第2章 开心果硬件系统521 开心果及包装流程简介522开心果硬件系统设计图623开心果硬件系统工作原理7第3章 开心果软件系统NI VISION83.1 NI Vision简介83.2 利用NI Vision处理图象113.3 处理后图象效果分析12第4章 开心果软件系统LABVIEW应用134.1 Labview简介134.2 将图象NI视觉函数转换为VI程序144.3利用VI控件选板添加条件结构154.4利用工具选板连接VI控件174.5开心果之Labview程序工作原理184.6开心果之Labview界面设计和程序框图20第5章 结束语21参考文献23致谢24第一章 引 言机器视觉系统是综合现代计算机、光学、电子技术的高科技系统。机器视觉技术通过计算机对系统摄取的图像进行处理,分析其中的信息,并做出相应的判断,进而发出对设备的控制指令。机器视觉系统的具体应用需求千差万别,视觉系统本身也可能有多种不同的形式,但都包括以下过程:图像采集 利用光源照射被观察的物体或环境,通过光学成像系统采集图像,通过相机和图像采集卡将光学图像转换为数字图像,这是机器视觉系统的前端和信息来源。图像处理和分析 计算机通过图像处理软件对图像进行处理,分析获取其中的有用信息。如PCB 板的图像中是否存在线路断路、纺织品的图像中是否存在疵点、文档图像中存在哪些文字等。这是整个机器视觉系统的核心。判断和控制 图像处理获得的信息最终用于对对象(被测物体、环境)的判断,并形成对应的控制指令,发送给相应的机构。如摄取的零件图像中,计算零件的尺寸是否与标准一致,不一致则发出报警,做出标记或进行剔除。在整个过程中,被测对象的信息反映为图像信息,进而经过分析,从中得到特征描述信息,最后根据获得的特征进行判断和动作。最典型的机器视觉系统一般包括: 光源、光学成像系统、相机、图像采集卡、图像处理硬件平台、图像和视觉信息处理软件、通信模块。总体上,一个成功的机器视觉系统需要重点解决图像采集(包括光源、光学成像、数字图像获取与传输)、图像处理分析几个环节的关键技术。在开心果成品包装过程中,利用人工筛选闭壳开心果效率过低,机器视觉技术的开发和逐渐成熟使自动高效识别开心果的开壳闭壳成为可能。本文通过机器视觉软件NI Vision实现对开心果的图象采集和图象处理,再借助虚拟仪器的开发平台Labview得到所需的各种图象信息,并显示识别结果。这一系统识别结果的准确率虽不是很高,但需要配备的硬件很少,且简单易用,可为开心果开壳闭壳识别系统的开发应用提供参考。 ForewordMachine vision system is integrated with modern computer, optics and high-tech electronics. Machine vision technique processes the uptaked images and analyses the information of images by means of computer, and make the appropriate decisions, then gives the equipment control instruction. Machine vision system have thousands of specific application requirements, and the visual system itself may also have a variety of different forms, but includes the following process:Image acquisition Acquiring images by use of optical image system under the light ,then convert them to digital images with camera and image acquisition car.These are the front and sources of information of machine vision system. Image process and analysis The computer uses image process software to process images ,and then analyses it to obtain useful information. For example,using it to observe whether the images in the PCB plate are presenting in the circuit, the images of textile are existing defects and the document images are existing words and so on or not. These are the center of machine vision system.Judgment and control The informantion from images process will be used for object ( the object being measured, environment ) judgment eventually, and also form the corresponding control instructions, senting to the corresponding machine. Such as the part images which have acqiured can take it to calculate the part size, then consistent with the standard.If the result is not same to the standard,the machine will make an alarm,and make a make or elimination. In the whole process, the information from being measured object is reflected as image information, and then through analysis, obtaining the information of describing characters, finally making an judgment and action according to the characters obtained. The most typical machine vision system generally includes: light source, optical imaging system, camera, image acquisition card, image processing hardware platform, image and vision information processing software, communication module.On the whole, a sucessful machine vision system needs to focus on resolving several key technology ,such as image collection ( including light source, optical imaging, digital image acquisition and transmission ), image process and analysis.In the process of packing pistachio, using manual work to screening the closed-shell pistachio is too low, but as the machine vision technology become more and more mature, the idea which recognizing the closed-shell pistachio automatically with hight-efficiency will become possible. This article through machine vision software NI Vision to collect pistachio image, and then processing, at last with the help of virtual instrument development platform named Labview, requirring a variety of image information, and also displaying the recognition results. The accuracy rate of the results is not high, but the hardwares it needs is very little, additionally, it is easy to use it. What this article said would provide reference for the development and application of the recognization system of the closed-shell pistachio. 第二章 硬件设计与实现开心果富含蛋白质、脂肪及多种矿物质等,是一种高营养的食品。刚采摘的开心果常有闭壳的出现,且果壳坚硬,从而造成消费者取食果仁十分不便,因此,开心果闭壳开壳自动识别系统的开发应用对提高开心果加工自动化水平和改善开心果品质有一定的现实意义。而开心果加工自动化的第一步需要解决的是开心果的硬件部分,对此,设计如下硬件系统:1.该系统利用圆振盘振动圆盘内的开心果,使其做圆周运动而逐步沿上图轨道运行(直线轨道为平振),轨道中心部分为空,宽度为开心果的宽度,目的在于使纵向运行至轨道的开心果重新落回圆盘中,保证运行到摄像头时所有开心果排列方向都为图示方向,以免影响拍摄效果。2.在直线轨道处安装有一位置传感器,当开心果运行至位置传感器处,会遮挡到传感器发出的红光,从而触发传动器,此时传感器会通知摄像头检测到有开心果进入拍摄区域,从而摄像头执行拍摄动作(在摄像头拍摄轨道范围下面粘有一黑色纸板,具体原因见下一章)。3.摄像头拍摄的图象将立即传到计算机进行识别处理,当发现有闭壳开心果,机械夹子会马上将该闭壳开心果夹至不良品盒,否则,开心果按原定轨道运行至良品区。第三章 软件设计与实现NI Vision 第1节 NI Vision函数简介NI公司的视觉开发模块是专为开发机器视觉和科学成像应用的工程师及科学家而设计。该模块包括NI Vision Builder和IMAQ Vision两部分。NI Vision Builder是一个交互式的开发环境,开发人员无需编程,即能快速完成视觉应用系统的模型建立;IMAQ Vision是一套包含各种图像处理函数的功能库,它将400多种函数集成到LabVIEW和LabWindows/CVI,Visual C+,Measurement Studio及Visual Basic开发环境中,为图像处理提供了完整的开发功能。本论文只借助NI Vision中IMAQ Vision这一部分对摄像头采集到的图象进行处理,其主要的视觉函数及意义如下:Region of Interest管理关注区域的程序组。使用这些程序可以通过编程来定义关注区,以及定义关注区和图像掩码和关注区之间的相互转换。 Processing处理灰度和二值图像的程序模块。利用这些函数可以使用不同 的阈值将灰度图像转换成二值图像。也可以利用这些程序使用预定义或自定义的 查找表变换图像,进行分界变换,修改图像的对比度,图像反向。Filters滤波器,用于增强图像中的信息。利用这些程序可以实现虚像平滑、去除噪声、高光或强化图像中的边沿。可以利用预定义的卷积内核,也可以 使用自定义的卷积内核。 Morphology形态学组,进行图像形态学运算的程序模块。其中一部分程序 完成基本的形态学运算,如灰度和二值图像上的膨胀和腐蚀。另一部分程序用于 改进二值图像的质量,微粒补孔、去除边框颗粒、去除小颗粒、基于颗粒的形状 特征去除不希望的颗粒。该子模板中的其它组用于分割接触颗粒、查找颗粒轮廓、 检测圆形颗粒。 Select Region of Interest选择关注区程序模块组,用于选择关注区、 在图像窗口上画特殊的关注区,以及使用非常少的编程返回关注区信息。第2节 利用NI Vision处理图象 1.当摄像头拍摄到图像,该图象将被立即传到计算机,NI Vision此时将图象加载到界面上,准备进行下一步处理,其初始图象如下:2.点击图标,该图标功能用于提取彩色图象的三原色(RGB、HSV、HSL),选择下拉列表中RGB-Blue Plane一项, 处理后的图象清晰度最佳,效果如下图所示: 3.继而点击图标,此即查询表变换(简写LUT),它可以提高图象的对比度和亮度,选择下拉列表中Square(直方图等值化)一项,可以使图象分化成明显的亮暗两部分,图象如图1。从图1可以发现,当开心果为开壳时,开壳区域的灰度值 图1 图2与背景的灰度值相近,而与果壳的灰度值有很大不同;当采集到的图象为闭壳开心果时(如图2),此时图象有两中明显不同的灰度值,灰度值较大的为图象背景,较小则为整个开心果。这就为利用灰度值阀值来判断开心果的开壳闭壳提供思路。 4.最后点击图标,此为边缘检测,它能够在你绘制的感兴趣区域内根据你选择的灰度值阀值找到所有边缘,并显示它们在图象的坐标值。单击边缘检测Edge Detector一栏,分别选择“Simple Edge Tool”和“All Edges”,并在“Threshold Level”一项输入阀值“50”,并在感兴趣区域画一穿过开心果开口的曲线。 5. .对于闭壳开心果,边缘检测发现4个灰度值突变点(如图3);而对于开壳开心果,边缘检测发现的灰度值突变点大于等于6个(如图4),这就使得开心果开壳闭壳识别结果量化,从而为系统设计的下一步Labview界面设计和快速智能判别结果提供数据上的依据。 图3 图4第三节 NI Vision图像处理遇到的问题利用NI Vision对拍摄到的开心果进行图像处理主要是利用其图像中开心果壳、开心果仁和图像背景的不同灰度值来检测边缘数的数目。但在进行硬件设计,第四章 开心果软件系统Labview应用 第1节 Labview简介LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。虚拟仪器 (VI) 是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。上面的框图反映了常见的虚拟仪器方案。虚拟仪器VI实际上是一个按照仪器需求组织的数据采集系统。VI的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI 公司的 LabVIEW。与 C 和 BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据 LabVIEW标志显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI是LabVIEW的程序模块。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。本章将利用Labview生成对经过NI Vision处理后图象的VI程序,再添加相应控件,实现开心果开壳闭壳识别系统的自动判别和界面设计。第2节 开心果界面设计1.图象经过NI Vision处理后,选择NI Vision菜单栏“Tools”“Create Labview VI”,此时软件将自动依据所选NI视觉函数生成VI程序,其前面板如图5,程序框图如图6。运行该 图5 图6VI程序,软件会提醒加载图象,选择图象后点击确定按钮,前面板会出现经NI处理后的图象,并显示该图像检测到的边缘数和灰度值阀值等有关该图象的信息。2.右击鼠标右键,在弹出的控件快捷菜单中选择“布尔确定按钮”,再将其拖至界面。选中确定按钮右击选择“属性”,修改其标签名字和按钮颜色,结果如图7。 图74.该按钮的作用是程序运行时,点击“确定”,程序会从文件夹加载图象。将界面切换到“程序框图”,右击弹出快捷菜单,依次选择“编程结构事件结构”,再在加载图象的程序区域画一方框,将此程序作为一个事件结构,再在该框图标签处右击选择“编辑本分支所处理的事件”,选择“获取图象”,至此完成用确定按钮触发图象加载的编程,界面如下图所示。5.要想让系统检测到闭壳果时指示灯亮,并弹出对话框,需对程序框图做进一步补充。在程序框图界面选择“编程结构条件结构”, 在“Number of Edges”附近画一条件结构框图。6.由上一章NI Vision中的边缘检测可知,当开心果是闭壳时,检测到的边缘数目总小于6,而当开心果是开壳时,检测到的边缘数目必定于等于6。故可在程序框图依次选择“编程比较”,点击“小于等于”图标(如图9),拖至“Number of Edges”附近;再于控件菜单栏中依次选择“数学数值数值常量”(如图10),同样将其拖至“Number of Edges”附近。 图9 图107.创建一提示框,当检测到闭壳开心果时,弹出提示框图。在控件快捷菜单栏依次选择“Express输入提醒用户输入”,输入文本“发现闭壳果”,并将此框图拖至条件框图内。8.选择“工具选板进行连线”,将上述控件连线如图11所示;“Number of Edges”检测到的边缘数目与数值常量5通过控件“小于等于“做对比”,当边缘数目小于等于5时,条件 图11为真,系统弹出提示框“发现闭壳果”(如图12)。图129.另外,于程序添加一指示灯(图13),再进行连线。以实现当系统检测到闭壳开心果时,指示灯亮,并弹出提示对话框。 图13该系统最终的界面设计和程序框图分别如图14、15。 图14 图15第五章 结束语本文首先简述机器视觉当今的应用发展和开心果目前的加工流程,继而提出运用机器视觉设计开心果闭壳开壳识别系统的可行性和现实意义。接下章节则从识别系统的硬件和软件两部分介绍整个设计思路和步骤。硬件设计部分主要利用圆振盘和轨道平振实现开心果的自动传送,传送过程摄像头抓拍图象,传入计算机进行识别判定。发现闭壳果则机械夹将其夹至不良品盒。结合自己所学专业和力求系统设计方便简洁,软件部分选择视觉处理软件NI Vision和Labview。先借助NI Vision软件进行图象处理,再通过Labview创建程序和设计系统界面。Labview程序编写快捷方便,只要选择所需控件,再将各控件连线即可完成程序的编写。另外,NI Vision完成图象处理后,可将视觉函数直接生成VI程序,大大提高了编程效率。开心果闭壳开壳机器视觉识别系统完成后,只要点击Labview的运行按钮,将图象加载至image out,系统立即判别开心果是否闭壳。该系统虽能利用机器视觉技术自动识别开心果的开壳闭壳,但由于摄像头拍摄图象速度的限制,将其运用到现实生产中还须解决若干问题,主要是如何解决使系统快速并不间断地进行识别工作。对此,本人会继续深入学习有关机器视觉技术,以期能够改善该系统的不足之处。参考文献1.张广军. 机器视觉专著. 北京-科学出版社 2005.2韩九强. 机器视觉技术及应用专著. 北京-高等教育出版社 2009.12.3江建军. LabVIEW程序设计教程专著. 北京-电子工业出版社 2012.4. 彭勇. LabVIEW虚拟仪器设计及分析专著. 北京-清华大学出版社 2011.5. 岂兴明. LabVIEW 8.2中文版入门与典型实例专著. 北京-人民邮电出版社 2010.6. NI_Vision中文基础.7. NI_Vision_for_LabVIEW基础. 致 谢此论文完成之际,谨向我的指导老师*致以最诚挚的感谢。无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到老师的悉心指导和帮助。另外,在此感谢同学提出的宝贵意见,使系统的界面设计更加简洁方便。大学四年的学习和生活就要随着这篇论文的答辩而结束。四年的大学生活让我有了坚强的性格,冷静的头脑和永远乐观的态度,更重要的是培养了我对本人、家人和社会的责任心。大学学习是为了进一步提高自身素质,以实现自己的人生价值和更好地回报社会。我愿在未来的学习过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的老师、同学和朋友,永远以一颗为人民服务的心勉励自已努力学习工作。