基于摄像头和条形码的实验仪器管理系统_第1页
基于摄像头和条形码的实验仪器管理系统_第2页
基于摄像头和条形码的实验仪器管理系统_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.摘要:条形码是迄今为止最经济、实用的一种自动识别技术,传统的实验设备管理在设备信息输入时一般借助于键盘来实现,存在错误率高、速度慢的缺点。新的实验仪器管理系统以VB6.0语言为编程工具,通过sql2005建立仪器数据库,利用摄像头和条形码技术来实现仪器信息的自动录入,这对提高实验室现代化管理水平和设备管理员的工作效率具有重大意义。 中国论文网 关键词:条形码;摄像头;VB实验仪器管理系统;SQL 中图分类号:TP319 文献标识码:A 文章编号:1009-3044(2012)31-7587-02 条形码是迄今为止最经济、实用的一种自动识别技术,具有以下几个方面的优点1-2:输入速度快:与键盘

2、输入相比,条形码输入的速度是键盘输入的5倍;可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条形码技术误码率低于百万分之一;采集信息量大:利用传统的一维条形码一次可采集几十位字符的信息,二维条形码更可以携带数千个字符的信息,并有一定的自动纠错能力;灵活实用:条形码标识既可以作为一种识别手段单独使用,也可以和有关识别设备组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动化管理3-5。 我院由于存在大学物理实验这样的基础课程,以及大量的专业实验课程,因而实验仪器总数达到上万件,总价值也达到千万级别。一直以来,使用传统的人工方式输入仪器设备编号、名

3、称来查询和管理实验仪器。这种管理方式存在着许多缺点,如效率低、准确度差。鉴于此,本文着重研究通过摄像头来识别条形码6,实现仪器的快速识别和输入,解决输入效率低和准确度差的缺点,使用户对实验仪器实现较好的管理维护,提高现代化管理水平,提高设备管理员的工作效率。 现有的光电识别设备由于接口原因,开发起来有一定难度,而usb摄像头基本上每个人都使用过,只需要电脑具有usb接口即可,在价格上也低于专业的条形码扫描器,具有一定的便利性。 1条形码技术简介 条形码按照码制可分为以下几类:UPC码,EAN码,交叉25码,39码,库德巴码,128码,93码,49码以及其他码制。本文选取EAN13码,其形状如图

4、1。主要由以下七个部分构成:左右侧的空白、起始符、左侧数据符、中间分隔符、右侧数据符、条形码校验符、终止符。 为了保证条形码识别的可靠性,EAN13码通过一位校验码来判断识别的正确性:首先,把条形码从右往左依次编序号为“1,2,3,4”从序号2开始把所有奇数序号位上的数相加求和,用求出的和乘3,再把所有偶数序号上的数相加求和,用求出的和加上刚才奇数序号上的数的和乘3的积,然后得出和。再用大于或等于这个和的最小的10的倍数减去这个和,就得出校验码7。 2仪器设备条形码的识别 首先要通过摄像头获得条形码的图片。可在VB环境下生成生成一个picture动态窗口,连接USB摄像头即可获得当前摄像头的即

5、时画面,对图片进行颜色分析,获取某点的三个基色值。鉴于拍摄光线的不同,有时条形码的黑白条边界的区分不是那么的明显,我们需要把图片进行黑白化,即二值化,使黑白条的分界部分锐化,更准确的计算每个黑白条的宽度,增加结果的准确性。根据黑白数据的宽度来确定一组二进制编码,最后根据EAN13码的编码规则很容易就可得到条形码符号所代表的数值,对比数据库系统可以实现设备的快速检索或者建立新的数据。 2.1条形码图片的获取 利用USB摄像头进行视频控制,要用到两个API函数:capCreateCaptureWindow和SendMessage。其中,capCreateCaptureWindow的作用是创建一个视

