版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
快递存取识别系统的设计实现分析案例目录TOC\o"1-3"\h\u5724快递存取识别系统的设计实现分析案例 132269第1章系统的设计与实现 1322521.1系统设计目标 1208291.2系统实现过程 2135971.2.1Halcon软件中的实现过程 2107253.2.2VisualStudio软件中的实现过程 5323571.3本章小结 728556第2章系统的测试与验证 8313772.1测试环境 8324572.2Halcon程序的普适性测试 8602.3人机交互界面的普适性测试 10第1章系统的设计与实现1.1系统设计目标目前人们存取快递的主要方式还是人工手动扫码,该方式对工作人员来说,工作量大容易出错;对该地的驿站老板来说,雇佣工作人员成本大;对顾客来说,取快递等候时间长,效率低。所以急需一种快递人员自动存快递、顾客自动取快递的系统,来解决目前存在的问题。本系统的主要的功能需求是根据顾客和驿站老板的需求所提出的快递存取上的需求,为开发人员需要具体实现的功能提供一个方向[14]。顾客和驿站老板的需求为:存在一个自动存取快递的机器,机器上方有镜头和光源,光源对要识别的物体进行24h稳定打光,镜头对光照清晰的快递单、身份码进行准确成像并送入相机,再经由相机提供图像给计算机,其中计算机内有后台程序,后台程序记录着该驿站存取快递的记录,最后图像经由计算机识别出一维码后显示在屏幕上[15],如图1.1所示。图1.1需求流程图根据用户所提出的需求,由于设备和时间的限制,只对相机拍照得到的快递和身份码图像送入计算机进行图像处理并显示在屏幕上这一步进行系统设计,设计目标是提供一个人机交互界面,从已知的几张快递单(身份码)图像中选取一张图像进行识别,并把识别结果显示在屏幕上,把该识别结果增加到列表,列表中显示后台程序的全部存取记录,如图1.2所示。图1.2设计目标1.2系统实现过程1.2.1Halcon软件中的实现过程该小章节介绍了该系统在Halcon软件中的实现过程,在调试代码实现一维码识别后,导出.cs文件并进行修改来完成下一小章节人机交互界面的编程。首先创建一个创建一个一维码阅读器,用于读取特定编码方式的条形码,代码为create_bar_code_model([],[],BarCodeHandle),参数为空,即为读取所有编码方式的条形码,然后再读取文件夹中的所有快递单图像,最后循环遍历文件夹中所有图像进行识别,代码为forIndex:=0to|ImageFiles|-1by1。以识别第一张图像为例,第一张图像如图1.3所示。图1.3第一张快递单图像读取图像后,接下来设置或更改条形码模型的不同参数,以适应条形码的特殊属性或图像中的特定外观。在此项目中,由于文件夹所有图像中每个图像最多有两个一维码,即最多要一次性识别图像中的快递单条形码和身份码,因此设置stop_after_result_num参数为2,代码为set_bar_code_param(BarCodeHandle,'stop_after_result_num',2);由于该一维码中没有校验位,因此设置check_char参数为absent,代码为set_bar_code_param(BarCodeHandle,'check_char','absent')。设置参数之后,接下来用算子实现在该图像中找到一维码区域并识别出一维码信息,代码为find_bar_code(Image,SymbolRegions,BarCodeHandle,'auto',DecodedDataStrings),识别出的一维码区域和信息如图1.4(a)(b)所示。(a)(b)图1.4识别出的(a)一维码区域(b)一维码信息识别出一维码信息后,创建一个字符数组,代码为decode:=[],该字符数组放置两个字符串用于在窗口显示信息。接下来获得识别出的一维码字符串的数量和长度,代码分别为num:=|DecodedDataStrings|和tuple_strlen(DecodedDataStrings,Length),如果字符串数量为一个并且第一个字符串长度不等于20即为存快递,身份码为无,快递单号正常;如果字符串数量为一个并且第一个字符串长度等于20时,为既不是存也不是取的情况,提示请放快递,身份码正常,快递单号为空;如果字符串数量为两个即为取快递,身份码正常,快递单号也为正常。该图像识别出的一维码字符串数量为两个,即为取快递,身份码和快递单号都为正常,身份码为识别出的第一个字符串,快递单号为识别出的第二个字符串,两个字符串分别放置到字符数组内,代码分别为decode[0]:=DecodedDataStrings[0]和decode[1]:=DecodedDataStrings[1],同时在窗口中显示该字符数组,代码为disp_message(WindowHandle,text+'身份码:'+decode[0]+'快递单号:'+decode[1],'window',12,12,'black','true'),如图1.5所示。图1.5显示第一张图像结果3.2.2VisualStudio软件中的实现过程该系统中,Halcon算子是实现该系统人机交互界面的基础,本文把编好的Halcon算子导出为.cs文件,再在VisualStudio软件中添加现有项即导出的.cs文件,并对导出的.cs文件基于设计的界面进行必要的改动,完成在VisualStudio软件中人机交互界面的编程,实现过程的流程图如图1.6所示。图1.6人机交互界面实现过程流程图由流程图可知,要完成人机交互界面,在VisualStudio软件中添加导出的.cs文件后,要对该文件进行修改。首先要对界面进行设计,在Form设计窗体内添加四个控件,一个为hWindowControl,用来显示选取的图像和识别结果;一个为listView,用来实现叠加显示存取记录的过程,即后台程序记录着该驿站存取快递的所有信息;一个为button,用来实现点击按钮触发某个事件的功能,在该界面中为打开文件选择框的事件;一个为openFileDialog,用来实现打开文件选择框选择图像的功能,窗体设计界面如图1.7所示。图1.7窗体设计界面接下来在编程窗口对该.cs文件进行修改,修改之后要实现的功能为点击选取图像按钮,自动弹出选用资料文件对话窗口,选用要辨别的图片资料文件单击开启之后,在图像窗口中显示识别出的一维码信息,如果识别的图像为存或取的情况,信息在列表中叠加;如果是即不为存也不为取的情况,弹出对话框提示请放置快递,信息不在列表中叠加。运行结束后,该列表中显示了该系统所有正确的快递存取记录。以第一张图像为例,点击选取图像,弹出选择文件对话框,如图1.8所示。图1.8弹出选择文件对话框选择第一张图像,并点击打开按钮,直接在窗口中显示该图像的识别结果,可知该图像为取的情况,并把信息添加到列表,信息包括序号、存/取、快递单号和身份码,结果如图1.9所示。图1.9图像识别结果此小章节的C#代码为:privatevoidbutton1_Click(objectsender,EventArgse){openFileDialog1.Filter="AllFiles|*.*";if(openFileDialog1.ShowDialog()==DialogResult.OK){ImagePath=openFileDialog1.FileName;HD.ReadImage(hWindowControl1.HalconWindow,ImagePath);}if(HD.hv_decode.TupleSelect(1)==""){MessageBox.Show("请放置快递");}else{ShowResultTest();}}1.3本章小结本章首先根据客户需求和自身局限提出了设计目标并画出设计流程图,其次详细介绍了该系统在Halcon、VisualStudio软件中的编程实现过程,完成总体设计目标。
第2章系统的测试与验证2.1测试环境为了测试该快递存取系统是否具有普适性[16]、满足客户的需求,并检验该系统可能存在的错误,因此,本章节主要完成对该快递存取系统的测试和验证。通过该系统测试的验证,可以检测系统的功能是否正确、完整、满足客户需求[17]。该系统的测试环境为:软件开发平台:MicrosoftVisualStudio2017HDevelop17.12ProgressWindows系统版本:Windows10专业版2.2Halcon程序的普适性测试Halcon程序对文件夹内的图像循环遍历识别一维码,为了测试该Halcon程序的普适性[16],选取文件夹中三张具有代表性的图像,分别为只有快递单、只有身份码和两者都有的图像,如图2.1(a)、2.1(b)、2.1(c)所示。图2.1(a)图2.2(b)图2.1(c)运行Halcon程序,分别得到三张代表性图像的运行结果,图形窗口中的运行结果如图2.2(a)、2.2(b)、2.2(c)所示。图2.2(a)图2.2(b)(c)图2.2(c)如图所示,在只有快递单一维码的时候为存快递,在窗口中显示快递单号;在只有身份码的时候既不是存快递也不是取快递,在窗口中提示请放快递;在既有快递单一维码又有身份码的时候为取快递,在窗口中显示身份码和快递单号。在本小章对Halcon程序的测试中可得该Halcon程序具有普适性[16],基本满足客户的需求。2.3人机交互界面的普适性测试上文对Halcon程序进行普适性测试,所以在该小章中对C#代码的普适性进行测试,以图2.1(a)-(c)三张代表性图像为例,分别选取这三张图像进行人机交互界面的测试,测试结果如图2.3(a)、2.3(b)、2.3(c)所示。图2.3(a)图2.3(b)
(c)图2.3(c)如图所示,该界面识别只有快递单的图像时,在窗口中显示类型了存取类型和快递单号,身份码为无,并在列表中显示该识别信息;识别只有身份码的图像时,在窗口中显示请放快递提示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年武汉市汉阳区事业单位人员招聘笔试备考题库与答案详解
- 合作项目进度汇报与协调请求函3篇
- 2026年珠海市香洲区公务员人员招聘考试备考题库与答案详解
- 2026年郑州市邙山区公务员人员招聘笔试试题与答案详解
- 关于项目风险评估的函件(7篇)
- 四川省广安市金城公证处招聘2名劳务派遣公证员助理考试模拟试题及答案解析
- 2026江苏常州武进国家高新区下属事业单位选调工作人员3人考试模拟试题及答案解析
- 2026年赤峰市元宝山区公务员人员招聘笔试模拟试题与答案详解
- 数字营销推广策略标准化实施指南
- 2026年吉林市龙潭区公务员人员招聘笔试试题与答案详解
- 非标自动化合同范本
- 雨课堂学堂云在线《中共中央延安十三年史(陕西师大 )》单元测试考核答案
- 化工类高级工程师答辩公共题
- 幼儿园小班数学活动《水果在哪里》课件
- 砖厂安全培训课件
- 【蓝豚医陪】蓝豚医陪陪诊服务发展研究报告
- 初中英语人教版八年级下册Unit9 Section B 1a-1d说课教案设计
- 【山东省人工智能协会】家庭大脑白皮书2025-智慧生活空间全链路场景体验重塑
- 山东名校考试联盟2024−2025学年高二上学期期中检测数学试题含答案
- 生鲜供货合同范本5篇
- 【初中+数学】+专题复习课+圆中的折叠课件+苏科版数学九年级上册
评论
0/150
提交评论