如何利用LabVIEW实现汽车仪表图像识别
扫描二维码
随时随地手机看文章
图像识别是人工智能的一个重要领域,随着图像处理与分析技术的快速发展,图像识别已在医疗、零售、交通等领域得到了广泛应用。在汽车影音娱乐自动化测试系统中,图像识别技术也发挥着不可替代的作用。今天,小编将为大家详细分解如何利用LabVIEW实现汽车仪表图像识别。
(LabVIEW图像识别系统)
Step1 图像采集
图像采集是图像识别的前提,以GigE工业相机为例。图像采集需要借助NI-IMAQdx驱动模块中的一系列函数,其过程如下:
1. 使用IMAQdx Open Camera.vi函数连接并打开选定的摄像头;
2. 通过IMAQdx Grab.vi函数获取图像;
3. 使用IMAQdx Write File.vi函数将图像按照选定的格式保存至文件夹,图像格式包括BMP、PNG、JPEG、TIFF等。
(图像采集程序)
Step2 图像处理
图像处理是通过计算机对图像进行去噪、增强、复原、分割、特征提取。这里简要介绍使用LabVIEW中的Vision Development Module软件包函数进行图像处理的几种基本方法——图像灰度化、图像二值化、图像增强。
1、图像灰度化
工业相机采集到的图像一般为RGB颜色模式,但是,RGB模式并不能反映图像的形态特征,只能从光学的原理上进行颜色调配。因此,处理图像的时候,要对RGB三种分量进行分别处理。使用LabVIEW软件中的IMAQ Extract Single Color Plane.vi函数可实现图像的灰度化处理。图像灰度处理程序和处理结果如下图所示:
(灰度处理程序)
(灰度处理结果)
2、图像二值化
图像二值化处理是通过将图像上各像素点的灰度值设置为0或255,来使整个图像呈现出明显的黑白效果。在LabVIEW中,利用IMAQ Threshold.vi函数对灰度图像进行适当的阈值选取,从而获得能反应出图像整体和局部特征的二值化图像。处理程序和处理结果如下图所示:
(二值化处理程序)
(二值化处理结果)[!--empirenews.page--]
3、图像增强
图像增强是指根据用户需求突出图像中必要的信息,同时削弱或去除不需要的信息。图像增强是图像处理的最基本手段。使用LabVIEW软件中的IMAQ BCGLookup.vi函数对灰度图像进行修正,可改善图像的视觉效果,从而提供直观、清晰、适于分析的图像。图像增强处理程序和处理结果如下图所示:
(图像增强处理程序)
(图像增强处理结果)
Step3 图像识别
采集的图像,经过处理,下一步就要进行识别了。利用计算机对图像中的物体进行处理、分析和理解,模拟完成人类的认识和理解过程,从而识别各种不同模式的目标和对象。
汽车仪表的图像识别主要包括报警类图标识别和OCR识别,两种识别模式原理基本相同,首先对原始图像进行预处理,再提取特征存入训练库中,测试时将现场采集到的图像与训练库中信息进行比对,最终得出识别结果。两种识别方案如下图所示:
(图标识别)
(OCR识别)
1、图标训练/识别
在Edit Icon Classifier界面下可以对该屏幕的图标识别功能进行配置,将样本图标的形状、颜色、位置存入训练库中。配置界面如下图,界面左侧为设备采集的最新图像,右侧为可识别图标的信息列表,右下角为图标的图像显示。
同时,在Edit Color Classifier界面可进行颜色学习资源的查看和删除。界面左侧显示的是当前颜色识别的学习资源,右侧Browser Display中可以选择显示所有学习资源或者按照颜色类别显示相应的学习资源。
2、OCR训练/识别
在读取图像的文字或字符之前,先通过NI OCR Training模块对字符样本进行训练,并生成abc格式的库文件。然后,在代码的初始化部分使用IMAQ OCR Read Character Set File.vi函数读取NI OCR Training接口并创建会话,在程序中通过调用abc文件来实现字符识别的功能。
至此,就完成了从图像采集到图像处理再到图像识别的完整流程了。目前,这套图像识别系统已被国内知名汽车企业运用,用于识别汽车仪表报警图标显示、动态图标闪烁频率、故障报警文字等。