
1.本技术涉及图像处理技术领域,具体而言,涉及一种表格信息提取的方法及电子设备。
背景技术:2.随着互联网技术的迅速发展,用户通常可以通过图像界面与机器进行更有效的交互。机器将信息进行整理与计算后,通常采用表格的形式展示处理后的信息,以向用户直观展示数据的逻辑结构。为便于图像界面中表格内容的查询以及获取,通常需要识别图像界面中的表格信息。
3.现有技术下,通常采用人工的方式,记录图像界面中的表格的结构以及位置等表格信息。但是,采用这种方式,这会耗费的大量的人力成本和时间成本。
技术实现要素:4.本技术实施例的目的在于提供一种表格信息提取的方法及电子设备,用以在提取图像界面中的表格信息时,降低耗费的人力成本和时间成本。
5.一方面,提供一种表格信息提取的方法,包括:
6.确定待处理图像中的背景区域,背景区域为待处理图像中未包含文本信息的区域;
7.根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量,某一纵坐标的像素数量表示背景区域中像素的纵坐标为某一纵坐标的数量;某一横坐标的像素数量表示背景区域中像素的横坐标为某一横坐标的数量;
8.根据各纵坐标的像素数量,以及各横坐标的像素数量,确定目标表格的各个表格行坐标以及各个表格列坐标;
9.根据目标表格的各个表格行坐标以及各个表格列坐标,获得目标表格的表格信息。
10.在上述实现过程中,根据待处理图像的背景区域中各像素的分布,确定表格行坐标以及表格列坐标,进而根据表格行坐标以及表格列坐标,获取表格信息,降低了图像界面中表格信息提取时耗费的人力成本和时间成本。
11.一种实施方式中,确定待处理图像中的背景区域,包括:
12.对待处理图像进行二值化处理,获得二值化图像,二值化图像中像素的灰度值为设定前景灰度值或设定背景灰度值;
13.基于二值化图像中设定背景灰度值的像素,确定待处理图像中的背景区域。
14.一种实施方式中,对待处理图像进行二值化处理,获得二值化图像,包括:
15.从待处理图像中筛选出灰度值符合设定背景灰度条件的像素;
16.将筛选出的像素的灰度值,调整为设定背景灰度值;
17.将待处理图像中未被筛选出的像素的灰度值,调整为设定前景灰度值,获得二值
化图像;设定背景灰度值大于设定前景灰度值。
18.一种实施方式中,在从待处理图像中筛选出灰度值符合设定背景灰度条件的像素之前,方法还包括:
19.若确定待处理图像中存在灰度值高于第一局部环境灰度值的文本信息,且存在灰度值低于第二局部环境灰度值的文本信息,则针对待处理图像中不同的局部区域设置不同的设定背景灰度条件。
20.一种实施方式中,在根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量之前,方法还包括:
21.对待处理图像进行直线检测,获得待处理图像中的直线;
22.从待处理图像中去除检测出的直线。
23.一种实施方式中,根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量,包括:
24.采用第一直线核,对二值化图像进行开操作,获得第一开操作图像,以保留二值化图像中大于第一直线核的尺寸的背景区域;第一直线核的宽度大于高度;
25.根据第一开操作图像的背景区域中的各像素的纵坐标,分别统计每一纵坐标的像素数量;
26.采用第二直线核,对二值化图像进行开操作,获得第二开操作图像,以保留二值化图像中大于第二直线核的尺寸的背景区域;第二直线核的宽度小于高度;
27.根据第二开操作图像的背景区域中的各像素的横坐标,分别统计每一横坐标的像素数量。
28.一种实施方式中,根据各纵坐标的像素数量,以及各横坐标的像素数量,确定目标表格的各个表格行坐标以及各个表格列坐标,包括:
29.根据各纵坐标的像素数量,以及纵坐标总数,分别获得每一纵坐标的像素占比,纵坐标总数为待处理图像中某一纵坐标的像素的数量;
30.基于各纵坐标的像素占比,确定各表格行坐标;
31.根据各横坐标的像素数量,以及横坐标总数,分别获得每一横坐标的像素占比,横坐标总数为待处理图像中某一横坐标的像素的数量;
32.基于各横坐标的像素占比,确定各表格列坐标。
33.一种实施方式中,基于各纵坐标的像素占比,确定各表格行坐标,包括:
34.从各纵坐标中,筛选出高于第一占比阈值的像素占比的纵坐标;
35.基于不高于第一占比阈值的像素占比的纵坐标,对筛选出的纵坐标进行划分,获得纵坐标集合;
36.若纵坐标集合中仅包含一个纵坐标,则将纵坐标集合中的纵坐标确定为表格行坐标;
37.若纵坐标集合中包含多个连续的纵坐标,则将纵坐标集合中各纵坐标的均值,确定为表格行坐标。
38.一种实施方式中,基于各横坐标的像素占比,确定各表格列坐标,包括:
39.从各横坐标中,筛选出高于第二占比阈值的像素占比的横坐标;
40.基于不高于第二占比阈值的像素占比的横坐标,对筛选出的横坐标进列划分,获
得横坐标集合;
41.若横坐标集合中仅包含一个横坐标,则将横坐标集合中的横坐标确定为表格列坐标;
42.若横坐标集合中包含多个连续的横坐标,则将横坐标集合中各横坐标的均值,确定为表格列坐标。
43.一种实施方式中,根据目标表格的各个表格行坐标以及各个表格列坐标,获得目标表格的表格信息,包括:
44.基于各个表格行坐标以及各个表格列坐标,生成目标表格;
45.获取目标表格中各单元格的位置信息,表格信息包括各单元格的位置信息。
46.一方面,提供一种表格信息提取的装置,包括:
47.第一确定单元,用于确定待处理图像中的背景区域,背景区域为待处理图像中未包含文本信息的区域;
48.第一获得单元,用于根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量,某一纵坐标的像素数量表示背景区域中像素的纵坐标为某一纵坐标的数量;某一横坐标的像素数量表示背景区域中像素的横坐标为某一横坐标的数量;
49.第二确定单元,用于根据各纵坐标的像素数量,以及各横坐标的像素数量,确定目标表格的各个表格行坐标以及各个表格列坐标;
50.第二获得单元,用于根据目标表格的各个表格行坐标以及各个表格列坐标,获得目标表格的表格信息。
51.一种实施方式中,第一确定单元用于:
52.对待处理图像进行二值化处理,获得二值化图像,二值化图像中像素的灰度值为设定前景灰度值或设定背景灰度值;
53.基于二值化图像中设定背景灰度值的像素,确定待处理图像中的背景区域。
54.一种实施方式中,第一确定单元用于:
55.从待处理图像中筛选出灰度值符合设定背景灰度条件的像素;
56.将筛选出的像素的灰度值,调整为设定背景灰度值;
57.将待处理图像中未被筛选出的像素的灰度值,调整为设定前景灰度值,获得二值化图像;设定背景灰度值大于设定前景灰度值。
58.一种实施方式中,第一确定单元还用于:
59.若确定待处理图像中存在灰度值高于第一局部环境灰度值的文本信息,且存在灰度值低于第二局部环境灰度值的文本信息,则针对待处理图像中不同的局部区域设置不同的设定背景灰度条件。
60.一种实施方式中,第一确定单元还用于:
61.对待处理图像进行直线检测,获得待处理图像中的直线;
62.从待处理图像中去除检测出的直线。
63.一种实施方式中,第一获得单元用于:
64.采用第一直线核,对二值化图像进行开操作,获得第一开操作图像,以保留二值化图像中大于第一直线核的尺寸的背景区域;第一直线核的宽度大于高度;
65.根据第一开操作图像的背景区域中的各像素的纵坐标,分别统计每一纵坐标的像素数量;
66.采用第二直线核,对二值化图像进行开操作,获得第二开操作图像,以保留二值化图像中大于第二直线核的尺寸的背景区域;第二直线核的宽度小于高度;
67.根据第二开操作图像的背景区域中的各像素的横坐标,分别统计每一横坐标的像素数量。
68.一种实施方式中,第二确定单元用于:
69.根据各纵坐标的像素数量,以及纵坐标总数,分别获得每一纵坐标的像素占比,纵坐标总数为待处理图像中某一纵坐标的像素的数量;
70.基于各纵坐标的像素占比,确定各表格行坐标;
71.根据各横坐标的像素数量,以及横坐标总数,分别获得每一横坐标的像素占比,横坐标总数为待处理图像中某一横坐标的像素的数量;
72.基于各横坐标的像素占比,确定各表格列坐标。
73.一种实施方式中,第二确定单元用于:
74.从各纵坐标中,筛选出高于第一占比阈值的像素占比的纵坐标;
75.基于不高于第一占比阈值的像素占比的纵坐标,对筛选出的纵坐标进行划分,获得纵坐标集合;
76.若纵坐标集合中仅包含一个纵坐标,则将纵坐标集合中的纵坐标确定为表格行坐标;
77.若纵坐标集合中包含多个连续的纵坐标,则将纵坐标集合中各纵坐标的均值,确定为表格行坐标。
78.一种实施方式中,第二确定单元用于:
79.从各横坐标中,筛选出高于第二占比阈值的像素占比的横坐标;
80.基于不高于第二占比阈值的像素占比的横坐标,对筛选出的横坐标进列划分,获得横坐标集合;
81.若横坐标集合中仅包含一个横坐标,则将横坐标集合中的横坐标确定为表格列坐标;
82.若横坐标集合中包含多个连续的横坐标,则将横坐标集合中各横坐标的均值,确定为表格列坐标。
83.一种实施方式中,第二获得单元用于:
84.基于各个表格行坐标以及各个表格列坐标,生成目标表格;
85.获取目标表格中各单元格的位置信息,表格信息包括各单元格的位置信息。
86.一方面,提供了一种电子设备,包括处理器以及存储器,存储器存储有计算机可读取指令,当计算机可读取指令由处理器执行时,运行如上述任一种表格信息提取的各种可选实现方式中提供的方法的步骤。
87.一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时运行如上述任一种表格信息提取的各种可选实现方式中提供的方法的步骤。
88.一方面,提供了一种计算机程序产品,计算机程序产品在计算机上运行时,使得计算机执行如上述任一种表格信息提取的各种可选实现方式中提供的方法的步骤。
89.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
90.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
91.图1为本技术实施例提供的一种表格信息提取的方法的流程图;
92.图2为本技术实施例提供的一种待处理图像的示例图;
93.图3为本技术实施例提供的一种二值化图像的示例图;
94.图4为本技术实施例提供的一种第一开操作图像的示例图;
95.图5为本技术实施例提供的一种第二开操作图像的示例图;
96.图6为本技术实施例提供的一种表格行列坐标示例图;
97.图7为本技术实施例提供的一种目标表格的示例图;
98.图8为本技术实施例提供的一种表格信息提取的装置的结构框图;
99.图9为本技术实施方式中一种电子设备的结构示意图。
具体实施方式
100.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
101.首先对本技术实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
102.终端设备:可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
103.服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
104.为了在提取图像界面中的表格信息时,可以降低耗费的人力成本和时间成本,本技术实施例提供了一种表格信息提取的方法及电子设备。
105.参阅图1所示,为本技术实施例提供的一种表格信息提取的方法的流程图,可以应用于电子设备,电子设备可以为服务器,也可以为终端设备,该方法的具体实施流程如下:
106.步骤100:确定待处理图像中的背景区域。
107.具体的,执行步骤100时,可以采用以下步骤:
108.s1001:获取待处理图像。
109.具体的,待处理图像为包含表格的图像。作为一个示例,待处理图像为图像界面中的无线表格图片。作为另一个示例,待处理图像可以是显示有表格的图形界面的屏幕截图,比如,通过用户手机截取图像界面的完整屏幕截图。
110.参阅图2所示,为一种待处理图像的示例图。图2中的待处理图像中包含一个无线表格。需要说明的是,图2仅用于示例说明包含表格的图像,若图2中存在线条以及文本不清晰,不影响说明书的清楚性。
111.一种实施方式中,待处理图像可以是灰度图像,也可以是彩色图像。灰度图像是常见的处理源,如果待处理图像是彩色图像,则可以将彩色图像转为灰度图像,如此可以在后续的表格信息提取过程中减少约2/3的计算量,且一般也不会丢失图像信息。
112.s1002:对待处理图像进行二值化处理,获得二值化图像。
113.具体的,待处理图像一般是多灰度值的图像,即可能是包含种多种灰度值(0-255)的图像,二值化操作是将输入的多灰度值图像转化为二值化图像(也称为二值图像),使得获得的二值化图像中的像素的灰度值为设定前景灰度值或设定背景灰度值,即二值化图像中仅包含两种灰度值的像素,即设定前景灰度值的像素以及设定背景灰度值的像素。设定背景灰度值(如,255)大于设定前景灰度值(如,0)。二值化图像中设定前景灰度值的像素为前景,二值化图像中设定前景灰度值的像素为背景,即通过二值化图像,可以划分待处理图中的前景和背景。本技术实施例中将文本信息划分为前景,并将非文本信息划分为背景。
114.一种实施方式中,从所述待处理图像中筛选出灰度值符合设定背景灰度条件(如,灰度值不低于二值化阈值)的像素;将筛选出的像素的灰度值,调整为设定背景灰度值(如,255);将所述待处理图像中未被筛选出的像素的灰度值,调整为设定前景灰度值(如,0),获得二值化图像。实际应用中,设定背景灰度条件以及二值化阈值可以根据实际应用场景进行设置,在此不作限制。
115.作为一个示例,设定背景灰度条件为灰度值不低于二值化阈值(如,100),设定背景灰度值为255(即白色),设定前景灰度值为0(即黑色),因此,二值化图像中包括黑色的文本信息以及白色的非文本信息。
116.实际应用中,设定背景灰度条件以及二值化阈值可以根据实际应用场景进行设置,在此不作限制。
117.这样,就可以将待处理图像中的文本信息部分调整为黑色,其余部分调整为白色。
118.实际场景中,由于图像中各部分颜色相对性往往是复杂多变的,比如同一图像中有时文本信息的颜色深于图像中的局部环境色,有时又浅于该局部环境颜色,甚至有时候文本信息的颜色会与图像中的环境颜色相同,因此,单一的二值化方式有时是无法准确处理不同情况下的图像的。为此,本技术实施例可以预先配置多种用于二值化的设定背景灰度条件,可以针对不同情况自由选择不同的背景灰度条件,多种背景灰度条件可以自由组合。比如有的图像文本信息的颜色单一,都比图像背景深或者浅,此时只需要一种方式就够
了,有的图像中文本信息的颜色多变复杂就可以选多种背景灰度条件。可以在对图像二值化之前,将待处理图像分类,基于不同类别,选择不同的背景灰度条件,以实现不同的二值化方式。比如包含单一颜色文本信息的图像划分为一类,可以为基于固定的二值化阈值进行二值化处理。同时包含比局部环境颜色深的文本信息和比局部环境颜色浅的文本信息的图像划分为一类,局部自适应调整二值化阈值进行二值化处理。如此,可以适用于各种复杂场景。
119.一种实施方式中,若确定待处理图像中存在灰度值高于第一局部环境灰度值的文本信息,且存在灰度值低于第二局部环境灰度值的文本信息,则针对待处理图像中不同的局部区域设置不同的设定背景灰度条件。
120.实际应用中,第一局部环境灰度值和第二局部环境灰度值可以根据图像中背景区域的灰度值确定,在此不作限制。
121.作为一个示例,针对待处理图像中不同的局部区域设置不同的设定背景灰度条件,包括:针对待处理图像中不同的局部区域设置不同的二值化阈值,得到二值化图像。
122.进一步的,由于待处理图像中的表格可能有全部或部分表格线(即可见框线),为便于后续步骤中基于背景区域确定表格行坐标和表格列坐标,因此,还可以先去除待处理图像中的表格线:
123.一种实施方式中,对待处理图像进行直线检测,获得待处理图像中的直线;从待处理图像中去除检测出的直线。作为一个示例,可以采用霍夫变换直线检测方法进行直线检测。
124.进一步的,还可以在获取二值化图像之后,去除二值化图像中的直线。
125.一种实施方式中,对二值化图像进行直线检测,获得二值化图像中的直线;从二值化图像中去除检测出的直线。
126.为避免后续步骤中对图形进行开操作以确定表格行坐标和表格列坐标的步骤造成干扰,提高表格行坐标和表格列坐标的准确性,本技术实施例中,先将图像中的直线去除。
127.参阅图3所示,为一种二值化图像的示例图。图3中,文本信息为前景,显示为黑色,文本信息之外的其它区域,均为白色的背景区域。需要说明的是,图3仅用于说明二值化图像包含黑色的前景和白色的背景,若图3中文本信息以及线条不清晰,不影响说明书的清楚性。
128.这样,就可以获得前景为文本信息,背景为非文本信息(如,空白)的二值化图像。
129.s1003:基于二值化图像中设定背景灰度值的像素,确定待处理图像中的背景区域。
130.具体的,将二值化图像中的背景所在的区域(即设定背景灰度值的像素所在的区域),确定为背景区域。需要说明的是,二值化图像中的背景区域可能为一个,也可能为多个。不同背景区域的形状可能相同也可能不同。
131.步骤101:根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量。
132.具体的,某一纵坐标的像素数量表示背景区域中像素的纵坐标为某一纵坐标的数量;某一横坐标的像素数量表示背景区域中像素的横坐标为某一横坐标的数量。
133.一种实施方式中,执行步骤101时,可以采用以下步骤:
134.s1011:采用第一直线核,对二值化图像进行开操作,获得第一开操作图像,以保留二值化图像中大于第一直线核的尺寸的背景区域。
135.s1012:根据第一开操作图像的背景区域中各像素的纵坐标,分别统计每一纵坐标的像素数量。
136.作为一个示例,背景区域中,有10个像素的纵坐标为5,则确定纵坐标为5的像素数量为10。
137.s1013:采用第二直线核,对二值化图像进行开操作,获得第二开操作图像,以保留二值化图像中大于第二直线核的尺寸的背景区域。
138.s1014:根据第二开操作图像的背景区域中各像素的横坐标,分别统计每一横坐标的像素数量。
139.需要说明的是,第一直线核的宽度大于高度,第二直线核的宽度小于高度。作为一个示例,第一直线核的宽高比为21:1,第二直线核的宽高比为1:21。
140.需要说明的是,开操作可以使二值化图像中的对象(即背景区域)的轮廓变得光滑,断开狭窄的间断和消除细的突出物。可以基于实际需求设定直线核(包括第一直线核以及第二直线核)的尺寸,比如,设置直线核为矩形结构元素。使用结构b(即第一直线核或第二直线核)对结构a(即二值化图像)进行开操作,就是用b对a腐蚀,然后再用b对腐蚀结果进行膨胀。腐蚀可以理解为:在结构a中移动结构b,若结构b当前所在的范围内存在像素的灰度值为设定前景灰度值(如,0),则将该结构b当前所在的范围内的所有像素的灰度值均设置为设定前景灰度值,也就是说,若存在不够一个完整的直线核的背景区域,则将该背景区域完全抹去,即将不够一个完整的直线核的背景区域反转为前景,并将大于一个完整的直线核的背景区域缩小。这样,可以将多个相邻的文本信息扩大连接成一片黑色区域。膨胀可以理解为:在结构a中移动结构b,若结构b当前所在的范围内存在像素的灰度值为设定背景灰度值(如,255),则将将该结构b当前所在的范围内的所有像素的灰度值均设置为设定背景灰度值。这样,就可以将缩小后的背景区域在膨胀为原始大小,但是,已经抹去的背景区域不会恢复,从而保留二值化图像中大于直线核的尺寸的背景区域。
141.参阅图4所示,为一种第一开操作图像的示例图。由于第一直线核的宽度大于高度,第一开操作图像中的背景区域均为大于第一直线核的尺寸的区域,因此,图4中的空白区域(即背景区域)的宽度均大于高度。参阅图5所示,为一种第二开操作图像的示例图。第二直线核的宽度小于高度,获得的第二开操作图像中的背景区域均为大于第二直线核的尺寸的区域。因此,图5中的空白区域的宽度小于高度。
142.步骤102:根据各纵坐标的像素数量,以及各横坐标的像素数量,确定目标表格的各个表格行坐标以及各个表格列坐标。
143.需要说明的是,表格是由行和列建立的,如,建立一个n行m列的表格,n和m为正整数。表格行坐标是指目标表格中各行所在的坐标,表格列坐标是指目标表格中各列所在的坐标。
144.一种实施方式中,执行步骤102时,可以采用以下步骤:
145.s1021:根据各纵坐标的像素数量,以及纵坐标总数,分别获得每一纵坐标的像素占比,纵坐标总数为待处理图像中某一纵坐标的像素的数量。
146.需要说明的是,若待处理图像为矩形或正方形,则待处理图像中各纵坐标的像素的总数均是相同的,待处理图像中各横坐标的像素的总数也均是相同的。若待处理图像的形状为不规则的,则针对各纵坐标中的目标纵坐标,统计待处理图像中目标纵坐标的像素的数量,获得目标纵坐标总数,并根据背景区域中目标纵坐标的像素数量与目标纵坐标总数之间的比值,获得目标纵坐标的像素占比。其中,目标纵坐标为待处理图像中各纵坐标中的任一纵坐标。
147.作为一个示例,纵坐标为10的像素数量为3,纵坐标总数为6,则确定纵坐标为10的像素占比为0.5。
148.作为另一个示例,将背景区域中的各像素投影到纵坐标上,获得像素数量数组。像素数量数组的长度为待处理图像中各像素的纵坐标的总数量。如,待处理图像中各像素的纵坐标依次为1、2、3、4、5,则像素数量数组的长度为5。像素数量数组中每一元素为某一纵坐标的像素数量,如,像素数量数组为[0,3,2,0,0],则纵坐标为2的像素数量为3,纵坐标为3的像素数量为2,其它纵坐标的像素数量为0。纵坐标总数为3,则基于像素数量数组以及纵坐标总数,获得像素占比数组[0,1,0.67,0,0]。像素占比数组中每一元素为某一纵坐标的像素占比。
[0149]
s1022:基于各纵坐标的像素占比,确定各表格行坐标。
[0150]
具体的,从各纵坐标中,筛选出高于第一占比阈值(如,0.8)的像素占比的纵坐标;基于不高于第一占比阈值的像素占比的纵坐标,对筛选出的纵坐标进行划分,获得纵坐标集合(即,将筛选出的各纵坐标中连续的纵坐标划分为同一集合);若纵坐标集合中仅包含一个纵坐标,则将纵坐标集合中的纵坐标确定为表格行坐标;若纵坐标集合中包含多个连续的纵坐标,则将纵坐标集合中各纵坐标的均值,确定为表格行坐标。
[0151]
实际应用中,第一占比阈值属于[0,1],第一占比阈值的取值可以根据实际应用场景进行设置,在此不作限制。
[0152]
一种实施方式中,确定表格行坐标时,可以采用以下步骤:若确定纵坐标集合中包含多个连续的纵坐标,则将纵坐标集合中的最小纵坐标和最大纵坐标的均值,确定为表格行坐标。
[0153]
作为一个示例,各纵坐标依次为:1、2、3、4、5,各纵坐标的像素占比数组为[0,1,0.67,0,0],则筛选出高于0.8的像素占比的纵坐标,即纵坐标2。由于仅筛选出一个纵坐标,因此,获得纵坐标集合为{2},则根据纵坐标集合{2},确定2为表格行坐标。
[0154]
作为另一个示例,各纵坐标依次为:1、2、3、4、5、6、7、8,各纵坐标的像素占比数组为[0,1,0.67,0,0,1,1,1],则筛选出的纵坐标依次为:2、6、7、8。按照纵坐标的连续性,将筛选出的各纵坐标中连续的纵坐标划分为同一集合,获得两个纵坐标集合,即{2},{6,7,8}。则根据纵坐标集合{2},确定2为表格行坐标,根据纵坐标集合{6,7,8},确定7为表格行坐标。
[0155]
s1023:根据各横坐标的像素数量,以及横坐标总数,分别获得每一横坐标的像素占比。
[0156]
具体的,横坐标总数为待处理图像中某一横坐标的像素的数量。基于与上述确定纵坐标的像素占比相似的原理,确定横坐标总数,以及横坐标的像素占比,在此不做赘述。
[0157]
s1024:基于各横坐标的像素占比,确定各表格列坐标。
[0158]
具体的,从各横坐标中,筛选出高于第二占比阈值的像素占比的横坐标;基于不高于第二占比阈值的像素占比的横坐标,对筛选出的横坐标进列划分,获得横坐标集合;若横坐标集合中仅包含一个横坐标,则将横坐标集合中的横坐标确定为表格列坐标;若横坐标集合中包含多个连续的横坐标,则将横坐标集合中各横坐标的均值,确定为表格列坐标。
[0159]
实际应用中,第二占比阈值属于[0,1]。第二占比阈值的取值可以根据实际应用场景进行设置,在此不作限制。
[0160]
本技术实施例中,基于与确定表格行坐标相似的原理,执行s1024,以确定表格列坐标,在此不做赘述。
[0161]
参阅图6所示,为一种表格行列坐标示例图。确定图6中的空白水平线为表格行线,则将表格行线上各像素的纵坐标,确定为表格行坐标。以及,确定空白竖直线上为表格列线,则将表格列线中各像素的横坐标确定为表格列坐标。通过图6中的空白水平线和空白竖直线,示例说明各表格行坐标以及各表格列坐标。这样,就可以从背景区域中,选取多个空白水平线以及竖直线,作为表格行线以及表格列线,提高了表格行坐标以及表格列坐标确定的准确度。
[0162]
步骤103:根据目标表格的各个表格行坐标以及各个表格列坐标,获得目标表格的表格信息。
[0163]
具体的,基于各个表格行坐标以及各个表格列坐标,生成目标表格,并获取目标表格中各单元格的位置信息。
[0164]
其中,表格信息用于指示表格的结构以及位置。表格信息包括各单元格的位置信息。单元格的位置信息可以为单元格的表格行坐标以及表格列坐标,还可以为单元格的行列号,还可以为单元格的区域坐标。表格信息中还可以包括表格中各单元格内的单元格内容。实际应用中,表格信息可以根据实际应用场景进行设置,在此不作限制。
[0165]
一种实施方式中,按照水平方向,将目标表格中各单元格进行排序,获得各单元格的列,按照竖直方向,将目标表格中各单元格进行排序,获得各单元格的行。这样,就可以获得各单元格的行列号。
[0166]
一种实施方式中,确定各单元格的区域位置,并根据待处理图像中各文本信息的位置信息,分别确定每一单元格的文本信息,获得包含文本信息的目标表格。
[0167]
参阅图7所示,为一种目标表格的示例图。图7示例说明了目标表格中各单元格的位置以及单元格内容。
[0168]
进一步的,确定接收到用户的单元格读取命令时,可以根据单元格中包含的行列号,读取该行列号的单元格的内容,以及确定接收到用户的表格读取命令时,读取该表格内的所有内容。
[0169]
这样,用户就可以读取表格内任意一个或多个单元格的信息,也可以读取整个表格的信息。
[0170]
本技术实施例中,通过待处理图像中背景区域的分布,确定表格信息。相比于传统技术中采用全人眼识别的方式,该方法不需要人工识别以及记录,可以准确识别以及操作待处理图像中的有线表格或无线表格,大大减少了人力成本和时间成本,以及无需软件系统底层数据,而是直接仿照人的方式,从待处理图像中准确解析表格中各单元格的行列号以及所在的位置等表格信息,在大量减少人力的情况下,还提高了表格识别的准确性,且可
以适用于多种图像界面应用,扩大了适用范围。
[0171]
基于同一发明构思,本技术实施例中还提供了一种表格信息提取的装置,由于上述装置及设备解决问题的原理与一种表格信息提取的方法相似,因此,上述装置的实施可以参见方法的实施,重复之处不再赘述。
[0172]
如图8所示,其为本技术实施例提供的一种表格信息提取的装置的结构示意图,包括:
[0173]
第一确定单元801,用于确定待处理图像中的背景区域,背景区域为待处理图像中未包含文本信息的区域;
[0174]
第一获得单元802,用于根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量,某一纵坐标的像素数量表示背景区域中像素的纵坐标为某一纵坐标的数量;某一横坐标的像素数量表示背景区域中像素的横坐标为某一横坐标的数量;
[0175]
第二确定单元803,用于根据各纵坐标的像素数量,以及各横坐标的像素数量,确定目标表格的各个表格行坐标以及各个表格列坐标;
[0176]
第二获得单元804,用于根据目标表格的各个表格行坐标以及各个表格列坐标,获得目标表格的表格信息。
[0177]
一种实施方式中,第一确定单元801用于:
[0178]
对待处理图像进行二值化处理,获得二值化图像,二值化图像中像素的灰度值为设定前景灰度值或设定背景灰度值;
[0179]
基于二值化图像中设定背景灰度值的像素,确定待处理图像中的背景区域。
[0180]
一种实施方式中,第一确定单元801用于:
[0181]
从待处理图像中筛选出灰度值符合设定背景灰度条件的像素;
[0182]
将筛选出的像素的灰度值,调整为设定背景灰度值;
[0183]
将待处理图像中未被筛选出的像素的灰度值,调整为设定前景灰度值,获得二值化图像;设定背景灰度值大于设定前景灰度值。
[0184]
一种实施方式中,第一确定单元801还用于:
[0185]
若确定待处理图像中存在灰度值高于第一局部环境灰度值的文本信息,且存在灰度值低于第二局部环境灰度值的文本信息,则针对待处理图像中不同的局部区域设置不同的设定背景灰度条件。
[0186]
一种实施方式中,第一确定单元801还用于:
[0187]
对待处理图像进行直线检测,获得待处理图像中的直线;
[0188]
从待处理图像中去除检测出的直线。
[0189]
一种实施方式中,第一获得单元802用于:
[0190]
采用第一直线核,对二值化图像进行开操作,获得第一开操作图像,以保留二值化图像中大于第一直线核的尺寸的背景区域;第一直线核的宽度大于高度;
[0191]
根据第一开操作图像的背景区域中的各像素的纵坐标,分别统计每一纵坐标的像素数量;
[0192]
采用第二直线核,对二值化图像进行开操作,获得第二开操作图像,以保留二值化图像中大于第二直线核的尺寸的背景区域;第二直线核的宽度小于高度;
[0193]
根据第二开操作图像的背景区域中的各像素的横坐标,分别统计每一横坐标的像素数量。
[0194]
一种实施方式中,第二确定单元803用于:
[0195]
根据各纵坐标的像素数量,以及纵坐标总数,分别获得每一纵坐标的像素占比,纵坐标总数为待处理图像中某一纵坐标的像素的数量;
[0196]
基于各纵坐标的像素占比,确定各表格行坐标;
[0197]
根据各横坐标的像素数量,以及横坐标总数,分别获得每一横坐标的像素占比,横坐标总数为待处理图像中某一横坐标的像素的数量;
[0198]
基于各横坐标的像素占比,确定各表格列坐标。
[0199]
一种实施方式中,第二确定单元803用于:
[0200]
从各纵坐标中,筛选出高于第一占比阈值的像素占比的纵坐标;
[0201]
基于不高于第一占比阈值的像素占比的纵坐标,对筛选出的纵坐标进行划分,获得纵坐标集合;
[0202]
若纵坐标集合中仅包含一个纵坐标,则将纵坐标集合中的纵坐标确定为表格行坐标;
[0203]
若纵坐标集合中包含多个连续的纵坐标,则将纵坐标集合中各纵坐标的均值,确定为表格行坐标。
[0204]
一种实施方式中,第二确定单元803用于:
[0205]
从各横坐标中,筛选出高于第二占比阈值的像素占比的横坐标;
[0206]
基于不高于第二占比阈值的像素占比的横坐标,对筛选出的横坐标进列划分,获得横坐标集合;
[0207]
若横坐标集合中仅包含一个横坐标,则将横坐标集合中的横坐标确定为表格列坐标;
[0208]
若横坐标集合中包含多个连续的横坐标,则将横坐标集合中各横坐标的均值,确定为表格列坐标。
[0209]
一种实施方式中,第二获得单元804用于:
[0210]
基于各个表格行坐标以及各个表格列坐标,生成目标表格;
[0211]
获取目标表格中各单元格的位置信息,表格信息包括各单元格的位置信息。
[0212]
本技术实施例提供的一种表格信息提取的方法及电子设备中,确定待处理图像中的背景区域,背景区域为待处理图像中未包含文本信息的区域;
[0213]
根据背景区域中各像素的纵坐标以及横坐标,分别获得每一纵坐标的像素数量以及每一横坐标的像素数量,某一纵坐标的像素数量表示背景区域中像素的纵坐标为某一纵坐标的数量;某一横坐标的像素数量表示背景区域中像素的横坐标为某一横坐标的数量;根据各纵坐标的像素数量,以及各横坐标的像素数量,确定目标表格的各个表格行坐标以及各个表格列坐标;
[0214]
根据目标表格的各个表格行坐标以及各个表格列坐标,获得目标表格的表格信息。这样,根据待处理图像的背景区域中各像素的分布,确定表格行坐标以及表格列坐标,进而根据表格行坐标以及表格列坐标,获取表格信息,降低了图像界面中表格信息提取时耗费的人力成本和时间成本。
[0215]
图9示出了一种电子设备9000的结构示意图。参阅图9所示,电子设备9000包括:处理器9010以及存储器9020,可选的,还可以包括电源9030、显示单元9040、输入单元9050。
[0216]
处理器9010是电子设备9000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器9020内的软件程序和/或数据,执行电子设备9000的各种功能,从而对电子设备9000进行整体监控。
[0217]
本技术实施例中,处理器9010调用存储器9020中存储的计算机程序时执行上述实施例中的各个步骤。
[0218]
可选的,处理器9010可包括一个或多个处理单元;优选的,处理器9010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器9010中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
[0219]
存储器9020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据电子设备9000的使用所创建的数据等。此外,存储器9020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
[0220]
电子设备9000还包括给各个部件供电的电源9030(比如电池),电源可以通过电源管理系统与处理器9010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
[0221]
显示单元9040可用于显示由用户输入的信息或提供给用户的信息以及电子设备9000的各种菜单等,本发明实施例中主要用于显示电子设备9000中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元9040可以包括显示面板9041。显示面板9041可以采用液晶显示屏(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置。
[0222]
输入单元9050可用于接收用户输入的数字或字符等信息。输入单元9050可包括触控面板9051以及其他输入设备9052。其中,触控面板9051,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板9051上或在触控面板9051附近的操作)。
[0223]
具体的,触控面板9051可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器9010,并接收处理器9010发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板9051。其他输入设备9052可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0224]
当然,触控面板9051可覆盖显示面板9041,当触控面板9051检测到在其上或附近的触摸操作后,传送给处理器9010以确定触摸事件的类型,随后处理器9010根据触摸事件的类型在显示面板9041上提供相应的视觉输出。虽然在图9中,触控面板9051与显示面板9041是作为两个独立的部件来实现电子设备9000的输入和输出功能,但是在某些实施例中,可以将触控面板9051与显示面板9041集成而实现电子设备9000的输入和输出功能。
[0225]
电子设备9000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、
接近光传感器等。当然,根据具体应用中的需要,上述电子设备9000还可以包括摄像头等其它部件,由于这些部件不是本技术实施例中重点使用的部件,因此,在图9中没有示出,且不再详述。
[0226]
本领域技术人员可以理解,图9仅仅是电子设备的举例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
[0227]
本技术实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得通信设备可以执行上述实施例中的各个步骤。
[0228]
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本技术时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0229]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0230]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0231]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0232]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0233]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0234]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。