基于HALCON的喷码光学字符识别Word文档下载推荐.docx
《基于HALCON的喷码光学字符识别Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于HALCON的喷码光学字符识别Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
因此有必要研究一种运行速度快、识别率高和鲁棒性好的瓶底喷码字符识别系统。
现有基于机器视觉的智能检测技术是实现其生产质量快速、自动检测与控制的新型重要手段。
在此基础上,本文介绍了基于HALCON机器视觉软件的检测系统和针对化妆品瓶底批号的图像处理关键技术,包括灰度值调整、形态学运算、字符分割及识别数字对象。
关键词:
机器视觉;
HALCON;
批号检测;
OCR图像处理
1.引言
随着计算机软件、硬件的发展,数字图像处理的理论和方法不断完善,利用机器视觉实现产品质量无接触自动检测的技术已逐渐变得切实可行,因此我们尝试将机器视觉技术应用于包装批号检测中,以实现生产的快速、自动检测与控制。
机器视觉又称计算机视觉,是用计算机来实现人的视觉功能,也就是用机器代替人眼来做测量和判断[1-2]。
机器视觉技术包含光源照明技术、光成像技术、传感器技术、数字图像处理技术、机械工程技术、检测控制技术、模拟与数字视频技术、计算机技术、人机接口技术等相关技术[3-5],是实现计算机集成系统的基础技术。
机器视觉目前应用极其广泛,例如利用人脸、虹膜、指纹等识别技术来实现安保功能;
利用视觉监控系统识别环境中发生的异常事件,如陌生人的侵入、异常行动;
利用视频监控技术的智能交通管理系统、视频检索;
用于军事目的的自动目标检测等[6],都应用机器视觉技术来解决问题。
正如视觉是人类在自然环境与社会环境生存不可缺少的最重要感知器官,机器视觉也是信息技术中一门至关重要的技术。
1.1.HALCON软件简介
德国MVtec公司的图像处理软件HALCON,是世界公认具有最佳效能的机器视觉软件。
它发源自学术界,由一千多个各自独立的函数,以及底层的数据管理核心组成。
其中包含了各类滤波、色彩分析及几何、数学变换、形态学计算分析、校正、分类、辨识、形状搜索等等基本的几何及图像计算功能。
它提供了一个全面的视觉处理库,包含了所有标准和高级的图像处理方法,覆盖了从不同的硬件采集图像到高级的模式匹配算法;
提供了机器视觉应用程序中通常所需要的一些工具,如文件处理、数据分析、算法操作或分类等。
另外,它还具有快速原型化和开放结构的重要特征,通过交互编程环境迅速开发机器视觉应用程序,或加入新的算子来融合自己的视觉功能。
本文利用HALCON机器视觉软件实现对化妆品底盖喷码字符识别。
1.2.OCR研究现状
OCR的概念是在1929年由德国科学家Tausheck最先提出来的,后来美国科学家Handel也提出了利用技术对文字进行识别的想法。
而最早对印刷体汉字识别进行研究的是IBM公司的Casey和Nagy,1966年他们发表了第一篇关于汉字识别的文章,采用了模板匹配法识别了1000个印刷体汉字。
早在60、70年代,世界各国就开始有OCR的研究,而研究的初期,多以文字的识别方法研究为主,且识别的文字仅为0至9的数字。
以同样拥有方块文字的日本为例,1960年左右开始研究OCR的基本识别理论,初期以数字为对象,直至1965至1970年之间开始有一些简单的产品,如印刷文字的邮政编码识别系统,识别邮件上的邮政编码,帮助邮局作区域分信的作业;
也因此至今邮政编码一直是各国所倡导的地址书写方式。
20世纪70年代初,日本的学者开始研究汉字识别,并做了大量的工作。
中国在OCR技术方面的研究工作起步较晚,在70年代才开始对数字、英文字母及符号的识别进行研究,70年代末开始进行汉字识别的研究,到1986年,我国提出“863”高新科技研究计划,汉字识别的研究进入一个实质性的阶段,清华大学的丁晓青教授和中科院分别开发研究,相继推出了中文OCR产品,现为中国最领先汉字OCR技术。
早期的OCR软件,由于识别率及产品化等多方面的因素,未能达到实际要求。
同时,由于硬件设备成本高,运行速度慢,也没有达到实用的程度。
只有个别部门,如信息部门、新闻出版单位等使用OCR软件。
进入20世纪90年代以后,随着平台式扫描仪的广泛应用,以及我国信息自动化和办公自动化的普及,大大推动了OCR技术的进一步发展,使OCR的识别正确率、识别速度满足了广大用户的要求。
2.图像处理关键技术
针对喷码光学字符检测,我们采用HALCON软件的OCR图像处理方法。
OCR就是用于阅读和识别符号的方法,它被定义成解释图像某区域的任务,这些区域包括独立的字符,因此我们可以用OCR对批号中的单个数码标志进行读取。
其基本步骤为:
获取图像、处理图像、分割图像、调用或训练分类器、读取标志、显示结果、销毁分类器。
2.1获取图像
利用HALCON软件进行的检测系统是离线检测,因此预先采用外部设备采集图像,调用HALCON软件中的算子“read_image”读取图像,如图一。
图一待处理的原始图像
2.2图像预处理
采集后的图像需要经过一定的预处理,使其区域特征更加明显,便于后续的批号数码判断操作。
2.2.1图像灰度化
为了得到更清晰的喷码批次信息,我们需要将批次信息从背景中提取出来,消除噪声,以降低后续步骤的难度。
因此调用rgb1_to_gray算子将图片进行灰度化处理。
如图二。
图二灰度图像
2.2.2获得喷码区域
HALCON中的OCR图像处理都是针对某一特定图像,获得目标区域的方法众多,例如根据图像大小画出矩形框标记目标区域的位置或者采用固定的阈值进行图像分割。
由于图像的个体差异,目标区域的位置会发生变化,因此需要反复更新阈值,过程繁琐且效率低。
由于瓶底上待识别的字符都是喷印的印刷体符号,每个字符都是由很多小圆点拼凑而成,依据此特点,可以直接调用HALCON中dots_image算子直接获取喷码区域,如图三。
图三喷码区域
2.2.3阈值分割
图像灰度的高阶特征反映了缺陷的微小细节、图像成像的曝光特性和噪声干扰等特性[7]。
为了得到更清晰的喷码批次信息,我们需要采用阈值分割的方法将批次信息从背景中提取出来,基于阈值分割方法是一种应用十分广泛的图像分割技术。
阈值分割方法的实质是利用图像的灰度直方图信息得到分割的阈值。
它用一个或几个阈值将图像的灰度级分成几个部分,认为属于同一个部分的像素是同一个物体。
阈值分割方法的最大特点是计算简单,在实时图像处理中,它得到了广泛的应用。
但由于图像的个体差异性,阈值分割时不可能采用单一阈值对图像进行分割。
本文先采用intensity算子计算灰度值的平均值和偏差。
再调用threshold算子调节灰度值,使数字特征变为明显。
如图四。
图四分割图像
2.2.4形态学运算
由于喷码字体均为7行5列的点阵字体,如果直接进行光学字符识别,喷码质量或者瓶底杂质等因素对结果影响大。
因此为了消除点阵变形等影响,需要利用数学形态学的方法对图像进行膨胀处理。
数学形态学是一种非线性滤波方法,可以用于抑制噪声、特征提取、边缘检测、图像分割等图像处理问题。
在形态学操作中,最基本的操作是膨胀和腐蚀。
在实际应用中,膨胀和腐蚀运算常常都是级联复合使用,对图像先做膨胀运算,再对膨胀后的图像做腐蚀运算,或先对图像做腐蚀运算,再对腐蚀后的图像做膨胀运算,称为开启和闭合。
这样的图像中小于结构元的一些细节被滤除,同时使保留的图像特征集合不失真,相当于对图像进行了平滑滤波。
本文利用数学形态学的闭运算对图像进行处理,填补点阵字体中的空洞使其成为一个完整的字符,为了满足实际需求,利用圆形和矩形两种结构元素对图像实行闭运算处理。
其处理结果如图五。
图四形态学处理后图像
2.2.5字符分割
调用connection算子将整个图像的字符分割成独立的个体;
调用select_shape选择特征区域。
使用sort_region将数字从左至右排列,其结果如图五。
图五字符分割
2.2.5识别数字
本文直接调用HALCON中已有的分类器‘DotPrint.omc’,利用for循环将由do_ocr_multi_class_mlp得到的字符串显示在序号为WindowID的窗口上。
图六为利用训练好的OCR分类器识别的图像。
图五识别图像
2.3主要程序
*图像灰度化和特征区域提取
rgb1_to_gray(Image,Imagegray)
dots_image(Imagegray,DotImage,5,'
dark'
2)
*计算灰度值的平均值和偏差,阈值分割。
数据显示在变量窗口
intensity(Imagegray,Imagegray,Mean,Deviation)
threshold(DotImage,Region,Mean-105,255)
*形态学运算操作目的就是要将单体字符连在一起
closing_circle(Region,ClosedPatterns,5)
gen_rectangle2(Rectangle,10,10,rad(45),3,0)
closing(ClosedPatterns,Rectangle,RegionClosing3)
gen_rectangle2(Rectangle,10,10,rad(135),3,0)
closing(RegionClosing3,Rectangle,RegionClosing4)
*根据特征选择区域
connection(RegionClosing4,ConnectedRegions)
select_shape(ConnectedRegions,SelectedRegions,['
area'
'
height'
],'
and'
[100,50],[1000,70])
*排序为下步识别做准备,计算得到目标区域面积,行列等参数
sort_region(SelectedRegions,SortedRegions,'
character'
'
true'
column'
)
area_center(SortedRegions,Area,Row,Column)
*识别阶段
FontName:
='
DotPrint.omc'
read_ocr_class_mlp(FontName,OCRHandle)
*分类器采用‘DotPrint'
do_ocr_multi_class_mlp(SortedRegions,Image,OCRHandle,RecNum,Confidence)
*RecNum代表显示出的数据,变量窗口显示出识别出的字符和自信度
set_display_font(3600,27,'
mono'
fori:
=0to|RecNum|-1by1
disp_message(3600,RecNum[i],'
image'
12,Column[i],'
green'
false'
*string表示要在窗口显示的字符串,coordsystem可以设为‘window’或者‘image'
,color字符显示颜色,row.colum代表字符显示的行列位置,BOX表示字符是显示在框内还是无框
endfor
clear_ocr_class_mlp(OCRHandle)
3.总结
使用人工对大规模自动化流水线生产的商品进行批次信息采集,工作量大,速度慢,与上位机交接困难。
采用机器视觉方法进行此项工作则大幅度降低成本、增加效率和提高准确率。
随着图像识别技术的发展,利用机器视觉代替人眼将是不可逆转的趋势。
本文所采用的方法可以高效率高精准度的检测包装瓶喷码,但仍存在后续需研究的问题,例如训练OCR分类器,并且本文中的方法仅适用同一类型喷码,可以进行更深入的改进研究也可尝试利用基于模板匹配的方法进行分类检测。
4.参考文献
[1]赵杰文,陈振涛,邹小波.机器视觉实现方便面破损在线检测的研究[J].微计算机信息,2007,23(10):
238-240.
[2]席斌,钱峰.机器视觉测量系统在工业在线检测中的应用[J].工业控制计算机,2005,18(11):
75-76.
[3]兰海军,文友先.机器视觉技术的发展和应用[J].湖北农机化,2007,(5):
30-32.
[4]封帆.基于智能机器视觉的针剂生产线安瓶检测识别系统[J].自动化博览,2007,
(2):
40-41.
[5]高潮,任可,郭永彩.基于机器视觉的裂纹缺陷检测技术[J].航空精密制造技术,2007,43(5):
23-25.
[6]MoriS.HistoricalreviewofOCRresearchanddevelopment[J].ProceedingsofIEEE,1992,80(7):
1029-1058.
[7]贺鑫,小包烟包装质量机器视觉检测关键技术研究[J].包装工程,2007,28(8):
102-105.