图表识别的方法及装置的制造方法
【技术领域】
[0001]本发明涉及图像识别领域,具体而言,涉及一种图表识别的方法及装置。
【背景技术】
[0002]图文识别又叫光学字符识别(Optical Character Recognit1n, OCR)是指:电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字信息的过程。现有的图文识别一般只注重文字的识别,对图表不能识别或识别效果较差,使得图文识别技术的适用受到局限。
【发明内容】
[0003]有鉴于此,本发明的目的在于提供一种图表识别的方法,能够提高表格识别的准确度,增加图文识别技术的适用范围。
[0004]本发明是这样实现的:
[0005]第一方面,本发明实施例提供了一种图表识别的方法,应用于图表识别的装置,所述图表识别的方法包括:
[0006]加载待识别的图片,将该图片二值化得到二值图片,为所述二值图片的每个像素点赋予坐标信息,对所述二值图片进行倾斜校正处理;所述方法还包括以下步骤:
[0007]遍历所述二值图片,y轴坐标相同且像素点连续为I的像素点组成横线,X轴坐标相同且像素点连续为I的像素点组成竖线,记录所述横线和所述竖线的交点的坐标信息;其中所述待识别的图片包括的文字或表格线条对应的像素点二值化为所述二值图片中的1,所述待识别的图片中空白处对应的像素点二值化为所述二值图片中的O ;
[0008]选取任意交点为起点,顺时针或逆时针读取与所述起点相邻的交点的坐标信息,记录最小闭环路径经过的交点的坐标信息;
[0009]根据所述最小闭环路径经过的交点的坐标信息确定被所述最小闭环路径包绕的单元格的数量;
[0010]根据所述最小闭环路径经过的交点的坐标信息和被所述最小闭环路径包绕的单元格的数量生成表格。
[0011]结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中所述选取任意交点为起点,顺时针或逆时针读取与所述起点相邻的交点的坐标信息,记录最小闭环路径经过的交点的坐标信息,包括:
[0012]判断距离所述二值图片中任一交点的正上方、正下方、正左方和正右方最近的四个交点,将所述四个交点的坐标信息记录到所述任一交点的属性中,若所述正上方、正下方、正左方或正右方不存在交点,则标记空白;
[0013]选取所述二值图片中任意交点为起点,读取所述起点的属性里记录的交点的坐标信息,找到与所述起点的X坐标值相同的交点al,根据所述交点al的属性再找到与所述交点al的Y坐标值相同的交点bl,根据所述交点bl的属性找到与所述交点bl的x坐标值相同的交点cl ;其中所述交点cl的y坐标值与所述起点的y坐标值相同,所述起点、交点al、交点bl、交点cl和起点形成最小闭环路径,记录所述起点、交点al、交点bl和交点cl的坐标?目息O
[0014]结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中顺时针读取时,从起点经交点al、交点bl、交点Cl再到起点的路径为顺时针;
[0015]所述找到与所述起点的X坐标值相同的交点al,包括:根据所述起点的属性找到与所述起点的X坐标值相同的交点,并标识为交点d,根据所述交点d的属性找到与所述交点d的y坐标值相同的交点,并标识为交点e,判断从所述起点经过所述交点d到所述交点e的路径是否为顺时针,若所述起点经过所述交点d到所述交点e的路径为顺时针,则所述交点d为所述交点al ;若所述起点经过所述交点d到所述交点e的路径为逆时针,则重新标识所述交点d为中间交点dx,记录所述中间交点dx,根据所述中间交点dx的属性找到与所述中间交点dx的X坐标值相同的交点,并重新标识为交点d,根据重新标识的所述交点d的属性找到与重新标识的所述交点d的y坐标值相同的交点,并重新标识为交点e,再次判断从所述起点经过重新标识的所述交点d再到重新标识的所述交点e的路径是否为顺时针;
[0016]所述根据所述交点al的属性再找到与所述交点al的y坐标值相同的交点bl,包括:根据所述交点e的属性找到与所述交点e的X坐标值相同的交点,并标识为交点f,判断从所述交点al经过所述交点e到所述交点f的路径是否为顺时针,若所述交点al经过所述交点e到所述交点f的路径为顺时针,则所述交点e为所述交点bl ;若所述交点al经过所述交点e到所述交点f的路径为逆时针,则重新标识所述交点e为中间交点ex,记录所述中间交点ex,根据所述中间交点ex的属性找到与所述中间交点ex的y坐标值相同的交点,并重新标识为交点e,根据重新标识的所述交点e的属性找到与重新标识的所述交点e的X坐标值相同的交点,并重新标识为交点f,再次判断从所述交点al经过重新标识的所述交点e再到重新标识的所述交点f的路径是否为顺时针;
[0017]所述根据所述交点bl的属性找到与所述交点bl的X坐标值相同的交点Cl,包括:根据所述交点f的属性找到与所述交点f的I坐标值相同的交点,并标识为交点g,判断从所述交点bl经过所述交点f到所述交点g的路径是否为顺时针,若所述交点bl经过所述交点f到所述交点g的路径为顺时针,则所述交点f为所述交点Cl ;若所述交点bl经过所述交点f到所述交点g的路径为逆时针,则重新标识所述交点f为中间交点fx,记录所述中间交点fx,根据所述中间交点fx的属性找到与所述中间交点的X坐标值相同的交点,并重新标识为交点f,根据重新标识的所述交点f的属性找到与重新标识的所述交点f的y坐标值相同的交点,并重新标识为交点g,再次判断从所述交点bl经过重新标识的所述交点f再到重新标识的所述交点g的路径是否为顺时针;
[0018]判断所述交点g的坐标与所述起点的坐标是否相同,若所述交点g的坐标与所述起点的坐标不同,贝lJ重新标识所述交点g为中间交点gx,记录所述中间交点gx,并根据所述中间交点gx的属性找到与所述中间交点gx的I相同的交点,并重新标识为交点g,再次判断重新标识的所述交点g的坐标与所述起点的坐标是否相同;
[0019]记录所述起点、所述交点al、所述交点bl和所述交点cl的坐标信息。
[0020]结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中所述根据所述最小闭环路径的经过的交点的坐标信息确定被所述最小闭环路径包绕的单元格的数量,包括:
[0021 ] 所述中间交点dx、所述中间交点ex、所述中间交点f x和所述中间交点gx的个数分别为Dl、D2、D3和D4,其中所述Dl个中间交点中与所述D3个中间交点中x坐标值或y坐标值相同的中间交点的个数为V ;其中所述D2个中间交点中与所述D4个中间交点中X坐标值或I坐标值相同的中间交点的个数为W ;D1、D2、D3、D4、V和W均为大于或等于O的整数;
[0022]计算Z = (D1+D3-V+1) X (D2+D4-W+1),其中Z为顺时针读取时起点、al、bl、cl和起点形成的最小闭环路径所包绕的单元格的数量。
[0023]结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中所述根据所述最小闭环路径经过的交点的坐标信息和被所述最小闭环路径包绕的单元格的数量生成表格,包括:
[0024]根据所述起点、所述交点al、所述交点bl、所述交点cl的坐标信息和所述中间交点dx、所述中间交点ex、所述中间交点fx、所述中间交点gx的坐标信息,以及Z,生成表格。
[0025]结合第一方面的第一种、第二种、第三种或第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中所述方法还包括:
[0026]遍历所述最小闭环路径所包绕的二值图片,对所述最小闭环路径所包绕的二值图片X坐标值相同且像素点全为O的像素点组成的线条进行剪切,再对所述最小闭环路径所包绕的二值图片y坐标值相同且像素点全为O的像素点组成的线条进行剪切,得到二值图片块,所述两个线条各自的两端均连接所述最小闭环路径;
[0027]将所述二值图片块转化为二值字符串,所述二值字符串与二值化后的字库的编码进行匹配,记录匹配出的文字及记录匹配出的文字的坐标信息;
[0028]根据匹配出的文字的坐标信息,将所述匹配出的文字填充进所述生成的表格。
[0029]结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中若匹配出的是文字的偏旁或部首,则将所述二值图片块与紧邻的前或后的二值图片块组合,再将组合后的二值图片块转化为二值字符串,再次与所述二值化