苗智耀 贾翠萍 孙杭雨 李志刚 冯家瑶 梁建宾 张诗荟
(河北北方学院信息科学与工程学院 河北·张家口 075000)
校园卡实现了对学校师生和学校员工日常活动的集中管理,它是一种包括门禁卡、消费卡、多媒体借阅卡等各种功能的卡片。校园卡的使用和普及能给师生带来很多方便,但是也存在容易丢失、丢失后不易找回的问题,造成了成本的浪费。目前的校园卡丢失招领过程存在系统管理困难、人手动参与环节较多等问题。本文通过MATLAB软件,实现了一种基于OCR算法的校园卡卡号识别方法,主要目标是自动识别卡片中的有效身份信息,并生成文字输出,以便于实际信息进行对比和验证。
二十世纪六十年代初期,美国Murray Eden率先提出了一种用于数字字符识别的识别算法。该算法通过描述由零至九这十个数字体现的基本特征出发,为此后数字以及其他字符的识别研究,奠定了十分坚实的基础。到二十世纪七十年代,Parks等多位研究者提出了一种新的多级结构链接识别方法以及对拓扑结构进行特征抽取的办法,这一方法的提出,在很大程度上提高了数字字符识别的识别效率和精确率。在我国,专门针对数字字符识别的研究工作最早开始于20世纪70年代初。最初把十个数字字符识别的算法应用到邮政信函分拣系统之中。在此之后的研究中,来自复旦大学的研究者们开发了中国第一台数字字符识别的机器,这台机器能做到十分精确地把标准印刷体数字字符识别出来。与此同时,中国科学院成功研制出一台邮政编码识别样机,并把样机应用于信件邮政编码的识别。经过多年的研究与成果的积累,目前我国数字识别领域已经取得了很多突破,并在不断深入中。
本文通过MATLAB强大的图像数字处理功能,采用基于OCR技术的识别算法,在MATLAB强大的计算能力基础上,通过使用MATLAB提供的数字图像处理工具箱,完成了校园卡数字字符信息的提取和识别过程。
在计算机中,可以将一幅二维图像定义为一个与之对应的二维函数,表示为f(x,y),其中(x,y)是平面坐标系坐标,在任意坐标(x,y)处的幅度,则被定义为该幅图像在此坐标位置处的对应亮度值。由该二维函数f(x,y)可知,图像的坐标值和亮度变化之间的关系表示为f。本文的图像处理方法是基于数字图像的方法,因此,首先要把一幅待处理的字符图像进行数字化处理。对模拟图像进行数字化处理时,需要将其坐标和幅度均进行数字化分析。分析和处理的过程中,把坐标值数字化的过程被称之为“取样”,把幅度值数字化的过程称之为“量化”。当表示图像的x、y两个分量值及幅度值都是有限且离散的量时,称图像为数字图像。
以下为一种数字图像的数学表达方式。坐标位置(x,y)=(0,0)被定义为图像坐标原点,图像中沿Y的下一坐标位置被记为(x,y)=(0,1),因此(x,y)=(0,1),表示为沿Y轴的第2个取样点。图1表示为图像数字化坐标表达方式。
图1:图像数字化坐标表达方式
根据图1表示的坐标系,可以得到数字图像的数学表达方式,如以下公式所示:
光学字符识别技术,即OCR(Optical Character Recognition)技术,始于1929年,由德国科学家Tausheck提出的。到20世纪70年代,我国的研究者开始进行汉字字符识别研究工作,直到1986年“863”高新科技研究计划的提出把我国的汉字识别研究推向一个更高的领域,经过潜心研究,清华大学的丁晓青教授和中科院的研究者们陆续推出了相关的中文光学字符识别产品。20世纪90年代,平台式扫描仪地进入大众的视野,并被不断应用的生活和生产工作中,使得办公自动化、高效化、智能化过程不断提升的同时,也大力推动了光学字符识别技术地进一步发展。使OCR的识别正确率、识别速度满足了广大用户的要求。
从工作流程来看,OCR识别技术的基本过程如图2所示:
图2:OCR技术路线图
图像预处理,在本文中是指对输入的字符图像自身成像问题进行预处理。常见的预处理过程包括:图像数字化、直方图变换、畸变校正、图像的几何变换、图像增强等。
文字检测,文字检测过程即检测文本内容(本文中指数字字符内容)在原始图像中的布局,以及其所占位置、比例大小等,主要解决要识别的文字在哪里,范围有多大等问题。
文本识别,即在上一步骤文本检测的基础上,对数字字符内容进行进一步分析,这一步骤中,图像中的文本信息被识别并输出为最终所需要的文本信息。文字识别主要解决的是每个文字代表什么含义的问题。
2.2.1 图像预处理
在图像预处理过程中,首先读取原始卡片图像并显示原图,判断原始图像是否为RGB图像,如果是RGB图像,将其转换为灰度图并进行归一化处理。加入高斯噪声后,利用graythresh函数获取一个阈值,将图像二值化,以便更清晰的凸显目标数字的轮廓。原始卡片图像如图3所示。
图3:卡片身份数字信息
图像处理结果如图4所示。包括图像灰度化、加噪、二值化和去噪结果。
图4:图像处理结果
2.2.2 卡号识别
校园卡卡号识别过程是通过字符分割函数,将卡片上字符进行分割,通过与创建的字符模板进行匹配,获得匹配的数字字符,最后将各个匹配结果进行连接,并输出为文本。
识别过程如图5所示。
文本输出结果如图6所示。可准确识别出卡面上的卡号数字信息和学号数字信息,为后续身份识别提供可靠依据。
图5:算法流程图
图6:文本输出结果
通过基于OCR字符识别技术,将校园卡上的身份信息数字进行分割和识别后再连接,可以得到有效的校园卡身份识别结果。该方法为进一步实现校园卡的信息管理、丢失找回过等程提供了基础,使得校园卡的使用过程更加方便、安全。