APP下载

购物小票图像识别预处理算法的研究

2016-04-22刘刚黄襄念符清芳饶伟

计算机时代 2016年4期

刘刚+黄襄念+符清芳+饶伟

摘 要: 购物小票是消费行为的真实记录,对其进行识别有重要的现实意义。小票图像的预处理操作是对其正确分割和识别的关键步骤,预处理结果的好坏对后期的识别产生直接的影响。预处理阶段包括图像去除干扰色,灰度化,二值化,平滑去噪,倾斜校正,模糊图像还可用图像增强等处理方法。各种各样的拍摄角度和光照条件各异的小票图像,经过本文的预处理操作,可直接进行后期的字符分割和识别。

关键词: 去除干扰色; 灰度化; 二值化; 平滑去噪; 倾斜校正

中图分类号:TP391.1 文献标志码:A 文章编号:1006-8228(2016)04-21-04

Research on pretreatment algorithm of shopping receipt image recognition

Liu Gang, Huang Xiangnian, Fu Qingfang, Rao Wei

(School of Computer and Software Engineering, Xihua University, Chengdu, Sichuan 610039, China)

Abstract: Shopping receipt is the real record of consumer behavior, and it has important practical significance to identify it. The pretreatment of the receipt image is the key step for the recognition, and the results of the pretreatment have a direct impact on the late identification. The pretreatment includes image denoising, gray scale, image filtering, binarization, tilt correction, and so on, and image enhancement and smoothing are also used in the blurred image. Through the pretreatment proposed in this paper, the variety of receipt images, with different shooting angles and illumination conditions, can be directly carried out late character segmentation and recognition.

Key words: remove interference color; gray scale; binarization; smooth denoising; tilt correction

0 引言

购物小票是消费者购物的凭据,它是消费者经济行为的真实记录。每个人每天可能会产生多张购物小票,通过拍照可随时拍下这些小票图像,然后进行图像处理和识别,并自动记录。这样做也许会是一个不错的选择。在这个智能化的信息时代,随时掌握自己的消费情况,做好各种理财准备和消费打算,可以成为现代人的一种习惯。

购物小票图像往往具有印章,印章的颜色以红色和蓝色为主。对其预处理首先要去掉干扰识别的成分,也就是去除干扰色;然后对图像进行灰度化处理,将彩色图像转化为灰度图像,以方便后期的图像处理。接下来通过图像的滤波操作去除产生的各种噪声;作图像二值化,将其转化为只有黑白两种颜色的图像;对图像进行倾斜校正,防止图像的倾斜对后期的字符分割和识别产生影响。

各种购物小票不尽相同,而且拍摄角度和光照条件各异,很难找到一种统一的预处理方法能对千差万别的小票图像进行预处理。本文在研究各种预处理算法的基础上,通过各种实验,找到了一种可以处理绝大多数小票图像的方法,为图像后期的字符分割和识别创造了条件。

1 预处理过程

购物小票经过图像采集设备采集后,存储到计算机的是数字图像信息,购物小票上的印章、纸张的光洁度、油墨的深浅等都会连同有用信息一起被采集到一个图像中,因此,在进行字符识别之前,要对这些干扰信息进行预处理。预处理流程图如图1所示。

[小票图像][去除干扰色][灰度化][图像模糊?] [二值化][平滑去噪][倾斜校正][输出][图像增强] [是][否]

图1 小票图像预处理流程

1.1 去除干扰色

购物小票上大多有红色和蓝色的印章,首先要去除印章颜色的干扰。HSI颜色模型是基于色调(hue)、饱和度(Saturation)和亮度(Intensity)的颜色模型,并且符合人类观察和感受颜色的视觉和心理学特点,所以只要找到红色和蓝色在HSI颜色模型中的范围,就可以将红色和蓝色的干扰色去掉,而且对其他的字符信息没有影响。首先需要将图像由RGB颜色模型转化为HSI颜色模型,转换公式为[1]:

红色和蓝色在HSI模型的范围不能只依靠色调H来决定,需要H和S共同确定。当0≤H≤10或者350≤H≤360且S≥0.3时,为红色的范围;当170≤H≤190且S≥0.3时,为蓝色的范围。利用这两个范围可以将图像中红色或者蓝色的印章去除掉。原图像和去除干扰色后的图像如图2和图3所示。

1.2 灰度化处理

字符处理系统要处理的是灰度图像,目前许多成熟的图像处理算法和工具包也是针对灰度图像的。因此,需要将彩色的小票图像转化为灰度图像[1],灰度等级为0到255。由于去除干扰色是在HIS颜色模型下,需要将小票图像由HIS颜色模型转化为RGB颜色模型。在RGB颜色模型下,彩色图像的每一个像素点由R(红色)、G(绿色)、B(蓝色)三原色混合而成,每种颜色成分可以分成0到255个等级,而灰度图只含有亮度信息,不含有色彩信息。常用的灰度化处理方法有四种[2]:平均法、分量法、最大值法、加权平均法。本文分别采用了四种方法分别做实验,经对比显示:最大值法得到的效果较好,其公式为式⑷。其灰度化处理效果如图4所示。

1.3 图像二值化

