汽车仪表的测试主要是针对仪表盘车速、引擎转速、显示字符及故障灯的检测过程。通过工业摄像头对仪表上的各组件进行截图,然后利用OCR算法对截图进行自动识别,完成自动化测试过程。
典型的OCR技术路线如下图所示:
在进行图像识别之前,需要对图像识别的内容进行配置,对仪表盘的各模块设置正确的模板。
[Menu]
Template : 通过模板匹配技术,用于校准仪表的图像
Meter : 设置仪表信息,用于识别仪表的指针读值
OCR : 设置OCR信息,用于识别仪表上出现的中文,英文,数字
WarningLingts:设置故障灯模板信息,用于识别仪表上故障灯与模板的相似度
Template
Template的功能是:当仪表盘发生移动时,通过模板匹配技术讲图像校准到移动之前,避免其他图像识别任务发生错误。
Meter
Meter的功能是:配置仪表的基本信息,如:仪表的位置,仪表的量程,仪表的分割阈值以及仪表的识别范围。图像算法根据设定的信息可以识别出指针的数值。
OCR
OCR的功能是: 采用深度学习的算法识别仪表盘上指定区域的字符,并与输入的字符做对比,检测字符是否显示正确,是否显示完整。目前支持的检测语言有:中文,英文,数字。
WarningLights
WarningLights的功能是: 检测故障灯显示的正确性。包括:①是否显示②显示的图标是否正确。首先标注出故障灯模板,然后读取实时图像,通过图像算法给出两者的相似度。
模板设置完成后,将提前编译好的测试脚本导入到软件中,利用图像识别技术和OCR算法自动执行测试用例。