基于HALCON/NET的名片号码识别系统

2016-05-30 18:38高哲董文赵健毕也
科技尚品 2016年8期

高哲 董文 赵健 毕也

摘 要:基于HALCON/NET开发了名片字符识别系统,通过实时采集名片图片后预处理、透视投影校正、字符识别等步骤,实现了名片上电话号码的自动输入,减少人工管理大量名片的工作复杂度。结果准确率可达99.99%。

关键词:HALCON/NET;图像校正;号码识别

在商务活动中,名片作为一个重要的身份信息载体,得到了十分广泛的使用。但与此同时,大量的名片也给人们带来管理上的麻烦。本文针对这个情况,基于HALCON/NET开发设计了名片电话自动识别软件,大大提高了名片管理的效率,并且号码录入精度显著优于人工输入。

HALCON是德国MVTec公司开发的一套完善的机器视觉算法包,拥有便利的机器视觉集成开发环境和广泛的机器视觉算子,应用范围涵盖医学、监控、遥感探测,乃至工业自动化等领域。HALCON支持Windows,Linux和Mac OS等系统,其函数库可以用C,C++,C#,VB等语言访问,并且提供了大量的图像获取设备接口,包括USB,GigE,1394等,十分便于开发设计人员使用。

1 系统设计

本系统的硬件主要包含两大部分:PC机和图像采集设备。PC机安装windows操作系统,对采集到的名片图像进行处理与识别,并自动显示和保存识别结果;图像采集设备与PC机相连,采集名片的图像。因为在自然光下采集的名片图像便比较清晰,识别率可达到令人比较满意的程度,所以本系统未采用额外的照明光源。

2 图像采集

HALCON中提供了几乎包含所有的图像采集设备接口,并且提供了图像采集助手,便于连接采集设备。打开HALCON 的图像采集助手,便能够设置当前的图像采集设备,并且能够设置设备的各项参数.

本系统所采用的相机是映美精的DFK-23G445,像素1280*960,GigE接口,最大帧率为30FPS。通过采集助手设置好了图像采集设备的名称和曝光白平衡等参数之后,便能够导出HDevelop代码,通过HDevelop打开和预览采集到的图像了。

3 图像预处理

名片经过图像采集设备采集,存储到电脑中的是数字图像信息。在采集的过程中,名片的光洁度,油墨的深浅,环境光照的亮度等干扰,都会影响最终的成像质量。所以,在进行字符识别之前,需要对这些干扰进行预处理,目的是突出需要被识别的主要字符,尽量减弱干扰。本系统中,图像的预处理环节主要包含灰度化、图像去噪和二值化3部分。

3.1 灰度化

常用的相机采集到的图像是彩色RGB格式的,在处理之前,可以将其转换为灰度图像,便于后续处理的进行。由于人眼对于绿色分量比较敏感,所以常用的灰度化公式如式2.1:

3.2 去噪

图像在采集过程中,不可避免的会包含一定的噪声干扰。因为本文中并未采用光源,而是直接使用自然光作为光源,所以相机的噪声干扰更加明显。在进行进一步处理之前,图像去噪是必须的环节。

本文所采用的去噪方法是中值滤波法,中值滤波法是一种常见的滤波技术,该方法的思路是把目标点周围一定大小的区域内的像素点的值进行排序,并且把排序在中位的值作为该点滤波后的值。中值滤波能够很大程度上去除噪声的干扰,并且能够较好的保持图像的清晰程度。

3.3 二值化

二值化是把灰度图像转换为二值图像的过程,目的是把感兴趣区域从整个图像中分离开来。本文采用大津阈值法进行二值化分割。大津阈值法又叫做最大类间方差法,它是按照图像的灰度特征将图像分为前景和背景两部分,前景与背景之间的方差越大,说明这两部分的差别越大,那么分错的概率也就最小[1]。大津阈值法可以这样描述:假设图像I(x,y)中,被阈值T分割后,前景像素所占比例为w0,平均灰度为u0,背景占比为w1,平均灰度为u1,图像总平均灰度为u,类间方差为g,那么有

在遍历所有阈值后,得到最大类间方差的阈值T即是所求的阈值。二值化前后的图像如下图

3.4 图像校正

由于拍摄过程中,名片和相机可能不是刚好的垂直方向,而是存在一定的角度,那么拍出的图像可能就会存在图2中所显示的透视失真情况。投影失真的情况下,号码角度是倾斜的,并且大小不一致,给识别精度带来了影响,需要进行图像的校正。

本系统中图像校正的流程如下:

(1)在二值化图像中提取符合名片区域面积特征的区域作为目标区域;

(2)对目标区域提取凸包;

(3)提取凸包后,对凸包的边缘进行合并,将角度相近并且彼此相连的凸包边缘合并;

(4)提取合并后的凸包边缘起点和终点,这些点就是名片的四个角的位置;

(5)根据四个角点的坐标和根据已知名片尺寸所给出的目标点坐标,求取透视变换的校正矩阵;

(6)利用校正矩阵对名片区域进行校正。

在步骤1中,我们选取了面积大于20000的区域作为待选区域,排除掉小面积区域的干扰;在步骤3中,凸包边缘的合并条件是角度差别小于10°。透视变换校正前后的效果如图3所示,可以明显看到,变换前名片上的字符倾斜,并且有严重变形;变换后的名片字符处于水平状态并且大小一致,便于后续的字符识别处理。

4 号码识别

透视变换校正后,名片图像变为水平放置的一个规则的矩形。此时,用鼠标拖拽出一个矩形来圈出所需要识别的目标区域,之后对圈出的区域内的号码进行识别。HALCON中包含了基于SVM和MLP的字符识别模块,并且已经训练好了常见的字符识别神经网络,能够对常见字体的字符进行高精度和快速的识别[2]。

号码识别的步骤如下:

(1)对目标矩形区域进行自动阈值二值化处理;

(2)对二值化图像求联通区域,并选择符合字符宽度和高度条件的区域作为待选区域;

(3)对待选区域从左到右进行排序;

(4)按照顺序对每个区域进行字符识别,若有字符的识别可信度低于我们设定的阈值,则会进行报警,提示用户有字符识别效果不理想,可能是图像采集不够清晰,需要重新采集。

字符区域的分割效果如图4所示,各个区域分割清晰,无粘连现象。

5 利用HALCON生成C#代码

C#作为一种面向对象的、运行于.NET Framwwork之上的高级程序设计语言,有着“简单、现代、通用”的优点,十分适合开发基于Windows系统的桌面程序。而HALCON的集成开发工具HDevelop可以将代码快速的导出为C#代码,所以,基于C#和HALCON开发的图像处理软件有着极为快速的开发速度和极高的稳定性。

经过测试,本系统的识别准确率可达到99.99%以上,识别速度在20ms以内,能够大大减轻大量名片管理的工作量,并且与人工输入相比,有着更高的准确率。

6 结束语

本文基于HALCON/NET开发设计了名片电话识别系统,在经过图像的采集、校正、识别过程后,准确得到电话号码、传真、手机号等,与人工操作相比,大大减轻了名片管理的工作量,并且提高了号码输入的精度。实际测试表明,该系统稳定性强、运行效率高、检测精度高。

参考文献

[1]郭平,张桦,武二永.基于形状上下文的车牌字符识别[J].杭州电子科技大学学报,2012,(2):32-35.

[2]李彦飞.基于图像处理的字符识别方法研究[J].当代教育实践与教学研究,2016,(8):10-13.

(作者单位:北方重工集团有限公司)