LabVIEW OCR 实现车牌识别(实战篇—3)

本文涉及的产品
车辆物流识别,车辆物流识别 200次/月
教育场景识别,教育场景识别 200次/月
OCR统一识别,每月200次
简介: LabVIEW OCR 实现车牌识别(实战篇—3)

目录

1、字符数据集训练


2、识别与验证


在学习本章之前,推荐先学习系列专栏文章:LabVIEW目标对象分类识别(理论篇—5)


OCR(光学字符识别)是指机器自动从图像中识别文本字符的过程,OCR机器视觉系统可用于对被测件的识别和分类。常见的识别应用包括:药品包装标签识别、IC芯片编码读取、冲压零件上的字符识别、汽车零件编码读取以及车牌识别等。


OCR从本质上可看作是目标分类和识别的一种实际应用,因此它也包括训练和分类过程。


OCR训练过程主要从图像中提取用于字符识别的特征向量,并对各字符图像赋予准确的字符值。具有相同字符值的字符样本图像构成一个字符类(Character Class),该类可以用其中一个最能代表该类字符的样本图像来代表,称为参考字符(Reference Character)。字符训练完成后,就可得到一个用于对字符进行识别的字符集(Character Set)。


OCR对图像中的文本进行读取时,会先将图像中的各个字符图像分割开来,并将字符的特征向量与字符集中保存的特征向量进行对比,选取满足条件的最佳匹配向量所对应的字符值作为读取识别结果。若有必要,也可以通过字符验证过程对OCR的识别质量进行验证。


下图对OCR应用及OCR的关键技术点进行汇总:

image.png

1、字符数据集训练

和目标分类过程类似,要能使OCR过程正确读取或验证文本,就需要先使用字符样本对分类器进行训练。训练过程一方面从字符样本图像中提取字符特征,另一方面将不同字符特征与字符值(相当于类标识)进行关联映射。训练结束后,字符特征及对应的字符值连同其他与字符识别相关的信息被一并保存在字符集文件中,用于后续的文本识别过程。从分类识别的角度来看,训练得到的字符集文件就相当于分类器。


字符的属性参数决定了OCR训练和文本读取验证过程以何种方式分割字符。


常用的字符属性包括字符的边界长和宽,字符间距、字符占像素的多少(又称为字符大小)等。字符间距若设置得太大,则OCR过程可能会将多个字符当成一个字符。点阵或字段类字符可认为是由多个元素(Element)构成。这种情况下,各元素之间的横向或纵向间隔是较为重要的字符属性之一。元素间的间隔若设置过大,则字符图像可能会包含多余的图像颗粒;而若元素间的间隔设置过小,则字符图像可能并不完全。无论哪种情况,都会造成要识别的字符与其对应图像不能匹配。


Nl Vision提供了两种OCR字符集训练方法,一是使用NI OCR训练器应用程序离线完成字符集训练,二是使用程序代码在运行时完成字符集训练。


下图显示了NI OCR训练器(位于:National Instruments\Vision\Utility\OCR Training Interface\OCR Training.exe)用来设置字符属性的界面,以及两种OCR无法正确识别字符的示例。由于示例中字符元素横向间隔设置过小,因此点阵字符O和R无法被完整识别。而由于字符间隔设置过大,OCR 3个字符被当成了一个字符。

image.png

也可以在程序代码中使用位于LabVIEW的视觉与运动→Machine Vision→OCR函数选板的IMAQ OCR Property读取或配置OCR的各种字符属性信息或形态学处理参数,如下所示:

image.png

函数说明及使用可参见帮助手册:

image.png

2、识别与验证

在OCR应用中,文字识别或验证过程实际上就是基于训练得到的字符集信息对字符分类的过程。OCR的字符集既可由Nl OCR训练器应用程序离线训练得到,也可由程序代码在运行时训练获得。从图像中识别文字时,OCR程序先分割出各字符,并将其特征与字符集中的字符特征进行对比,返回与之最接近的字符所在类的字符值。


通过一个车牌识别实例了解OCR的应用方法,程序设计思路如下所示:


程序先使用IMAQOCR Read Character Set File读取事先由NI OCR训练器训练得到的字符集文件TO-LlC.abc中的字符信息,然后由While循环逐一识别文件夹中的车牌图像,从中识别车牌号码;

在While循环中,程序将图像读入内存后,先删除所有图像中的叠加图层,然后由IMAQ OCR Read Text 3从设定的ROI中识别车牌;

