您的当前位置:首页正文

基于OCR的邮件信息识别系统

2020-01-07 来源:爱go旅游网
广东科技学院

基于OCR的邮件信息识别系统

叶选华

(广东科技学院)

摘要

邮件分拣的主要任务是把邮件按照业务品种、邮件种类或地址等信息进行分离,而邮件分拣的一个重要环节是对邮件信息进行识别和理解。为提高邮件分拣的效率,优化业务处理流程,需设计一套邮件自动分拣系统,本文根据OCR技术进行了邮件自动分拣系统信息识别部分的探讨,包括OCR原理以及应用于邮件信息识别中的工作流程。

关键词:OCR,自动分拣机,数字图像处理,Sobel算子

1. 我国邮件自动分拣系统现状

我国自动分拣机的应用大约始于1980 年代,近期的市场兴起和技术发展始于1997 年。自动分拣的概念先在机场行李处理和邮政处理中心得到应用,然后普及到其他行业。随着业界对现代化物流的实际需求的增长,各行业对高速精确的分拣系统的要求正在不断地提高。这一需求最明显地表现在烟草、医药、图书及超市配送领域,并有望在将来向化妆品及工业零配件等领域扩展。这些领域的一个共同特点是产品的种类繁多、附加值高、配送门店数量多、准确性要求高和人工处理效率低等特点。

2.OCR简介

1

广东科技学院

2.1.OCR的概念

OCR是英文Optical Character Recognition的缩写,中文意思就是通过光学技术对文字进行识别。它产生于1929年,由德国的科学家Tausheck首先提出,并且申请了专利。几年后,美国科学家Handel也提出利用技术对文字进行识别的想法。但这种梦想直到计算机的诞生才变成为现实。现在这一技术已经由计算机来实现,OCR的意思也就演变成为利用光学技术对文字和字符进行扫描识别,并将其转化成计算机内码。

2.2.OCR的发展

大致可分为三个阶段。第一阶段始于60年代初期,只能识别印刷体的数字,英文字母和部分符号;第二阶段是基于手写体字符的识别,前期只限于手写体数字的识别,从时间上来看,是60年代中期到70年代初期;第三阶段主要解决的技术问题就是对于质量较差的文档及大字符集的识别,例如汉字的识别。

2.3.我国OCR技术的发展

我国在OCR技术方面的研究工作起步较晚,在70年代才开始对数字、英文字母及符号的识别进行研究;70年代末开始进行汉字识别的研究;到1986年汉字识别的研究进入一个实质性的阶段,取得了较大的成果,不少研究单位相继推出了中文OCR产品。

时至今日,对印刷体汉字的识别率达到98%以上,可识别宋体、黑体、楷体、仿宋体、繁体等多种字体,并且可以对多种字体、不同字号混合排版进行识别;对手写体汉字的识别率达到70%以上。国家的“863计划”对OCR技术的研究给予了很大的资助,促使OCR的研究取得了重大进展。

2

广东科技学院

3.OCR技术识别邮件的过程

邮件识别涉及到OCR技术几乎所有方面,包括图像预处理、版面分析、文本提取、手写数字识别、字符分割、后处理等,是一个非常复杂的系统工程。信封图像经预处理之后,进行版面分析并从版面分析得到的邮政编码块中提取邮政编码。然后借助地址库,建立后处理规则。

4.信封预处理

邮件封面通过摄像头拍照,即可得到信封图像,而原始的信封图像会存在噪声点,倾斜,对比度较低等一系列问题,对接下来的版面分析与理解造成影响,因此,需要对原始信封图像进行预处理。通常,信封图像预处理包括以下几项任务:图像二值化,平滑处理,除去噪声和倾斜矫正等。

4.1.信封图像的平滑处理

图像中往往包含各种各样的噪声,这些噪声都是大小不规则而又随机分布的,对后续处理产生较大干扰。而图像平滑处理的主要目的就是去除噪声。常用的图像平滑方法有均值滤波和中值滤波法。

均值滤波器是线性平滑滤波器,其所有系数都是正数对3×3模板来说,最简单的是取所有系数为1,为了保持图像仍然在原来图像的灰度值范围内,模块与像素领域的乘积都要除以9。

中值滤波器是一种常用的非线性平滑滤波器,其原理与均值滤波器原理类似,但计算

3

广东科技学院

的不是加权求和,而是把领域中的图像的像素按灰度级进行排序,然后选择组的中间值作为输出像素值。

原图添加椒盐噪声图像平均滤波中值滤波

matlab均值滤波和中值滤波效果

4.2.倾斜校正

由于人为因素和摄像工具走纸机构的机械误差的影响,信封图像普遍存在一定角度的倾斜,而版面分析算法对信封的倾斜非常敏感,于是,倾斜校正就显得尤为重要。

在进行倾斜校正前,需要先对信封图像进行边缘检测,找到信封边缘,本文采用sobel算子进行边缘检测。该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值,假设A为信封图像,Gx和

4

Gy表示经纵

广东科技学院

