LABVIEW课设.docx
- 文档编号:5542405
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:9
- 大小:526.51KB
LABVIEW课设.docx
《LABVIEW课设.docx》由会员分享,可在线阅读,更多相关《LABVIEW课设.docx(9页珍藏版)》请在冰豆网上搜索。
LABVIEW课设
《虚拟仪器设计》课程设计
题目:
虚拟条码识别系统
姓名:
陈荣
学号:
20080310110214
班级:
08测控<2>班
指导老师:
唐赣
目录
《虚拟仪器设计》课程设计任务书1
一、引言3
二、关于LabVIEW的IMAQVision介绍3
三、EAN-13条形码简介4
四、设计过程6
4.1图形采集7
4.2图像处理LabVIEW程序设计7
五、实验结果及结论8
心得体会10
参考文献10
附录程序完整设计图12
《虚拟仪器设计》课程设计任务书
学生姓名:
学号:
一、设计题目
虚拟条码识别系统
二、设计目的和要求
通过对虚拟仪器的设计,了解虚拟仪器设计的基本原理及常用的对象使用方法;通过设计一台虚拟式数据采集系统、图形识别系统、通过串口、并口控制、测温系统、转速测量系统等,了解虚拟仪器数据采集卡的使用及设置,并口或串口的数据传输,了解虚拟编程中如何驱动非NI公司的数据采集卡或电脑中常用的声卡,学会把外界物理信号采集到计算机并进行简单分析或者通过虚拟仪器产生符合要求的信号并通过声卡输出或者学会利用NI的ELVIS系统设计简单的测量软件。
加深虚拟仪器知识、单片机的了解,培养学生运用虚拟仪器思想解决工程实际问题的能力。
二、设计内容
A.详细要求:
虚拟条码识别系统:
设计一条码识别系统,通过程序驱动普通聊天用的摄像头,采集任何一本书上的条码图片,对条码图片进行识别,显示条码号。
(使用IMAQVision工具包识别图片,利用NI的摄像头补丁程序驱动摄像头)
B.前面板上要设置必要的控件对象以设置相应参数。
C.设计界面要美观,程序可读性好。
三、设计进度安排
设计时间总计2周
课程设计任务及要求讲解(0.5天)
设计任务分析及查找资料(1.5天)
程序编制及调试(5.5天)
设计说明书撰写(2天)
答辩(0.5天)
四、设计任务书应包括的主要内容
目录设计题目任务分析实现过程程序前面板及流程图
结束语心得体会参考文献
五、考核方法
考核方式由三部分组成:
平时学习态度(含考勤)、设计完成情况(含方案、程序质量、界面、说明书等)及答辩情况确定。
六、教师评语及成绩
指导教师:
年月日
1、引言
条形码技术是在计算机技术和信息技术基础上发展起来的集编码、印刷、数据采集与一体的新兴技术。
条形码是由宽度不同、反射率不同的条(黑色)和空(白色),按照一定的编码规则编制而成,用以表达一组数字或字母符号信息的图形标识符。
条形码符号也可印成其它颜色,但两种颜色对光必须有不同的反射率,保证有足够的对比度。
条形码作为一种图像识别技术与其他识别技术相比有制作容易、操作简单、信息采集速度快、采集信息量大、可靠性高、自由度大、灵活实用、成本低等特点。
因此,在近20年间的实际应用中得到了迅速发展。
在我国,改技术已被广泛应用于工业、商业、卫生医疗事业以及图书出版等方面。
本文着重介绍基于LabVIEW的虚拟(EAN-13)条码识别技术。
2、关于LabVIEW的IMAQVision介绍
LabVIEW(LabradoryVirtualInstrumentEngineeringWork-bench,实验室虚拟仪器工作平台)是美国NI(NationalInstruments,国家仪器公司)开发的一种G语言(GraphicsLanguage,图形化编程语言)的交互式编程语言,它将软件和各种测量仪器硬件及计算机集成在一起,建立虚拟仪器系统,以形成用户自定义的解决方案。
使用LabVIEW开发系统的速度比其他编程语言快4~10倍。
IMAQVision是LabVIEW内置的视觉开发工具包,它集成了400中功能,其中包括IMAQVision和VisionBuilder两个组件。
IMAQVision是一个功能强大的函数库,提供了在LabVIEW平台上开发机器视觉系统所需要的各种子程序,例如图像采集、系统校准、图像处理、几何量测量等。
VisionBuilder是一个交互式的机器视觉系统开发环境,可以在系统软件设计的每一步看到输出的中间结果,并可以随时进行修改。
设计完成后能够自动生成LabVIEW程序代码。
NI的IMAQVision软件包为图像处理提供了完整的功能。
它将400多种功能集成到LabVIEW和MeasurementStudio(LabWindows/CVI,VisualC++及VisualBasic)开发环境中。
此外IMAQVisionBuilder可用于快速浏览、建立模型及测试应用且无需编程。
NI的OCR软件为LabVIEW与BridgeVIEW开发者提供了字符识别功能可用于工业检验中读取字母。
通过交互式、可配置的软件或强大的程序库创建应用。
与数据采集和运动控制设备集成。
NI-IMAQ驱动软件使配置和维护更简单。
可从LabVIEW、LabWindows/CVI、C、C++和VisualBasic中调用超过200个函数。
具有可配置、可编程、实时和嵌入式机器视觉的功能。
这个最新版本的图像软件扩充了NI的简单易用的机器视觉和图像处理工具的功能,使得流行的编程语言也能用来作图像处理。
通过IMAQVision6.0,工程师们可以用MeasurementStudio非常容易的创建完整的视觉检测应用程序来迅速并可靠的完成有关测量任务.MeasurementStudio是一个提供各种测量工具的软件包。
所提供的工具包括数据采集,数据分析,数据图形化等.MeasurementStudio支持MicrosoftVisualBasic,VisualC++和ANSI标准C语言。
NationalInstruments视觉软件产品具有机器视觉应用的众多优势。
若想无须编程即可创建、校准并部署一个视觉应用程序?
请选择用于自动检测的视觉生成器(VisionBuilderforAutomatedInspection)。
若您的机器视觉应用需要强大的程序库?
视觉开发模块可为您缩短的开发周期?
节省您的时间和金钱。
IEEE1394接口的NI-IMAQ是一个驱动软件?
可用于从火线(Firewire)接口相机采集图像并将其应用到LabVIEW、LabWindows/CVI或MeasurementStudio程序中。
3、EAN-13条形码简介
EAN是欧洲物品条码(EuropeanArticleNumberBarCode)的英文缩写,是以消费资料为使用对象的国际统一商品代码。
只要用条形码阅读器扫描该条码,便可以了解该商品的名称、型号、规格、生产厂商、所属国家或地区等丰富信息。
EAN通用商品条码是模块组合型条码,模块是组成条码的最基本宽度单位,每个模块的宽度为0.33毫米。
在条码符号中,表示数字的每个条码字符均由两个条和两个空组成,它是多值符号码的一种,即在一个字符中有多种宽度的条和空参与编码。
条和空分别由1~4个同一宽度的深、浅颜色的模块组成,一个模块的条表示二进制的“1”,一个模块的空表示二进制的“0”,每个条码字符共有7个模块。
即一个条码字符条空宽度之和为单位元素的7倍,每个字符含条或空个数各为2,相邻元素如果相同,则从外观上合并为一个条或空,并规定每个字符在外观上包含的条和空的个数必须各为2个,所以EAN码是一种(7,2)码。
EAN条码字符包括0~9共10个数字字符,但对应的每个数字字符有三种编码形式,
左侧数据符奇排列、左侧数据符偶排列以及右侧数据符偶排列。
这样十个数字将有30种编码,数据字符的编码图案也有三十种,至于从这30个数据字符中选哪十个字符要视具体情况而定。
在这里所谓的奇或偶是指所含二进制“1”的个数为偶数或奇数。
EAN条形码有两个版本,一个是13位标准条码(EAN-13条码),另一个是8位缩短条码(EAN-8条码)。
EAN-13条码由代表13位数字码的条码符号组成,如图3-1所示。
图3-1EAN-13条码构成
前2位(1~2,欧共体12国采用)或前3位(1~3,其他国家采用)数字为国家或地区代码,称为前缀码或前缀号。
例如:
我国为690,日本为49*,澳大利亚为93*等(其中的“*”表示0~9的任意数字)。
前缀后面的5位或4位数字为商品制造商的代码,是由该国编码管理局审查批准并登记注册的。
厂商代码后面的5位数字为商品代码或商品项目代码,用以表示具体的商品项目,即具有相同包装和价格的同一种商品。
最后一位数字为校验码,用以提高数据的可靠性和校验数据输入的正确性,校验码的数值按国际物品编码协会规定的方法计算。
四、设计过程
要使用"视觉与运动"模块,用户首先需要安装VisionAcquisionSoftware与VisionDevelopmentModule,而且使用WindowsXP中文操作系统ImaqDirectShowDll.dll文件。
要处理图像,必须先要获取一张图像。
获取图像是通过调用NI-IMAQdx中的函数来实现的,IMAQdx函数下拉列表如图4-1所示。
捕获了一张图像后需要对图像进行一定处理,然后对图像进行条码识别,识别需要调用MachineVision中的Instrumentreaders函数实现,Instrumentreaders函数下拉列表如图4-2所示。
4.1图形采集
首先通过索引IMAQdx下的Opencamern子VI打开USB摄像头,经过Configuregrab子VI捕获图像,然后调用Crate子VI为图像创建一个临时数据缓存区,最后由Grab子VI读取一系列连续的图像并放入Image中显示。
图4-3连续视频图像采集程序框图
4.2图像处理LabVIEW程序设计
此时Image中显示的连续的视频图像,为了方便后面条码识别,我们设置了一个布尔型按钮,当摄像头准确清晰的捕获到全部条码区域时,鼠标按下按钮捕获我们需要的一帧条码图像,此时程序调出循环,并调用CloseCamera子VI释放占有的图像采集板卡,经过数值处理及ROI区域选择,送由Image2显示并调用ReadBarcodeVI对这一帧图片进行条码识别,由字符串显示框显示条码。
图像处理程序框图如图4-4所示。
五、实验结果及结论
连接好摄像头,确定无误后点击运行按钮,得到连续图像并显示在Image中,选择一帧比较清晰的图像并按下确定捕捉按钮即得到了我们需要的图像,显示在Image2中,显示效果不理想。
开始时由于我们的摄像头清晰度不够,捕获到的条形码有些模糊,使得图像处理未能正确显示条码。
运行结束时提示条码类型不是EAN-13条码。
由于摄像头的缘故我们未能完全得到正确结果,离成功只差一步之遥。
后来换了一个焦距可调的摄像头,捕获到了比较清晰的图像,并且很快识别识别出了准确的条形码,显示效果如图5-1所示。
图5-1识别效果图
心得体会
诚实的说,在学习LabVIEW这门课程的时候并没用很用心学,因为确实不太感兴趣。
所以抽题的时候抱着一个上帝保佑我的心态,希望能上帝他老人家能仁慈的给我一个简单的题,让我顺利完成大学最后一个课程设计。
可是有些事情你越是担心它越是发生,最终我们抽到了这个题,不知道同伴怎么想,反正当时我觉得不好做。
于是本着有始有终的原则开始尝试查阅一些资料,课设就这样不紧不慢的开始了。
面对未知困难的时候就是这样,刚开始的时候觉得挡在你前面的是一座巍巍高山,如果我们只是选择仰为观之,那么它将是我永远也无法跨越的高山。
随着对查阅的一些资料的深入了解,脑海中的思路方案一渐渐明朗起来。
这个期间两个同伴给了我很大帮助,特别是王金长同学,他凭借自己对LabVIEW的全面了解,解决了我们遇到的很多关键难题。
我的两个同伴在第一周花了很多心思,而我还有些别的事情,未能全身心投入到课设中。
到第一周结束时,我们初步画好了前面板和程序图,等待第二周调试。
可是后面的调试却让我们“惊喜”不断,一周下来,几乎现在原地踏步,最后老师建议重新编程。
起初我们用我们遇到的第一个问题就是程序运行USB摄像头补丁程序后出错,使得我们无法采集到图像,反反复复改了M种方法,虽然不出错了但是仍然无法采集图像,最后不得不改用IMAQdx模块重新编程。
接下来的问题让我们彻底无奈,我们用了IMAQdx模块后遇到了LabVIEW内部版本问题。
之前的问题我觉得也是这个问题,因为老实给我们使用了vision2010模块后我们很顺利的采集到了图像,可是关于条码处理需要另一个模块--machinevision,用来处理条码,可是实验室的电脑要么没有vision2010,要么没有machinevision,我们自己安装模块又出问题,这让我们几乎崩溃,感觉Labview的兼容性做的很糟糕。
参考文献
[1]阳能,吴德华.基于LabVIEW与MAQ的汽车牌照识别[J].长沙航空职业技术学院学报,2006(4),58-61.
[2]定阳喜,程锐.基于LabVIEW的二维条码识别[J].《微计算机信息》(测控自动化),2010(26),3-1.
[3]吴仁涛,江云海,左建勇.基于LabVIEW平台的视频采集方法及应用[J].工业仪表与自动化装置,2010(3),80-81.
[4]吴成东,孙秋野,盛科.LabVIEW虚拟仪器程序设计及应用[M].北京:
人民邮电出版社,2008.12
附录程序完整设计图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LABVIEW