IMAQ Overlay ROI可以根据识别到字符的边界矩形,在图像中用红色矩形框出各字符;

当退出按钮被按下时,程序退出While循环,并在释放内存空间、丢弃OCR会话后结束程序。

程序实现如下所示:

image.png

程序运行效果如下所示:

image.png

项目资源下载:https://download.csdn.net/download/m0_38106923/20670402


在实际车牌识别应用程序中,通常首先要从车辆图像中定位到车牌区域。常见的车牌定位方法有以下几种:


根据车牌与其周围图像的差异,由纵横方向上的车牌边缘来确定车牌区域;

通过匹配车牌的几何轮廓或预先保存的各种车牌模板确定其位置;

通过车牌字符的纹理确定车牌位置;

通过车牌的颜色确定车牌位置;

通过车牌字符特征确定车牌位置。


相关文章
|
10天前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
142 0
|
9月前
|
JSON 文字识别 数据可视化
Qwen2-VL微调实战:LaTex公式OCR识别任务(完整代码)
《SwanLab机器学习实战教程》推出了一项基于Qwen2-VL大语言模型的LaTeX OCR任务,通过指令微调实现多模态LLM的应用。本教程详述了环境配置、数据集准备、模型加载、SwanLab集成及微调训练等步骤,旨在帮助开发者轻松上手视觉大模型的微调实践。
|
12月前
|
文字识别 计算机视觉 开发者
基于QT的OCR和opencv融合框架FastOCRLearn实战
本文介绍了在Qt环境下结合OpenCV库构建OCR识别系统的实战方法,通过FastOCRLearn项目,读者可以学习Tesseract OCR的编译配置和在Windows平台下的实践步骤,文章提供了技术资源链接,帮助开发者理解并实现OCR技术。
641 9
基于QT的OCR和opencv融合框架FastOCRLearn实战
|
9月前
|
文字识别 测试技术 API
实战阿里通义灵码极速编程-截屏-OCR-Ollama篇代码
该代码实现了一个截屏测试工具,结合了鼠标事件监听、屏幕截图和OCR功能。用户可通过拖动鼠标选择屏幕区域进行截图,并将截图转换为Markdown格式的文本内容。具体步骤包括:初始化大模型客户端、编码图像为Base64格式、捕获指定屏幕区域并保存截图、调用大模型API进行OCR识别并输出Markdown格式的内容。
365 9
|
9月前
|
文字识别 程序员 C++
实战阿里通义灵码极速编程-截屏-OCR-OLlama篇
通过实际案例展示阿里通义灵码如何极大提高编程效率。以开发屏幕截图OCR Python程序为例,使用Win10、Anaconda3、VS Code及通义灵码插件。经过四次提问与优化,从截屏选择矩形区域到调用大模型进行OCR识别,整个过程仅耗时半小时,最终形成可运行的控制台程序。加入界面开发后,总用时2小时,显著提升开发速度和质量。
802 5
|
11月前
|
文字识别 安全 Java
SpringBoot3.x和OCR构建车牌识别系统
本文介绍了一个基于Java SpringBoot3.x框架的车牌识别系统,详细阐述了系统的设计目标、需求分析及其实现过程。利用Tesseract OCR库和OpenCV库,实现了车牌图片的识别与处理,确保系统的高准确性和稳定性。文中还提供了具体的代码示例,展示了如何构建和优化车牌识别服务,以及如何处理特殊和异常车牌。通过实际应用案例,帮助读者理解和应用这一解决方案。
|
机器学习/深度学习 人工智能 文字识别
文本,文字扫描01,OCR文本识别技术展示,一个安卓App,一个简单的设计,文字识别可以应用于人工智能,机器学习,车牌识别,身份证识别,银行卡识别,PaddleOCR+SpringBoot+Andr
文本,文字扫描01,OCR文本识别技术展示,一个安卓App,一个简单的设计,文字识别可以应用于人工智能,机器学习,车牌识别,身份证识别,银行卡识别,PaddleOCR+SpringBoot+Andr
|
文字识别 新能源
文本,文字识别14,身份证和车牌识别接口
文本,文字识别14,身份证和车牌识别接口
|
存储 人工智能 文字识别
印刷文字识别使用问题之离线识别车牌识别效果如何
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
文字识别
印刷文字识别产品使用合集之支持车牌识别吗
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。

热门文章

最新文章