向和横向边缘检测的图像,其核心公式为:

101AGx202101 121AGy000121

其梯度幅值用如下公式计算:

2GGx2Gy 检测出图像中的直线之后,需要对倾斜角度进行计算,这是倾斜矫正的关键步骤,常用的倾斜角计算方法有:Hough变换法、Radon变换法、最小二乘法和两点法四种方法。

5.版面分析与理解

版面分析与理解的主要任务是将经过预处理的信封图像进行拆解,并根据拆解出来的每一个模块的特征和先验知识初步判断每个模块的大致内容,一般被拆解出来的模块包括邮政编码块、收件人姓名地址块、寄件人姓名地址块等。

5.1.版面拆解

根据现有研究成果,版面的拆解可大致分为3类:自顶向下、自底向上和综合方法。自顶向下的以Nagy提出的X-Y cuts算法为典型,自底向上的有O’Gorman提出的Docstrum算法。

5.2.信封的理解

5

广东科技学院

为了处理版面具有较大变化的信封图像,我们需要在系统中嵌入图像的相关知识,以便使用这些知识指导图像逻辑结构的分析,然后将这些先验知识与图像控制和策略规则组合起来,形成理解模块,例如,使用信封类型相关和无关两层知识分析理解。

6.邮政编码的提取与识别

从邮政编码图像块中提取单个数字图像分为两个过程:邮政编码框的定位和数字图像的提取,具体算法如下。

1)找出邮政编码方框。一是对地址块内的基本块按左右顺序排序,用属性表示序号;二是求字宽,字距。

2)剔除邮政编码方框,得到数字。剔除方框时分为几种情况,一是对于数字写得比较规范的、在方框里的情况;二是数字与方框有粘连的情况;三是数字写出方框外的情况。这些都要分别处理。

7.后处理

经过前面过程识别出的邮政编码,必须对识别结果进行后处理,即结合信封的信息和邮政地址库进行识别结果校正,并对校正过的信息进行数字编码,以提高分拣正确率,方便机器分拣。由于印刷体信封的数字识别率很高,不需要进行多路径的分割,所以后处理时只需对邮政编码的识别结果跟地址库进行对照和校正,并进行数字编码即可。对于手写信封,特别是对于非常潦草的书写,分割正确率和单字识别率都很低,后处理更加关键和复杂。

6

广东科技学院

8.附件

8.1.均值滤波matlab实现

%x是需要滤波的图像,n是模板大小(即n×n)

function d=avg_filter(x,n)

a(1:n,1:n)=1;

[height, width]=size(x);

x1=double(x);

x2=x1;

for i=1:hight-n+1

for j=1:width-n+1

c=x1(i:i+(n-1),j:j+(n-1)).*a;

s=sum(sum(c));

x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);

7

广东科技学院

end

end

d=uint8(x2);

8.2.中值滤波matlab实现

a=imread('lena_0.005.bmp');

a=double(a);

[dep,wide]=size(a);

new_image=ones(size(a));

for i=3:dep-2

for j=3:wide-2

new_image(i,j)=median([a(i-2,j-2) a(i-2,j-1) a(i-2,j) a(i-2,j+1) a(i-2,j+2) a(i-1,j-2) a(i-1,j-1) a(i-1,j) a(i-1,j+1) a(i-1,j+2) a(i,j-2) a(i,j-1) a(i,j) a(i,j+1) a(i,j+2) a(i+1,j-2) a(i+1,j-1) a(i+1,j) a(i+1,j+1) a(i+1,j+2) a(i+2,j-2) a(i+2,j-1) a(i+2,j) a(i+2,j+1) a(i+2,j+2)]);

end

8

广东科技学院

end

for i=3:dep-2

new_image(i,1)=new_image(i,3);

new_image(i,2)=new_image(i,3);

new_image(i,wide)=new_image(i,wide-2);

new_image(i,wide-1)=new_image(i,wide-2);

end

new_image(1,:)=new_image(3,:);

new_image(2,:)=new_image(3,:);

new_image(dep,:)=new_image(dep-2,:);

new_image(dep-1,:)=new_image(dep-2,:);

figure

imshow(uint8(a))

9

广东科技学院

figure

imshow(uint8(new_image))

% imwrite(uint8(new_image),'lena_0.005_median_5.bmp','bmp')

参考文献:

[1] 明底烈,柳健. 小角度倾斜图像的倾斜快速检测和校正方法[ J ] . 华中理工大学

学报,2000. 28.

[2] 戴汝为. 汉字识别的系统与集成 [M ]. 浙江科学技术出版社,1998.

[3] 孟侃良. 认清OCR. 中国计算机报,总期号:759,1998.09

[4] 阮秋琦. 阮宇智. 数字图像处理. 电子工业出版社,2006.

[5] G.Nagy, S.Seth, and S.Stoddard, “Document Analysis with an Expert

System”, Pattern Recognition in Practice II, Elsevier Science, 1984.

10

因篇幅问题不能全部显示,请点此查看更多更全内容