基于图像识别的手持式数字多用表自动测试
2018-09-10赵文明李卓琳王玲
赵文明 李卓琳 王玲
摘要:针对无通信接口的手持式数字多用表无法进行自动测试的问题,提出了一种基于图像识别的方案,采用摄像头获取多用表显示屏图像,进而通过图像处理,得到多用表显示屏显示数据,实现了手持式数字多用表的自动测试。通过自动测试,有效地提升了工作效率,同时也减少了因人为因素导致的出错概率。
关键词:自动测试;手持式数字多用表;图像识别
中图分类号:TP312文献标志码:A文章编号:1008-1739(2018)22-60-3
0引言
对于手持式数字多用表,由于不具备数据通信接口,所以现有的测试方法就是手动测试和人工记录数据,同时由于手持式数字多用表功能和档位较多,测试数据也比较繁多[1],测试1台手持式数字多用表需要比较长的时间,而手持式数字多用表作为日常使用的仪表,数量又比较繁多,所以对于测试人员来说,测试手持式数字多用表是一项比较繁重的工作。为此,提出了一种基于图像识别的手持式数字多用表的自动测试方案,通过图像识别来解决手持式数字多用表无通信接口的问题,从而实现了手持式数字多用表的自动测试和数据的自动处理,一方面提升了工作效率,降低了测试人员的工作强度;另一方面,避免了人工记录数据及手动处理数据的出错概率。
1系统硬件组成
系统硬件组成如图1所示,计算机用于运行测试程序。①通过GPIB电缆程控多功能校准器用以提供标准信号输出,如电流和电压等;②通过测试线缆提供给被测手持式数字多用表;③通过LAN口控制摄像头获取图像,摄像头获取被测多用表显示面板;④图像识别获取多用表读数;计算机外连打印机,用于自动测试结果的输出。
2系统软件设计
在完成了仪器硬件连接后,接下来就是进行软件程序的设计,本系统软件框架采用VEE软件平台[2],主要考虑VEE属于图形化编程语言,可以在一定程度上减少程序的开发时间,使得用户可将精力集中于软件方案的解决上,而不是程序编写上面。同时考虑VEE在图像处理方面的不足,采用VEE调用Matlab语句,通过Matlab程序,实现图像处理,完成图像识别的功能。
多用表自动测试程序流程如图2所示。打开程序后,点击开始,通过选择菜单选择相应的多用表型号,程序会根据选择的多用表型号,自动打开相应型号对应的原始记录模板,同时根据相应型号多用表的参数类型,开始进行相对应的参数测试,当该参数测试完成后,程序会判定是否进行新的参数测试,如需要进行新参数测试,则选择到新的参数项目,完成相应参数的测试,当所有参数测试完成后,程序退出。
2.1图像处理
在程序运行前,首先固定摄像头和手持式多用表的位置,然后调节摄像头的焦距及曝光时间,使摄像头可以获取清晰的多用表显示屏图像,进而才能有效地识别多用表读数。程序运行后,当需要读取多用表读数时,程序调用图像处理子函数。
图像处理子函数程序流程如图3所示,调取子函数后,首先获取图像,由于摄像头采用的是彩色摄像头,所以获取的图像为彩色图像,为了方便后期的图像处理,对图像进行灰度化处理[3],将彩色图像转化为灰度图像。随后采用阈值的方法,对灰度图像进行二值化处理,进而滤除了背景杂波等。为了得到效果更好的图片,在完成二值化后,对图片进行滤波处理,得到更适合后期分割与识别的图像。在完成以上对图片的基本处理后,接下来就可以进行图像截取、图像边缘去除、字符分割及识别。
2.2图像截取
由于在实验室环境下,被测数字多用表位置固定,所以多用表显示屏在获取图像中的位置固定,为了简化程序设计,图像截取采用手动方式进行,在程序第一次处理图像时,手动获取多用表显示屏在图像中的位置信息[4],并将这个位置信息保存在程序中,在接下来的程序运行中,按照位置信息,直接将多用表显示屏截取出来,做接下来的图像处理。
2.3图像边缘去除
在获取了多用表显示屏图像后,图像除了需要识别的字符区域外,还有边缘空白或边缘杂波,为了接下来进行字符分割与识别,需要把字符区域提取出来,边缘去除采用图像点统计的方法进行,在横向和纵向分别进行像素点扫描,統计像素值的和[5],以此确定需要识别的字符区域的横向起止位置及纵向起止位置,将需要识别的字符区域提取出来,如图4所示。
2.4字符分割及识别
从图4提取出的图像可以看出,字符间在横向存在间隔,对图像做像素垂直投影。峰值区域为字符区域,可以根据垂直投影[6],分割出每一个字符。字符被分割出来后,对分割后的字符做归一化处理,随后根据字符的特征,将字符图像识别为字符[7],随后根据字符顺序,将识别后的字符组合起来,作为识别结果并输出,完成图像识别的整个过程,如图5所示。
2.5数据处理
对于不同类型和不同型号的数字多用表,设计不同的数据测试模板,根据模板的参数来设置多功能校准器的输出,从而实现数字多用表不同参数的测试。在完成某一参数测试后,对多用表显示屏参数进行图像处理识别后,数据存放到测试模板中,同时计算测试数据与标准数据的偏差,与仪器极限偏差进行对比,判定测试结果是否合格。在完成所有参数测试后,程序自动将填写了测试结果的模板文件另存[8],作为该手持式数字多用表的原始记录,同时可以选择生成证书,从而完成整个手持式数字多用表的测试过程。
3结束语
本系统通过图像识别的方式,实现了无通信接口的手持式数字多用表的自动测试,一方面提升了自动化测试效率,另一方面也减少了人为误差的出现。在接下来的工作中,考虑设计驱动装置,将多用表旋钮切换实现自动化,同时考虑将图像识别用于其他类无通信接口仪器的测试中,从而有效地提高工作效率。
参考文献
[1]国家质量监督检验检疫总局.JJF1587-2016数字多用表校准规范[M].北京:中国质检出版社,2017.
[2]中国-惠普DPS技术研究中心.HP VEE可视化编程[M].北京:清华大学出版社,1999.
[3]张大鹏.模式识别与图像处理并行计算机系统设计[M].哈尔滨:哈尔滨工业大学出版社,1998.
[4]陈刚,魏晗,高毫林,等.MATLAB在数字图像处理中的应用[M].北京:清华大学出版社,2016.
[5]张倩,占君,陈珊.详解MATLAB图像函数及其应用[M].北京:电子工业出版社,2011.
[6]袁卉平.基于MATLAB的车牌识别系统的设计与研究[J].工业控制计算机,2010,23(10):73-74.
[7]翁和王,叶球孙.图像处理中特征提取的应用及增强算法研究[J].重庆理工大学学报(自然科学版),2016,30(7):119-122.
[8]赵文明,张沧庆,康自明.基于VEE的频谱分析仪自动校准系统设计[J].计量与测试技术,2016,43(11):62-64.