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

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

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

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

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

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

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

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个字符被当成了一个字符。

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

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

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会话后结束程序。

程序实现如下所示:

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

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

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容