灰度图像经过二值化处理后能够得到更清晰的几何特征,同时能够缩减图像的数据量,简化图像后续的处理和分析。其实,图像的二值化也是图像分割技术的一种,将灰度图像分割成前景和背景。选取一个阈值,图像中大于该阈值的为前景像素,小于该阈值的为背景像素。可以看出,图像二值化的处理过程最关键的步骤是阈值的选取。阈值选取的好,能够得到字符笔画信息更完整和背景噪声干扰小的二值图。关于图像二值化的方法有很多,其中主要的有两种:一是全局阈值法,即根据整幅图像确定一个阈值,如简单阈值法、基于双峰直方图的二值化阈值确定法、OTSU算法(也叫大津法)、迭代法等,全局阈值法相对而言易于操作,使得前景和背景很容易分离,且直方图表现为两个波峰的图片具有最佳的效果,但对于那些因为采光不平衡或者噪声影响比较严重的图片效果不是很理想;二是局部阈值法,即将图像划分为若干个子图像,根据每个子图像确定相应的阈值,如Bernsen算法、Niblack算法、基于块分析的二值化算法等[3,5],局部阈值法对于光照不均的图像处理效果较好,但运行速率较慢,不能确保字符笔迹的通顺性,对于实时性要求较高的系统不易采用。

对小票图像进行二值化处理时,由于本文采用的小票多数是用手机在不同光照环境下拍摄的,采用单一的某种方法,没能得到理想的效果。特别是灰度化后清晰度较低的图像,二值化后产生大片白色区域。

本文采用了如下三个方法进行对比处理。

⑴ 采用直方图均衡化的方法进行图像的增强,再利用大津法进行图像的二值化。此方法对于曝光或者光照条件较强的图像效果不好,强光和弱光区域产生很强的反差。图像增强后较暗的区域二值化后会产生大片黑色区域。处理结果如图5所示。

⑵ 采用局部大津法的二值化方法,再进行中值滤波去除产生的噪声。此方法去除了部分的噪声,但是字符信息也去除了一部分。处理结果如图6所示。

⑶ 全局阈值与局部阈值相结合的方法。先采用全局阈值法对整个图像计算出阈值T,再遍历整个图像,对像素值离阈值T比较远的点通过全局法进行二值化操作。像素值距阈值T比较近的点采取局部阈值方法处理,即首先遍历其邻域,获取局部分隔阈值,再通过局部阈值法进行二值化操作。采用此方法处理效果较好,可以对大多数小票进行二值化处理[6]。其处理结果如图7所示。

1.4 平滑去噪

如果原稿不干净或图像质量较差,采集到的小票图像就会含有毛刺、污点,线画边缘凹凸不平。字符图像经过平滑处理,可以有效的去除孤立的噪声和干扰。在使用平滑处理时,要求不能损坏图像的轮廓和边缘等重要信息,而且要使图像清晰。常用的平滑处理方法有[2]:中值滤波和均值滤波。本文采用这两种方法进行滤波处理,由于均值滤波使图像中急剧变化的线和轮廓变模糊了,不可避免的丢掉了一些有用的信息,故采用中值滤波进行平滑去噪。其原理是选择一个奇数点的移动窗口作为模板,将窗口的中心点的值用窗口内各点的中值代替;中值滤波器是一种非线性平滑滤波器,它在消除噪声的同时不破坏图像的细节。

在对小票图像进行平滑处理时,采用各种模板,同时也调整了各种模板大小的参数,但是如果模板太大,处理的时间就比较长,对于实时性的系统不宜采用;如果模板太小,处理的效果就比较差,不利于后期的分割和识别。我们采用了一个5×5的模板,其处理效果最好,如图8所示。

1.5 倾斜校正

在获取小票图像时,由于纸张的放置或者纸张的运动,可能造成采集图像的倾斜,这不仅影响版面的分析及子区域的提取,还会给后续处理中的行、字分割带来非常不利的影响,因此需要进行图像的倾斜校正。图像的倾斜校正,先要检测倾斜图像的倾斜角θ,然后对图像旋转θ角度进行校正处理。图像的旋转变换为:

在这两个模块中,关键是如何检测出字符的倾斜角度。目前常用的倾斜校正方法有:常规线性角度检测法、基于Hough变换的方法、基于投影的方法,还有用傅里叶变换转换到频域进行检测的方法[4]。其中,基于投影的方法需根据图像的实际情况来确定一个合适的旋转角度的阈值,由于要对所选的方差数据进行比较,它的计算量相对较大。而Hough变换抗噪声的能力较强,且精度较高,但是计算量也很大。所以本文采用了改进的Hough变换的方法进行倾斜校正[3],改进方法对图像中进行Hough变换的点提出了要求,即:若点(x,y)为图像的前景点,则该点同列的上一行的点(x-1,y)为背景点。只有满足要求的点才进行Hough变换,进而达到减小计算量的目的。

本文利用改进的Hough变换来提取直线,然后求出直线的角度再进行旋转校正处理。对图8进行旋转校正后的结果如图9所示。

2 结束语

为了完善本文研究并使研究结果具有通用性,我们共收集了不同超市、不同大小的购物小票220张,其中也包括餐饮票据、电影票等其他公共机构的消费记录。通过在光照较强和一般光照环境下对小票进行多种角度的拍摄,再对各种小票图像进行预处理操作,得到了理想的效果,为小票图像的字符分割和识别奠定了基础。虽然本文的预处理操作可以处理绝大部分的小票图像,但对于一些人眼都无法识别的小票图像还不能得到理想的效果。在以后的工作中,对于一些较模糊的小票图像,可以在预处理中加入一些图像增强操作,通过改变二值化的模板大小,来提高二值化的处理效果。

参考文献(References):

[1] 徐艳.购物小票图像识别之预处理算法的研究[D].西华大学,

2013:8-27

[2] 陈欢.购物小票图像分割算法的研究[D].西华大学,2013:16-27

[3] 何耘娴.印刷体文档图像的中文字符识别[D].燕山大学,

2011:16-27

[4] 张爱娟.基于结构特征点的字符分割技术的研究[D].西安电

子科技大学,2014:17-19

[5] 孙彩虹.自然场景中路牌汉字识别技术研究[D].南京理工大

学,2014:42-46

[6] 索玉秀.基于OCR技术的名片识别方法研究[D].哈尔滨理工

大学,2015:19-23