6、频窗口,摄像头捕捉到的视频图像在此窗口内显示,函数返回值就是代表此窗口的句柄。视频窗口创建后,剩下的事情就是用SendMessage向该窗口发送各种消息,实现对摄像头的控制。 调用capCreateCaptureWindow创建一个捕捉窗口,原代码是: hCapWnd=capCreateCaptureWindow(“VBCAPWINDOE”,WS_CHILDorWS_VISIBLE,0,0,160,120,Me.hWnd,0) 通过CaseLCase("CopyImg"):Clipboard.Clear:SendMessagectCapWin,WM_CAP_Edit_Cop

7、y,0,0,实现把当前的picture1控件内的画面复制到剪切板中。并通过代码Picture2.Picture=Clipboard.GetData,粘贴到picture2控件里面,以便进行进一步的条形码图片扫描。 2.2图片数据的扫描 首先要获得控件picture2内图片的宽度和高度,其代码是:x=Picture2.Width;y=Picture2.Height。对捕捉到的条形码图片用point方法进行扫描,即得到每点的颜色值。对每点的RGB色彩值进行分离,代码如下: 把像素点(i,j)的颜色值赋值到数组ImageP(k,i,j)中,k的取值范围是02,分别代表RGB三色。因为point方法比

8、较慢,而条形码的扫描只需得到其中一行的颜色值,故在此我们只需扫描其中的某一行具有代表性的颜色值分布(例如:令j=100,代表只扫描图片高度为100的那行),以加快程序的速度。 2.3条形码数值的获取 由于条形码印刷和图像采集设备的限制,实际扫描后得到的图像会出现一定程度的边缘模糊,尤其当条形码密度较大,条空间距较小时边缘模糊更为明显。边缘出现模糊时,将导致寻找条空边缘时产生一定偏差,当这个偏差超过半个模块宽度时,便会出现误码。此时有进行图片黑白化的必要性,根据黑白条颜色值的分界值来判断黑白化的标准,如red>150赋值255,150则赋值0,使得黑白的界线更加锐化。效果如图3。 部分代码

9、如下: 黑白化之后,图片的准确性就提高了。此时我们就可以用0和1分别代表白色和黑色把图片的颜色值输出到数组s()里。由于图片像素较多的原因,一个条形码单位模块有多个二进制表示,例如起始符“101”,它的颜色二进制信息是“111100001111”。所以我们需要把4个或多个像素合并为一个二进制数值。 2.4容错和校验 当系统出现误差特别是条形码印刷误差较大导致间距改变时,译码就会出现错误。因此,该条形码识别系统应该具有一定的纠错能力,以减少条空宽度值不精确的影响,提高条形码识别准确率。 当条形码字符在某个黑白条临界点出现误差,就会导致条或空的宽度读取错误。比如一个单位模块由4个像素来表示时,一个

10、白条它的颜色二进制值为“0001”,甚至是“000000”。这时我们需要一部分的程序来更正这些误差,把它更正为“0000”。 部分代码如下: 其中z要等于条形码的最后一位数字,否则,即读取出错,返回2.2节更换扫描线位置重新执行。 3总结 通过SQL建立实验设备的数据库,利用VB工具进行数据库连接,借助于上述的条形码识别技术,可以快速获取仪器设备的相关信息,从而实现设备的管理功能:如添加设备(添加新的记录)、报废设备(删除某条记录)、修改设备属性(修改某条记录的某个字段值)。 基于新技术的实验设备管理系统,实现了快速检索设备的功能,把设备管理员从枯燥的机械劳动中解放出来,可以把有限的时间利用到

11、设备维护等更有价值的地方,提高了管理效率,同时也保证了工作的可靠性,具有一定的实际意义。 参考文献: 1JohnM.Eiler,WalterW.Nelson,CraigC.JensenandStevenP.Johnson.AutomateddatacollectionusingbarcodeJ.BehaviorResearchMethods,1989,21(1):53-58. 2王雅静,窦震海.条码识别技术的研究J.包装工程,2008(8):240-244. 3邓建,房荣军.条形码人事档案管理信息系统研究J.兰台世界,2010(10):8-9. 4唐永军.在高职院校新生报到系统中条形码的应用J.计算机光盘软件与应用,2011(19):96-9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论