一种手写表格的智能识别方法及系统的制作方法
【专利摘要】本发明公开了一种手写表格的智能识别方法及系统,其中,该方法包括:对拍摄到的手写表格图片进行预处理后,依次进行差分处理及霍夫hough变换,获得角度校正后的手写表格图片;对所述角度校正后的手写表格图片进行分割,获得包含手写部分的若干个矩形区域;基于特征或分类器对所述若干个矩形区域中内容进行分析与识别。通过采用本发明公开的方法及系统,能够快速且准确的对手写表格进行识别。
【专利说明】一种手写表格的智能识别方法及系统
【技术领域】
[0001] 本发明涉及智能图像分析【技术领域】,尤其涉及一种手写表格的智能识别方法及系 统。
【背景技术】
[0002] 表格是文档中常用的数据资料载体,目前,在商业、社会调查等各种场合都有大量 的应用。但是表格结果统计分析又往往是一件工作量巨大的工作,其中在传统的评测表格 的统计中,常需要人去手工去完成,极大地浪费了人力、物力。
[0003] 目前存在的表格识别系统可分为两类:
[0004] 不受限表格识别:识别前没有表格的先验结构信息,主要是通过对图片进行表格 结构分析,得到表格的结构后再进行字符提取并识别。其算法复杂,且识别效果受图象质量 影响很明显,检测错误率较高。
[0005] 受限表格识别:识别前已拥有表格的结构信息,用户可利用这些信息来帮助分析 和识别,这种结构已知的表格被称为受限表格。受限表格识别可以极大提高计算机识别表 格的准确率和速度,但识别的表格格式固定,通常只有几种,想增加表格格式比较困难。
[0006] 综上所述,现有技术能够准确识别的表格类型较少,且存在准确率较低、速度较慢 的问题。
【发明内容】
[0007] 本发明的目的是提供一种手写表格的智能识别方法及系统,能够快速且准确的对 手写表格进行识别。
[0008] 本发明的目的是通过以下技术方案实现的:
[0009] (与权利要求书对应)。
[0010] 由上述本发明提供的技术方案可以看出,通过校正手写表格图片,并提取出表格 图片中的手写区域,即可实现快速且准确的识别,该方法有较强的实用性,对表格设计、印 刷和图片采集的要求不高,且适用于多种手写评测表格,鲁棒性较强。
【专利附图】
【附图说明】
[0011] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 附图。
[0012] 图1为本发明实施例一提供的一种手写表格的智能识别方法的流程图;
[0013] 图2为本发明实施例一提供的一种拍摄的手写表格图片的示意图;
[0014] 图3为本发明实施例一提供的一种校正后的手写表格图片的示意图;
[0015] 图4为本发明实施例一提供的一种提取出的完整手写表格图片区域的示意图;
[0016] 图5为本发明实施例一提供的一种提取出的手写表格图片中一个矩形区域的示 意图;
[0017] 图6为本发明实施例二提供的一种手写表格的智能识别系统的示意图。
【具体实施方式】
[0018] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明的保护范围。
[0019] 实施例一
[0020] 图1为本发明实施例一提供的一种手写表格的智能识别方法的流程图。如图1所 示,该方法主要包括如下步骤:
[0021] 步骤11、对拍摄到的手写表格图片进行预处理后,依次进行差分处理及霍夫 hough变换,获得角度校正后的手写表格图片。
[0022] 在实际工作中,由于在图片采集过程中,会存在拍摄角度、抖动等因素,会对图像 造成一定程度的失真。
[0023] 示例性的,图2为拍摄的手写表格图片,可通过本步骤对其进行校正处理;具体 的:
[0024] 首先,对所述手写表格图片灰度化后,使用最大类间差法得到全局阈值,并进行二 值化后,得到图片Fl;
[0025] 其次,对所述图片Fl进行竖直方向的差分,获得差分处理后的图片F2 :
[0026] F2(i,j) = |Fl(i+l,j)-Fl(i,j) | ;
[0027] 其中,i,j分别表示像素所在的行和列。
[0028] 经过差分处理后,可以将图像中的横线很好的保存下来,将竖线去除,并将图片中 文字部分的影响程度极大地降低。
[0029] 再利用hough变换对差分处理后的图片F2进行直线检测,获得图片F2中最长的 N条直线的倾斜角度,并求得其平均值a;例如,N为3时,最长的3条直线的倾斜角度分别 为al,a2,a3,则其平均值a= (al+a2+a3)/3。
[0030] 最后,利用双线性差值的方法对所述图片Fl进行反方向旋转a度,得到如图3所 示的角度校正后的手写表格图片。
[0031] 步骤12、对所述角度校正后的手写表格图片进行分割,获得包含手写部分的若干 个矩形区域。
[0032] 对于倾斜校正后的图片,我们需要对其中的表格填写部分进行两次提取过程,第 一次是对表格整体的提取,第二次是对表格中手写部分的提取;具体的:
[0033] 1)对角度校正后的手写表格图片进行多次竖直方向的差分处理,获得差分处理后 的图片G1,这样可以极大程度的保存横线部分,并去除掉竖线以及文字的干扰;再对所述 图片Gl进行水平方向的投影,获得数组Pl;分别从数组Pl的开始处和结尾处往中间搜索, 找到第一个大于width/2的极大值,并作为表格整体的上下边界,标记其位置为y0与yl; 其中,width表示图片Gl的宽度;
[0034] 2)对角度校正后的手写表格图片进行水平方向的差分处理,获得差分处理后的图 片G2,这样可以极大程度的保存竖线部分,并去除掉横线以及文字的干扰;再对所述图片 G2进行竖直方向的投影,获得数组P2 ;分别从数组P2的开始处和结尾处往中间搜索,找到 第一个大于height/2的极大值,并作为表格整体的左右边界,标记其位置为x0与xl;其 中,height表示图片G2的高度;
[0035] 3)利用获得的位置xO、xl、y0与yl分割所述图片G1,获得完整的手写表格图片 G3(如图4所示);
[0036] 4)根据先验知识(可以预先获得,并在该步骤时直接调用),获得所述手写表格图 片中需要人手工填写部分的行数L与列数C;对所述图片G3进行水平方向投影,获得数组 P3,从后处往前查找,依次找出前L+1个值大于width/4的极大值并记录入数组Ql中;对 所述图片G3进行竖直方向投影,获得数组P4,从后处往前查找,依次找出前C+1个值大于 height/4的极大值并记录入数组Q2中;其中,所述数组Ql与数组Q2包含表格手写部分的 所有直线位置,共L+1条和C+1条直线;对于手写部分的第i行与第j列,其矩形的四个点 坐标为(Ql[i-l],Q2[j_l]) ;(Ql[i_l],Q2[j]) ;(Ql[i],Q2[j-l]) ;(Ql[i+l],Q2[j+l]);
[0037] 5)对于手写部分的矩形分布,在四个坐标的基础上往里缩进n个像素点距离,依 次提取出LXC个矩形区域Gu (如图5所示)。
[0038] 步骤13、基于特征或分类器对所述若干个矩形区域中内容进行分析与识别。
[0039] 本发明实施例中,对于手写符号,则通过分析符号的特征进行识别;
[0040] 对于手写的文字内容,则利用SVM(支持向量机)分类器进行识别。
[0041] 其中,所述利用支持向量机SVM分类器进行识别包括:
[0042] 对每一矩形区域Gij进行滤波处理,提取出包含手写区域的最小矩形图片MO;若该 图片MO的区域小于阈值,则判定该矩形区域Gu中未填写内容;
[0043] 否则,将图片MO归一化成像素为50X50的标准图片M,并对该图片M进行网格特 征及笔画特征提取;对于网格特征,将该图片M分为25个10X10的格子,统计每个格子中 的黑色像素的个数形成前25维特征;对于笔画特征,在该图片M中横、竖与斜的方向上画出 8条扫描线,计算每条线上的经过的黑色线段的数量作为后8维特征;
[0044] 将根据训练样本所得到的网格特征和笔画特征放入SVM训练器内,根据填写内容 的种类来训练(例如,图4中填写内容为两类),若填写内容只有两类情况,则直接来训练; 若有k类情况,k>2,则每次取两种类别的样本作为正、负样本进行训练,共得到(k-1)Xk/2 个分类器;进行识别时,对每种类别设定一个计数器初始化为〇, 一次使用(k-1)Xk/2个分 类器进行识别,在分类器输出的类别对应的计数器加1,最后找出k个计数器中的最大值, 其对应的类别即为最终识别结果。
[0045] 示例性的,采用上述方法对图4进行识别后,进行排序,识别的结果如表1所示:
[0046]
【权利要求】
1. 一种手写表格的智能识别方法,其特征在于,该方法包括: 对拍摄到的手写表格图片进行预处理后,依次进行差分处理及霍夫hough变换,获得 角度校正后的手写表格图片; 对所述角度校正后的手写表格图片进行分割,获得包含手写部分的若干个矩形区域; 基于特征或分类器对所述若干个矩形区域中内容进行分析与识别。
2. 根据权利要求1所述的方法,其特征在于,所述对拍摄到的手写表格图片进行预处 理后,依次进行差分处理及霍夫hough变换,获得角度校正后的手写表格图片包括: 对所述手写表格图片灰度化后,使用最大类间差法得到全局阈值,并进行二值化后,得 到图片F1 ; 对所述图片F1进行竖直方向的差分,获得差分处理后的图片F2 : F2(i, j) = |Fl(i+l, j)-Fl(i, j) | ; 利用hough变换对差分处理后的图片F2进行直线检测,获得图片F2中最长的N条直 线的倾斜角度,并求得其平均值a ; 利用双线性差值的方法对所述图片F1进行反方向旋转a度,得到角度校正后的手写表 格图片。
3. 根据权利要求1所述的方法,其特征在于,对所述角度校正后的手写表格图片进行 分割,获得包含手写部分的若干个矩形区域包括: 对角度校正后的手写表格图片进行多次竖直方向的差分处理,获得差分处理后的图片 G1 ;对所述图片G1进行水平方向的投影,获得数组P1 ;分别从数组P1的开始处和结尾处往 中间搜索,找到第一个大于width/2的极大值,并作为表格整体的上下边界,标记其位置为 y〇与yl ;其中,width表示图片G1的宽度; 对角度校正后的手写表格图片进行水平方向的差分处理,获得差分处理后的图片G2 ; 对所述图片G2进行竖直方向的投影,获得数组P2 ;分别从数组P2的开始处和结尾处往中 间搜索,找到第一个大于height/2的极大值,并作为表格整体的左右边界,标记其位置为 xO与xl ;其中,height表示图片G2的高度; 利用获得的位置x〇、xl、y〇与yl分割所述图片G1,获得完整的手写表格图片G3 ; 根据先验知识,获得所述手写表格图片中需要人手工填写部分的行数L与列数C ;对 所述图片G3进行水平方向投影,获得数组P3,从后处往前查找,依次找出前L+1个值大于 width/4的极大值并记录入数组Q1中;对所述图片G3进行竖直方向投影,获得数组P4,从 后处往前查找,依次找出前C+1个值大于height/4的极大值并记录入数组Q2中;其中,所 述数组Q1与数组Q2包含表格手写部分的所有直线位置,共L+1条和C+1条直线;对于手写 部分的第i行与第j列,其矩形的四个点坐标为(Ql[i_l],Q2[j_l]) ;(Ql[i_l],Q2[j]); (Ql[i],Q2[j-l]) ;(Ql[i+l],Q2[j+l]); 对于手写部分的矩形分布,在四个坐标的基础上往里缩进n个像素点距离,依次提取 出LXC个矩形区域Gy。
4. 根据权利要求1所述的方法,其特征在于,所述基于特征或分类器对所述若干个矩 形区域中内容进行分析与识别包括: 对于手写符号,则通过分析符号的特征进行识别; 对于手写的文字内容,则利用支持向量机SVM分类器进行识别。
5. 根据权利要求4所述的方法,其特征在于,所述利用支持向量机SVM分类器进行识别 包括: 对每一矩形区域匕」进行滤波处理,提取出包含手写区域的最小矩形图片M0 ;若该图片 M0的区域小于阈值,则判定该矩形区域中未填写内容; 否则,将图片M0归一化成像素为50X50的标准图片M,并对该图片M进行网格特征及 笔画特征提取;对于网格特征,将该图片M分为25个10X 10的格子,统计每个格子中的黑 色像素的个数形成前25维特征;对于笔画特征,在该图片M中横、竖与斜的方向上画出8条 扫描线,计算每条线上的经过的黑色线段的数量作为后8维特征; 将根据训练样本所得到的网格特征和笔画特征放入SVM训练器内,根据填写内容的种 类来训练,若填写内容只有两类情况,则直接来训练;若有k类情况,k>2,则每次取两种类 别的样本作为正、负样本进行训练,共得到(k-1) Xk/2个分类器;进行识别时,对每种类别 设定一个计数器初始化为〇,一次使用(k-1) Xk/2个分类器进行识别,在分类器输出的类 别对应的计数器加1,最后找出k个计数器中的最大值,其对应的类别即为最终识别结果。
6. -种手写表格的智能识别系统,其特征在于,该系统包括: 校正模块,用于对拍摄到的手写表格图片进行预处理后,依次进行差分处理及霍夫 hough变换,获得角度校正后的手写表格图片; 矩形区域提取模块,用于对所述角度校正后的手写表格图片进行分割,获得包含手写 部分的若干个矩形区域; 识别模块,用于基于特征或分类器对所述若干个矩形区域中内容进行分析与识别。
7. 根据权利要求6所述的系统,其特征在于,所述角度校正模块包括: 二值化模块,用于对所述手写表格图片灰度化后,使用最大类间差法得到全局阈值,并 进行二值化后,得到图片F1 ; 差分处理模块,用于对所述图片F1进行竖直方向的差分,获得差分处理后的图片F2 : F2(i, j) = |Fl(i+l, j)-Fl(i, j) | ; 倾斜角平均值计算模块,用于利用hough变换对差分处理后的图片F2进行直线检测, 获得图片F2中最长的N条直线的倾斜角度,并求得其平均值a ; 角度校正模块,用于利用双线性差值的方法对所述图片F1进行反方向旋转a度,得到 角度校正后的手写表格图片。
8. 根据权利要求6所述的系统,其特征在于,所述矩形区域提取模块包括: 上下边界确定模块,用于对角度校正后的手写表格图片进行多次竖直方向的差分处 理,获得差分处理后的图片G1 ;对所述图片G1进行水平方向的投影,获得数组P1 ;分别从 数组P1的开始处和结尾处往中间搜索,找到第一个大于width/2的极大值,并作为表格整 体的上下边界,标记其位置为y〇与yl ;其中,width表示图片G1的宽度; 左右边界确定模块,用于对角度校正后的手写表格图片进行水平方向的差分处理,获 得差分处理后的图片G2 ;对所述图片G2进行竖直方向的投影,获得数组P2 ;分别从数组P2 的开始处和结尾处往中间搜索,找到第一个大于height/2的极大值,并作为表格整体的左 右边界,标记其位置为x0与xl ;其中,height表示图片G2的高度; 手写表格图片获取模块,用于利用获得的位置x〇、xl、y0与yl分割所述图片G1,获得 完整的手写表格图片G3 ; 直线位置获取模块,用于根据先验知识,获得所述手写表格图片中需要人手工填写部 分的行数L与列数C ;对所述图片G3进行水平方向投影,获得数组P3,从后处往前查找,依 次找出前L+1个值大于width/4的极大值并记录入数组Q1中;对所述图片G3进行竖直方 向投影,获得数组P4,从后处往前查找,依次找出前C+1个值大于height/4的极大值并记录 入数组Q2中;其中,所述数组Q1与数组Q2包含表格手写部分的所有直线位置,共L+1条和 C+1条直线;对于手写部分的第i行与第j列,其矩形的四个点坐标为(Ql[i-l],Q2[j-l]); (Ql[i-l],Q2[j]) ;(Ql[i],Q2[j-l]) ;(Ql[i+l],Q2[j+l]); 手写部分的矩形区域提取模块,用于对于手写部分的矩形分布,在四个坐标的基础上 往里缩进n个像素点距离,依次提取出LXC个矩形区域Gy
9. 根据权利要求6所述的系统,其特征在于,所述识别模块包括: 手写符号识别模块,用于对于手写符号,则通过分析符号的特征进行识别; 手写文字内容识别模块,对于手写的文字内容,则利用支持向量机SVM分类器进行识 别。
10. 根据权利要求9所述的系统,其特征在于, 所述手写文字内容识别模块,还用于对每一矩形区域Gy.进行滤波处理,提取出包含手 写区域的最小矩形图片M0 ;若该图片M0的区域小于阈值,则判定该矩形区域Gy中未填写 内容; 否则,将图片M0归一化成像素为50X50的标准图片M,并对该图片M进行网格特征及 笔画特征提取;对于网格特征,将该图片M分为25个10X 10的格子,统计每个格子中的黑 色像素的个数形成前25维特征;对于笔画特征,在该图片M中横、竖与斜的方向上画出8条 扫描线,计算每条线上的经过的黑色线段的数量作为后8维特征; 将根据训练样本所得到的网格特征和笔画特征放入SVM训练器内,根据填写内容的种 类来训练(例如,图4中填写内容为两类),若填写内容只有两类情况,则直接来训练;若有 k类情况,k>2,则每次取两种类别的样本作为正、负样本进行训练,共得到(k-1) X k/2个分 类器;进行识别时,对每种类别设定一个计数器初始化为〇, 一次使用(k-1) Xk/2个分类器 进行识别,在分类器输出的类别对应的计数器加1,最后找出k个计数器中的最大值,其对 应的类别即为最终识别结果。
【文档编号】G06K9/20GK104484643SQ201410586463
【公开日】2015年4月1日 申请日期:2014年10月27日 优先权日:2014年10月27日
【发明者】董兰芳, 谢永祥 申请人:中国科学技术大学