折线图的数据提取方法及处理设备转让专利

申请号 : CN202211264165.0

文献号 : CN115331013B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙勇顾文斌杨祎聪李晓平丁雪纯于业达

申请人 : 杭州恒生聚源信息技术有限公司上海恒生聚源数据服务有限公司

摘要 :

本申请的实施例提供了一种折线图的数据提取方法及处理设备,涉及图像模式识别领域。利用图例检测模型对待提取的折线图进行检测,确定待提取的折线图的图例区域;根据图例区域内空白区域的位置信息,对图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域;分别对每个图例标识线区域以及每个图例标识名区域进行识别,得到每个图例标识线的特征信息以及每个图例标识名的内容信息;根据每个图例标识线的特征信息及每个图例标识名的内容信息,对待提取的折线图的数据区域中与特征信息对应的数据进行提取,获得与内容信息对应的至少一个目标数据值。利用该图例分割方法,提高了图例识别效果,还提高了折线图数据提取准确性。

权利要求 :

1.一种折线图的数据提取方法,其特征在于,包括:

利用图例检测模型对待提取的折线图进行检测,确定所述待提取的折线图的图例区域;

根据所述图例区域内空白区域的位置信息,对所述图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域;

分别对每个所述图例标识线区域以及每个所述图例标识名区域进行识别,得到每个所述图例标识线的特征信息以及每个所述图例标识名的内容信息;

根据每个所述图例标识线的特征信息及每个所述图例标识名的内容信息,对所述待提取的折线图的数据区域中与所述特征信息对应的数据进行提取,获得与所述内容信息对应的至少一个目标数据值;

所述对所述图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域,包括:获得所述图例区域对应的水平排布图形;

对所述水平排布图形中像素变化值进行遍历识别;

当目标位置的像素点变化值满足空白区域识别条件时,确定所述目标位置为空白区域的位置信息;

根据多个所述空白区域的位置信息,对所述水平排布区域进行分割,确定多个内容区域;

对各所述内容区域进行分析,确定全部所述图例标识线区域以及所述图例标识名区域;

所述对各所述内容区域进行分析,确定全部所述图例标识线区域以及所述图例标识名区域,包括:对各所述内容区域进行初步遍历,将各所述内容区域划分为多个初始图例标识线区域以及多个初始图例标识名区域;

若初始标识线区域均满足直线识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为直线标识线区域类型;

若所述初始标识线区域均满足符号识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为符号标识线区域类型。

2.根据权利要求1所述的折线图的数据提取方法,其特征在于,所述获得所述图例区域对应的水平排布图形,包括:根据所述图例区域内各待识别子区域的排布顺序,确定所述图例区域的图例分布类型;

若所述图例分布类型为垂直分布类型或表格分布类型,则根据各所述待识别子区域在水平方向的投影结果,将各所述待识别子区域进行水平分割,获得多个水平排布图形。

3.根据权利要求1所述的折线图的数据提取方法,其特征在于,所述方法还包括:对各所述图例标识线区域进行矫正处理,将满足标识名识别条件的图例标识线区域作为图例标识名区域。

4.根据权利要求1所述的折线图的数据提取方法,其特征在于,所述当目标位置的像素点变化值满足空白条件时,确定所述目标位置为空白区域的位置信息,包括:对所述水平排布图形进行垂直投影,得到垂直投影图形;

对所述垂直投影图形中各像素点进行投影计算,得到各所述像素点的投影值以及投影变动值;

根据各所述像素点的投影值以及投影变动值,对所述水平排布图形中各像素点进行遍历,将满足空白区域识别条件的多个像素所在的区域的位置信息作为空白区域的位置信息。

5.根据权利要求1所述的折线图的数据提取方法,其特征在于,所述根据每个所述图例标识线的特征信息及每个所述图例标识名的内容信息,对所述待提取的折线图的数据区域中与所述特征信息对应的数据进行提取,获得与所述内容信息对应的至少一个目标数据值,包括:利用直线检测模型对所述待提取的折线图进行识别,确定所述待提取的折线图的数据区域以及坐标信息;

将所述图例标识线的特征信息与所述数据区域内坐标信息对应的区域进行匹配,得到与各所述图例标识名的内容信息对应的至少一个目标数据值。

6.根据权利要求5所述的折线图的数据提取方法,其特征在于,所述将所述图例标识线的特征信息与所述数据区域内坐标信息对应的区域进行匹配,得到与各所述图例标识名的内容信息对应的至少一个目标数据值,包括:若所述图例标识线的特征信息为颜色特征,则计算所述颜色特征与所述坐标信息中各横轴刻度点对应的区域内的多个像素点的颜色特征之间的颜色值距离,并将所述颜色值距离小于预设颜色阈值且满足预设斜率条件的像素点作为对应的数据值点;

根据各所述数据值点与坐标信息的相对位置关系,确定各所述数据值点对应的目标数据值。

7.根据权利要求5所述的折线图的数据提取方法,其特征在于,所述根据所述图例标识线的特征信息、各所述图例标识名的内容信息,对所述数据区域内坐标信息对应的位置进行匹配,得到各所述图例标识名的内容信息对应的多个数据值,包括:若所述图例标识线的特征信息为符号特征,则计算所述符号特征与所述坐标信息中各横轴刻度点对应的区域进行模式匹配,得到至少一个待选区域;

将至少一个所述待选区域的中心点坐标作为对应的数据值点;

根据各所述数据值点与坐标信息的相对位置关系,确定各所述数据值点对应的目标数据值。

8.一种折线图的数据提取装置,其特征在于,包括:

图例检测模块,用于利用图例检测模型对待提取的折线图进行检测,确定所述待提取的折线图的图例区域;

图例分割模块,用于根据所述图例区域内空白区域的位置信息,对所述图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域;

图例识别模块,用于分别对每个所述图例标识线区域以及每个所述图例标识名区域进行识别,得到每个所述图例标识线的特征信息以及每个所述图例标识名的内容信息;

数据提取模块,用于根据每个所述图例标识线的特征信息及每个所述图例标识名的内容信息,对所述待提取的折线图的数据区域中与所述特征信息对应的数据进行提取,获得与所述内容信息对应的至少一个目标数据值;

所述图例分割模块还用于获得所述图例区域对应的水平排布图形;对所述水平排布图形中像素变化值进行遍历识别;当目标位置的像素点变化值满足空白区域识别条件时,确定所述目标位置为空白区域的位置信息;根据多个所述空白区域的位置信息,对所述水平排布区域进行分割,确定多个内容区域;对各所述内容区域进行分析,确定全部所述图例标识线区域以及所述图例标识名区域;

所述图例分割模块还用于对各所述内容区域进行初步遍历,将各所述内容区域划分为多个初始图例标识线区域以及多个初始图例标识名区域;若初始标识线区域均满足直线识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为直线标识线区域类型;若所述初始标识线区域均满足符号识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为符号标识线区域类型。

9.一种处理设备,其特征在于,所述处理设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1‑7任一项所述的折线图的数据提取方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1‑7任一项所述的折线图的数据提取方法的步骤。

说明书 :

折线图的数据提取方法及处理设备

技术领域

[0001] 本申请涉及图像模式识别领域,具体而言,涉及一种折线图的数据提取方法及处理设备。

背景技术

[0002] 折线图是用于描绘统计事项总体指标动态、研究对象间依存关系以及各部分分配情况的统计图。在金融领域中,有大量的数据是通过折线图的形式表示的,这些数据对于金融服务、金融分析来说均具有重要意义,需将其从折线图中提取出来。但是,目前能够获取到的折线图一般已转换为图像形式,这为后续的数据提取和分析带来了较多困难。
[0003] 目前,折线图的图例数据解析主要应用光学字符识别(optical character recognition,简称OCR)方法对图例区域进行整体识别,得到多个图例的名称,然后根据图例的名称向前找到的彩色区域为该文字对应的线条,通过将获取的图例标识线的颜色与这些数据区域的颜色相匹配,确定折线图中各图例的名称对应的多个数据值。
[0004] 但是,直接对图例区域进行整体识别容易将图例中的标识线识别为文字,导致图例识别结果错误。

发明内容

[0005] 本申请提供了一种折线图的数据提取方法及处理设备,其能够将图例区域分割为图例标识线区域以及图例标识名区域,再分别进行识别,避免了对图例区域整体识别导致将图例标识线被识别为文字导致图例识别错误的问题,提升了对图例识别的准确度。
[0006] 本申请的实施例可以这样实现:
[0007] 第一方面,本申请实施例提供一种折线图的数据提取方法,包括:
[0008] 利用图例检测模型对待提取的折线图进行检测,确定所述待提取的折线图的图例区域;
[0009] 根据所述图例区域内空白区域的位置信息,对所述图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域;
[0010] 分别对每个所述图例标识线区域以及每个所述图例标识名区域进行识别,得到每个所述图例标识线的特征信息以及每个所述图例标识名的内容信息;
[0011] 根据每个所述图例标识线的特征信息及每个所述图例标识名的内容信息,对所述待提取的折线图的数据区域中与所述特征信息对应的数据进行提取,获得与所述内容信息对应的至少一个目标数据值。
[0012] 在一种可选的实施方式中,所述对所述图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域,包括:
[0013] 获得所述图例区域对应的水平排布图形;
[0014] 对所述水平排布图形中像素变化值进行遍历识别;
[0015] 当目标位置的像素点变化值满足空白区域识别条件时,确定所述目标位置为空白区域的位置信息;
[0016] 根据多个所述空白区域的位置信息,对所述水平排布区域进行分割,确定多个内容区域;
[0017] 对各所述内容区域进行分析,确定全部所述图例标识线区域以及所述图例标识名区域。
[0018] 在一种可选的实施方式中,所述获得所述图例区域对应的水平排布图形,包括:
[0019] 根据所述图例区域内各待识别子区域的排布顺序,确定所述图例区域的图例分布类型;
[0020] 若所述图例分布类型为垂直分布类型或表格分布类型,则根据各所述待识别子区域在水平方向的投影结果,将各所述待识别子区域进行水平分割,获得多个水平排布图形。
[0021] 在一种可选的实施方式中,所述对各所述内容区域进行分析,确定全部所述图例标识线区域以及所述图例标识名区域,包括:
[0022] 对各所述内容区域进行初步遍历,将各所述内容区域划分为多个初始图例标识线区域以及多个初始图例标识名区域;
[0023] 若初始标识线区域均满足直线识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为直线标识线区域类型;
[0024] 若所述初始标识线区域均满足符号识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为符号标识线区域类型。
[0025] 在一种可选的实施方式中,所述方法还包括:
[0026] 对各所述图例标识线区域进行矫正处理,将满足标识名识别条件的图例标识线区域作为图例标识名区域。
[0027] 在一种可选的实施方式中,所述当目标位置的像素点变化值满足空白条件时,确定所述目标位置为空白区域的位置信息,包括:
[0028] 对所述水平排布图形进行垂直投影,得到垂直投影图形;
[0029] 对所述垂直投影图形中各像素点进行投影计算,得到各所述像素点的投影值以及投影变动值;
[0030] 根据各所述像素点的投影值以及投影变动值,对所述水平排布图形中各像素点进行遍历,将满足空白区域识别条件的多个像素所在的区域的位置信息作为空白区域的位置信息。
[0031] 在一种可选的实施方式中,所述根据每个所述图例标识线的特征信息及每个所述图例标识名的内容信息,对所述待提取的折线图的数据区域中与所述特征信息对应的数据进行提取,获得与所述内容信息对应的至少一个目标数据值,包括:
[0032] 利用直线检测模型对所述待提取的折线图进行识别,确定所述待提取的折线图的数据区域以及坐标信息;
[0033] 将所述图例标识线的特征信息与所述数据区域内坐标信息对应的区域进行匹配,得到与各所述图例标识名的内容信息对应的至少一个目标数据值。
[0034] 在一种可选的实施方式中,所述将所述图例标识线的特征信息与所述数据区域内坐标信息对应的区域进行匹配,得到与各所述图例标识名的内容信息对应的至少一个目标数据值,包括:
[0035] 若所述图例标识线的特征信息为颜色特征,则计算所述颜色特征与所述坐标信息中各横轴刻度点对应的区域内的多个像素点的颜色特征之间的颜色值距离,并将所述颜色值距离小于预设颜色阈值且满足预设斜率条件的像素点作为对应的数据值点;
[0036] 根据各所述数据值点与坐标信息的相对位置关系,确定各所述数据值点对应的目标数据值。
[0037] 在一种可选的实施方式中,所述根据所述图例标识线的特征信息、各所述图例标识名的内容信息,对所述数据区域内坐标信息对应的位置进行匹配,得到各所述图例标识名的内容信息对应的多个数据值,包括:
[0038] 若所述图例标识线的特征信息为符号特征,则计算所述符号特征与所述坐标信息中各横轴刻度点对应的区域进行模式匹配,得到至少一个待选区域;
[0039] 将至少一个所述待选区域的中心点坐标作为对应的数据值点;
[0040] 根据各所述数据值点与坐标信息的相对位置关系,确定各所述数据值点对应的目标数据值。
[0041] 第二方面,本申请实施例还提供一种折线图的数据提取装置,包括:
[0042] 图例检测模块,用于利用图例检测模型对待提取的折线图进行检测,确定所述待提取的折线图的图例区域;
[0043] 图例分割模块,用于根据所述图例区域内空白区域的位置信息,对所述图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域;
[0044] 图例识别模块,用于分别对每个所述图例标识线区域以及每个所述图例标识名区域进行识别,得到每个所述图例标识线的特征信息以及每个所述图例标识名的内容信息;
[0045] 数据提取模块,用于根据每个所述图例标识线的特征信息及每个所述图例标识名的内容信息,对所述待提取的折线图的数据区域中与所述特征信息对应的数据进行提取,获得与所述内容信息对应的至少一个目标数据值。
[0046] 所述图例分割模块具体还用于,获得所述图例区域对应的水平排布图形;对所述水平排布图形中像素变化值进行遍历识别;当目标位置的像素点变化值满足空白区域识别条件时,确定所述目标位置为空白区域的位置信息;根据多个所述空白区域的位置信息,对所述水平排布区域进行分割,确定多个内容区域;对各所述内容区域进行分析,确定全部所述图例标识线区域以及所述图例标识名区域。
[0047] 所述图例分割模块具体还用于,根据所述图例区域内各待识别子区域的排布顺序,确定所述图例区域的图例分布类型;若所述图例分布类型为垂直分布类型或表格分布类型,则根据各所述待识别子区域在水平方向的投影结果,将各所述待识别子区域进行水平分割,获得多个水平排布图形。
[0048] 所述图例分割模块具体还用于,对各所述内容区域进行初步遍历,将各所述内容区域划分为多个初始图例标识线区域以及多个初始图例标识名区域;若所述初始标识线区域均满足直线识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为直线标识线区域类型;若所述初始标识线区域均满足符号识别条件,则将所述初始标识线区域作为图例标识线区域,所述初始图例标识名区域作为所述图例标识名区域,并将所述图例标识线区域的类型标记为符号标识线区域类型。
[0049] 所述图例分割模块具体还用于,对各所述图例标识线区域进行矫正处理,将满足标识名识别条件的图例标识线区域作为图例标识名区域。
[0050] 所述图例分割模块具体还用于,对所述水平排布图形进行垂直投影,得到垂直投影图形;对所述垂直投影图形中各像素点进行投影计算,得到各所述像素点的投影值以及投影变动值;根据各所述像素点的投影值以及投影变动值,对所述水平排布图形中各像素点进行遍历,将满足空白区域识别条件的多个像素所在的区域的位置信息作为空白区域的位置信息。
[0051] 所述数据提取模块具体还用于,利用直线检测模型对所述待提取的折线图进行识别,确定所述待提取的折线图的数据区域以及坐标信息;将所述图例标识线的特征信息与所述数据区域内坐标信息对应的区域进行匹配,得到与各所述图例标识名的内容信息对应的至少一个目标数据值。
[0052] 所述数据提取模块具体还用于,若所述图例标识线的特征信息为颜色特征,则计算所述颜色特征与所述坐标信息中各横轴刻度点对应的区域内的多个像素点的颜色特征之间的颜色值距离,并将所述颜色值距离小于预设颜色阈值且满足预设斜率条件的像素点作为对应的数据值点;根据各所述数据值点与坐标信息的相对位置关系,确定各所述数据值点对应的目标数据值。
[0053] 所述数据提取模块具体还用于,若所述图例标识线的特征信息为符号特征,则计算所述符号特征与所述坐标信息中各横轴刻度点对应的区域进行模式匹配,得到至少一个待选区域;将至少一个所述待选区域的中心点坐标作为对应的数据值点;根据各所述数据值点与坐标信息的相对位置关系,确定各所述数据值点对应的目标数据值。
[0054] 第三方面,本申请实施例提供一种处理设备,所述处理设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面中任一项所述的折线图的数据提取方法的步骤。
[0055] 第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面中任一项所述的折线图的数据提取方法的步骤。
[0056] 本申请实施例的有益效果包括:
[0057] 采用本申请实施例提供的折线图的数据提取方法及处理设备,能够对图例区域进行分割,得到各图例标识线区域以及图例标识名,再分别对各区域进行识别,确定对应的图例标识线、图例标识名,解决了对图例区域整体识别导致图例标识线、图例标识名识别混淆的问题,提升了图例识别的准确性。

附图说明

[0058] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0059] 图1为折线图包括的内容标识;
[0060] 图2为本申请实施例提供的折线图的数据提取方法的步骤流程示意图;
[0061] 图3为本申请实施例提供的折线图的数据提取方法的图例分割示意图;
[0062] 图4为本申请实施例提供的折线图的数据提取方法的X轴投影示意图;
[0063] 图5为本申请实施例提供的折线图的数据提取方法的识别结果示意图;
[0064] 图6为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0065] 图7为本申请实施例提供的折线图的数据提取方法的Y轴投影示意图;
[0066] 图8为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0067] 图9为本申请实施例提供的折线图的表格分布类型示意图;
[0068] 图10为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0069] 图11为本申请实施例提供的折线图的数据提取方法的虚线识别示意图;
[0070] 图12为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0071] 图13为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0072] 图14为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0073] 图15为本申请实施例提供的折线图的数据提取方法的另一步骤流程示意图;
[0074] 图16为本申请实施例提供的折线图的数据提取方法的符号特征识别的示意图;
[0075] 图17为本申请实施例提供的折线图的数据提取装置的结构示意图;
[0076] 图18为本申请实施例提供的处理设备的结构示意图。
[0077] 图标:101‑图例区域;102‑图例标识线;103‑图例标识名;104‑Y轴;105‑Y轴刻度点;106‑X轴刻度点;107‑X轴;108‑数据区域;1011‑第一图例标识线区域;1012‑第一图例标识名区域;1013‑第二图例标识线区域;1014‑第二图例标识名区域;100‑折线图的数据提取装置;1001‑图例检测模块;1002‑图例分割模块;1003‑图例识别模块;1004‑数据提取模块;2001‑处理器;2002‑存储器。

具体实施方式

[0078] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0079] 因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0080] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0081] 此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0082] 需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
[0083] 金融领域中,包含大量以图表形式表示的数据,如折线图、柱状图、散点图、饼状图等,不同的图表具有不同的数据表现形式,折线图作为其中一种广泛使用的图形类型,折线图中包含了大量的金融数据,这些数据对于金融服务、金融分析来说可能具有重要意义。如图1所示,折线图中主要包括:图例区域101、图例标识线102、图例标识名103、Y轴104、Y轴刻度点105、X轴刻度点106、X轴107以及折线所在的数据区域108。
[0084] 其中,图例区域101包括至少图例,每组图例包括具有对应关系的图例标识线102以及图例标识名103。另外,折线所在的数据区域108包括X轴107正半轴以及Y轴104正半轴围合的第一象限内,或包括X轴107正半轴以及Y轴104对应的第一象限、第四象限内。
[0085] 虽然折线图中的数据的提取是数据分析过程中的一个必要的需求,但目前从各种新闻、报告、书籍等数据源获得的折线图一般已转换为图像形式,这为后续对折线图的数据提取也带来了诸多的困难。
[0086] 当前,折线图的图例数据解析主要通过模式识别方式,也就是利用OCR技术对图1中的图例区域101进行整体识别,得到多个图例标识名的文字内容,然后根据各图例标识名的位置,向前检测,若在某一图例标识名前检测到彩色线条,则为该图例标识名对应的图例标识线。再通过将各图例标识线与数据区域108的折线进行的颜色进行匹配,确定各图例标识名在数据区域对应的折线。最后根据各折线与坐标轴的相对位置,提取得到各图例标识名对应的多个数据点。
[0087] 现有技术中这种对整个图例区域101进行识别,确定图例标识名的方式,当图例标识线与图例标识名较近时,容易将图形信息识别为文字信息,或者将文字信息识别为图形信息。例如,将线条识别为文字“一”,或者,当两个图例标识名距离过近时,也可能会被识别为一个合并的图例标识名,进而导致图例标识名识别错误。
[0088] 基于此,本申请实施例提出了一种折线图的数据提取方法及处理设备,能够对图例区域进行分割,得到各图例标识线区域以及图例标识名,再分别对各区域进行识别,确定对应的图例标识线、图例标识名,解决了对图例区域整体识别导致图例标识线、图例标识名识别混淆的问题,提升了图例识别的准确性。
[0089] 本申请实施例提供一种折线图的数据提取方法及处理设备,以下分别进行详细说明。
[0090] 图2所示为本申请实施例提供的一种折线图的数据提取方法的步骤流程示意图,本方法的执行主体可以是具有计算、处理能力的计算机设备,如图2所示,该方法包括:
[0091] S201,利用图例检测模型对待提取的折线图进行检测,确定待提取的折线图的图例区域。
[0092] 其中,待提取的折线图可以是图1所示的折线图包含的内容形式相同,该折线图以图片形式存储。可选地,图例区域101在待提取的折线图的位置在此不做限定。
[0093] 图例检测模型使用图像分割网络对待提取的折线图进行分析、检测,通过最小外接矩形,确定图例区域所占据的最小矩形区域的轮廓位置,用于标记待提取的折线图的图例区域。可选地,图例检测模型可以是U‑NET模型,还可以是fcn、seg‑net等常用语义分割模型,本申请在此不做限定。
[0094] S202,根据图例区域内空白区域的位置信息,对图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域。
[0095] 继续参见图1,图例区域101内可以包括至少一组不同的图例,每组图例包括具有对应关系的图例标识线以及图例标识名。参阅图3,以图例区域包含两组图例为例进行说明,可选地,每组图例分别由图例标识名与图例标识线构成。
[0096] 如图3所示,可以根据图例区域内空白区域的位置信息,将图例区域101进行分割,再进一步根据图例区域101内图例标识名、图例标识线对应的不同特征,得到第一图例标识线区域1011、第二图例标识线区域1013、第一图例标识名区域1012,第二图例标识名区域1014。
[0097] S203,分别对每个图例标识线区域以及每个图例标识名区域进行识别,得到每个图例标识线的特征信息以及每个图例标识名的内容信息。
[0098] 可选地,上述特征信息可以用于唯一的标识该图例识别线的类型。具体的,该特征信息可以为基于颜色进行区别的颜色特征或基于符号进行区别的符号特征。例如,参见图1,其中不同的折线具有不同的颜色,如黑色和灰色,则此时,基于颜色特征既可以唯一的识别出不同的图例识别线及对应的折线。或者,例如,图3中的第一图例标识线区域1011为三角符号图例标识线,第二图例标识线区域1013为方形符号图例标识线。可以理解的是,不同类型的图例标识线具有不同的特征信息,如颜色图例标识线具有颜色特征,符号图例标识线具有符号特征,而对包含不同类型的图例标识线的图例标识线区域进行特征信息提取的方式也相应地不同。
[0099] 若识别到某一图例标识线区域内的图例标识线为颜色图例标识线类型,在一种可能的实现方式中,可以提取图例标识线的RGB值作为该图例标识线的特征信息。
[0100] 若识别到某一图例标识线区域内的图例标识线为符号图例标识线类型,在一种可能的方式中,可以将图例标识线的符号图像提取出来,作为该图例标识线的特征信息。
[0101] 可选地,确定了至少一个图例标识名区域后,可利用OCR方法对各图例标识名区域进行识别,以确定各图例标识名的文字内容,作为各图例标识名的内容信息。
[0102] S204,根据每个图例标识线的特征信息及每个图例标识名的内容信息,对待提取的折线图的数据区域中与特征信息对应的数据进行提取,获得与内容信息对应的至少一个目标数据值。
[0103] 可以根据各图例标识线的特征信息,在折线图的数据区域内找到对应的折线,对各折线进行数据提取,得到各图例标识线对应的多个数据值。进一步地,根据各图例标识线与图例标识名的对应关系,确定与图例标识名的内容信息对应的多个数据值。
[0104] 上述步骤S203中,当识别到某一图例标识线区域内的图例标识线为符号图例标识线类型时,为了提取得到图例标识线的符号图像作为特征信息,可以采用如下方式:
[0105] 首先,对该图例标识线区域使用X轴投影,也就是垂直方向投影后,得到对应的投影序列。如图4所示,对图4上图进行X轴投影后,得到图4下图所示的投影序列。需要说明的是,投影序列中各像素均对应不同的投影值。
[0106] 对该投影序列中各像素由左向右进行遍历后,将第一个投影值不为0的像素点所在的Y轴坐标值y1,最后一个投影值不为0的Y轴坐标值y2的区间作为图例标识线所在的区域,将图例标识线区域内剩余的部分作为竖直方向的空白去除,得到去除竖直空白的图例标识线区域。
[0107] 进一步地,可以由下式计算去除竖直空白的图例标识线区域内各像素点的邻域投影变动值 :
[0108]
[0109] 其中, , ,k表示当前像素的邻域范围大小,表示当前像素i的投影值, 表示当前像素i的投影值与下一像素i+1的投影值之间差值的绝对值。示例性地,k可以为2。
[0110] 若除竖直空白的图例标识线区域内,存在连续m个像素的邻域投影变动值 小于预设变动阈值,且这m个像素的投影值均大于零,则可以确定该由这m个像素的起始位置至像素 部分为图例标识线的开始横线部分。示例性地,m可以为5,预设变动阈值可以为0.1。
[0111] 若除竖直空白的图例标识线区域内,图例标识线的横线部分,到像素 的各像素的邻域投影变动值 均大于预设变动阈值,且像素 之后的节点与像素 的距离大于预设距离阈值,则将像素 作为图例标识线上的符号标识的起始坐标,像素 作为图例标识线上符号标识的结束坐标,其中,像素 之后到图例标识线区域的像素满足存在连续m个像素的邻域投影变动值 小于预设变动阈值,且这m个像素的投影值均大于零,也就是说,像素 至这m个像素的结束位置均为图例标识线的结束横线部分。
[0112] 那么,将开始横线、结束横线中间的区域,也就是[ ]之间的区域的图像提取出来,作为符号标识图像。该符号标识图像可作为符号特征表征图例标识线的特征信息。
[0113] 图5为采用本申请实施例提供的折线图的数据提取方法识别效果示意图,通过本申请实施例提供的折线图的数据提取方法,对图5左侧的折线图进行数据提取,得到了如图5右表中所示,各图例标识名的内容在横轴刻度线位置对应的多个数据值。
[0114] 在本实施例中,对图例区域进行分割,得到各图例标识线区域以及图例标识名,再分别对各区域进行识别,确定对应的图例标识线、图例标识名,解决了对图例区域整体识别导致图例标识线、图例标识名识别混淆的问题,提升了图例识别的准确性。
[0115] 可选地,由于图例区域包含了多个图例标识线区域以及对应的图例标识名区域,为了将各图例标识线区域以及对应的图例标识名区域分割开来,如图6所示,上述步骤S202中,对图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域,可由下述步骤S301至S304实现。
[0116] S301,获得图例区域对应的水平排布图形。
[0117] 水平排布图形是将各图例区域内图例在水平方向依次排布的图形,例如,图1中图例区域101内的图例排布方式对应的图形,或图3所示的图例区域101内的图例排布方式对应的图形。
[0118] 需要说明的是,图例的排布方式还可以有图7所示的列式排布,或表格式排布,或其他方式排布,可以预先将其他方式排布的图例区域转换为水平排布图形。
[0119] S302,对水平排布图形中像素变化值进行遍历识别。
[0120] 由上述实施例,水平排布图形内各像素点均可以计算邻域投影变动值 以及投影值,各像素的邻域投影变动值 以及投影值均可以用于表示当前像素点,以及当前像素点的周围像素点的情况。
[0121] 由此,可以对水平排布图形进行遍历,根据各像素的邻域投影变动值 ,遍历得到水平排布图形内多个空白区域的起始和结束坐标:[ ],[ ]…[ ], 。
[0122] S303,当目标位置的像素点变化值满足空白区域识别条件时,确定目标位置为空白区域的位置信息。
[0123] 空白区域识别条件可以是:若对水平排布图形由左向右进行遍历时,存在某一像素点的投影变动值std小于预设变动阈值,且投影值为0。
[0124] 那么,根据满足空白区域识别条件的多个像素点在待提取的折线图中的目标位置,可以确定待提取的折线图内空白区域的位置信息。
[0125] S304,根据多个空白区域的位置信息,对水平排布区域进行分割,确定多个内容区域。
[0126] 内容区域可以包括多个图例标识线区域、多个图例标识名区域,可以理解的是,空白区域为各图例标识线区域、各图例标识名区域之间的间隙。因此,可以根据各空白区域的起始坐标和结束坐标[ ],[ ]…[ ], ,将水平排布区域内不属于空白区域,且不连续的多个区域分割为多个内容区域。
[0127] S305,对各内容区域进行分析,确定全部图例标识线区域以及图例标识名区域。
[0128] 进一步地,由于内容区域内包括多个图例标识线区域以及多个图例标识名区域,可以根据图例标识线区域内的图例标识线的特征信息,与图例标识名区域内图例标识名的内容信息之间的差别,对各内容区域进行分析,将多个内容区域划分为多个图例标识线区域以及多个图例标识名区域。
[0129] 在本实施例中,根据多个空白区域,将水平排布区域分割为多个内容区域,解决了对图例区域整体识别导致图例标识线、图例标识名识别混淆的问题,提升了图例识别的准确性。
[0130] 需要说明的是,上述分割方式仅为一种示例说明,对于实现本方案的将各图例标识线区域、各图例标识名区域分割开来的效果,不排除以其他的分割顺序、方向实现。其对应方案均应属于本领域技术人员在阅读本申请后,不需要创造性劳动即可实现的方案。
[0131] 可选地,对于图例区域来说,其图例可以为水平排布的形式,例如上文图3,当然其也可以是竖直排布的形式,例如上文图7,为了更加准确高效地获得各图例标识线区域、各图例标识名区域,可以在对图例区域进分割处理之前,将其他排布方式的图例,例如,垂直排布的图例,或者表格排布的图例,转化为水平排布图形,再分割得到各图例标识线区域、各图例标识名区域。如图8所示,上述步骤S301中,获得图例区域对应的水平排布图形,可由下述步骤S401至S402实现。
[0132] S401,根据图例区域内各待识别子区域的排布顺序,确定图例区域的图例分布类型。
[0133] 各待识别子区域内均包含一组图例,各组图例由图例标识线,以及对应的图例标识名构成。
[0134] 可选地,可以对图例区域通过OCR技术或其他识别方式进行识别,以初步判断图例区域内各待识别子区域的排布顺序。例如,若得到多个水平排布的待识别子区域,则图例区域的图例分布类型为水平排布类型。若得到多个垂直排布的待识别子区域,则图例区域的图例分布类型为垂直排布类型。若得到多个既在水平方向上排布,也在竖直方向上排布的多个待识别子区域,则图例区域的图例分布类型为表格排布类型。
[0135] S402,若图例分布类型为垂直分布类型或表格分布类型,则根据各待识别子区域在水平方向的投影结果,将各待识别子区域进行水平分割,获得多个水平排布图形。
[0136] 若图例分布类型为垂直分布类型,则首先将各待识别子区域进行如图7所示的Y轴投影,得到各图例区域对应的Y轴投影图形。
[0137] 参阅图7,垂直相邻的多个待识别子区域进行Y轴投影时,由于相互之间存在空隙,则投影得到的Y轴投影图形存在投影值为0的像素点,可以将该像素点作为各待识别子区域之间的分割点,根据分割点所在的坐标,对图例区域进行竖直分割,得到多个待识别子区域。
[0138] 最后,可以将多个待识别子区域进行水平分割,得到多个水平排布图形。
[0139] 可选地,如图9所示,若图例分布类型为表格分布类型,也就是横、纵均包含多个待识别子区域的图例区域,可以首先根据上述步骤进行竖直分割,得到多个图例分布类型为垂直分布类型的图例区域,即,对图9所示的图例区域进行分割后,得到三组图例分布类型为垂直分布类型的图例区域:“大豆”、“玉米”所对应的图例标识线、图例标识名所在区域为一组,“水稻”、“棉花”所对应的图例标识线、图例标识名所在区域为一组,“小麦”、“土豆”所对应的图例标识线、图例标识名所在区域为一组。再对各图例区域进行竖直分割,分别得到多个待识别区域。例如,对“大豆”、“玉米”这一组图例区域进行竖直分割,得到两个待识别区域:“大豆”所对应的图例标识线、图例标识名所在的待识别区域、“玉米”所对应的图例标识线、图例标识名所在的待识别区域。最后,将各图例区域的多个待识别区域进行统一排布,得到水平排布图形,也就是,所有的待识别区域依次水平排列为一条直线的状态。
[0140] 在本实施例中,将其他排布方式的图例分布类型转换为水平排布图形,便于后续统一识别方法,降低了方法的复杂度,提高了处理效率。
[0141] 可选地,在上述实施例中,初步确定了多个图例标识线区域、多个图例标识名区域后,由于可能存在将图例标识线区域误判为图例标识名区域,或者将图例标识名区域误判为图例标识线区域的情况,需进一步对多个图例标识线区域、多个图例标识名区域进行分析,以得到准确的图例标识线区域、图例标识名区域。如图10所示,上述步骤S304中,对各内容区域进行分析,确定全部图例标识线区域以及图例标识名区域,可由下述步骤S501至S503实现。
[0142] S501,对各内容区域进行初步遍历,将各内容区域划分为多个初始图例标识线区域以及多个初始图例标识名区域。
[0143] 由上述实施例中计算各像素的邻域投影变动值 的公式,可对各内容区域内的各像素进行计算,得到内容区域内各像素的邻域投影变动值 。
[0144] 可选地,若某一内容区域内存在连续m个像素点的邻域投影变动值 小于阈值t,并且,该内容区域内由左向右时遍历的第一个像素点与其他像素点的距离均小于阈值s,则可以将该内容区域划分为初始图例标识线区域。示例性地,m可以为5,t可以为0.2,s可以为0.5,两个像素点之间的距离可以由公式 计算得到,其中, 为两个
像素点的坐标。
[0145] 对各内容区域分别进行遍历,将满足上述条件的至少一个内容区域划分为初始图例标识线区域,剩余的至少一个内容区域划分为初始图例标识名区域。
[0146] S502,若初始标识线区域均满足直线识别条件,则将初始标识线区域作为图例标识线区域,初始图例标识名区域作为图例标识名区域,并将图例标识线区域的类型标记为直线标识线区域类型。
[0147] 在一种可能的实现方式中,该直线识别条件可以为:若某一初始标识线区域内各像素点的邻域投影变动值 均小于t,且该初始标识线区域由左向右进行遍历时,第一个像素点与其他像素点的距离小于s。示例性地,t可以为0.2,s可以为0.2。
[0148] 若某一初始标识线区域满足上述直线标识条件,则可以将该初始标识线区域的类型标记为直线标识线区域类型。
[0149] 可以理解的是,对于同一折线图,其图例区域内的多个图例标识线一般采用统一方式表示,各图例标识线对应的图例标识线区域的类型应相同。
[0150] 这样,就可以将满足直线识别条件的各初始标识线区域作为图例标识线区域,初始图例标识名区域作为图例标识名区域。
[0151] S503,若初始标识线区域均满足符号识别条件,则将初始标识线区域作为图例标识线区域,初始图例标识名区域作为图例标识名区域,并将图例标识线区域的类型标记为符号标识线区域类型。
[0152] 符号识别条件可以为:若对某一初始标识线区域由左向右进行遍历时,该区域内部开始部分n个像素点的邻域投影变动值 均小于t,且第一个像素点与其他像素点的距离小于s。对该初始标识线区域由右向左进行遍历时,结束部分n个像素点的邻域投影变动值 均小于t,且第一个像素点与其他像素点的距离小于s。
[0153] 由上述可知,对于同一折线图,各图例标识线对应的图例标识线区域的类型可能是均为直线标识线区域类型,或者均为符号标识线区域类型。若某一初始标识线区域均满足上述符号识别条件,则将满足符号识别条件的各初始标识线区域作为图例标识线区域,初始图例标识名区域作为图例标识名区域。
[0154] 可选地,如图11所示,若图例标识线为虚线时,通过上述方式识别,可能将虚线之间的空隙作为空白区域,将一个内容区域分割为多个图例标识线区域。因此,可以对各还可以进一步对上述满足直线识别条件,或满足符号识别条件的图例标识线区域进行进一步识别,将连续多个区域均为图例标识线区域,且各图例标识线区域间不存在其他类型的内容区域合并为一个新的图例标识线区域,并将该新的图例标识线区域的类型标记为虚线标识线区域类型。
[0155] 在本实施例中,将初始标识线区标记为直线标识线区域类型或符号标识线区域类型,能够在后续的步骤中,针对性地进行数据提取,提高了数据提取的准确性。
[0156] 可选地,本申请实施例提供的折线图的数据提取方法还包括:对各图例标识线区域进行矫正处理,将满足标识名识别条件的图例标识线区域作为图例标识名区域。
[0157] 在上述步骤S502至S503中得到的至少一个图例标识线区域中,可能包含将图例标识名中的“一”或者横线识别为图例标识线的图例标识线区域,因此,可以将各图例标识线区域的长度进行比较,将其中与其他图例标识线区域的长度差值大于sh个像素点的图例标识线区域修改为图例标识名区域。示例性地,sh可以为5。
[0158] 在本实施例中,通过对图例标识线区域进一步识别,避免将文字误识别为图例标识线,导致图例识别错误的问题,提升了识别的准确率。
[0159] 可选地,各图例区域内的图例标识线、图例标识名之间,是存在空白空隙区域的,因此,可通过垂直投影将这些空白区域的位置信息识别出来,以作为各图例标识线区域、各图例标识名区域之间的分隔区域。如图12所示,上述步骤S303中,当目标位置的像素点变化值满足空白区域识别条件时,确定目标位置为空白区域的位置信息,可由下述步骤S601至S603实现。
[0160] S601,对水平排布图形进行垂直投影,得到垂直投影图形。
[0161] 参阅图4,为图4中左图的水平排布图形进行X轴投影,也就是垂直投影,可以得到图4右图所示的垂直投影图形。
[0162] S602,对垂直投影图形中各像素点进行投影计算,得到各像素点的投影值以及投影变动值。
[0163] 由上述实施例中计算像素点的投影变动值std的公式,可对垂直投影图形中各像素点的投影变动值std进行计算,得到垂直投影图形中各像素点的投影值以及投影变动值。
[0164] S603,根据各像素点的投影值以及投影变动值,对水平排布图形中各像素点进行遍历,将满足空白区域识别条件的多个像素所在的区域的位置信息作为空白区域的位置信息。
[0165] 遍历该水平排布图形的所有像素点,将满足投影变动值std小于预设变动阈值,且投影值为0,也就是空白区域识别条件的多个相邻像素点划分为同一空白区域,并以该空白区域的内各像素点的轮廓对应的位置信息标记为该空白区域的位置信息。
[0166] 在本实施例中,对根据水平排布图形内各像素点的投影值以及投影变动值,确定多个空白区域,通过可解释方式确定空白区域,提升了数据提取的效率。
[0167] 可选地,为获得待提取的折线图中的数据,需将上述提取到各图例标识线的特征信息与待提取的折线图进行匹配,以确定各图例标识线的内容信息对应的数据值,如图13所示,上述步骤S204中,根据每个图例标识线的特征信息及每个图例标识名的内容信息,对待提取的折线图的数据区域中与特征信息对应的数据进行提取,获得与内容信息对应的至少一个目标数据值,可由下述步骤S701至S702实现。
[0168] S701,利用直线检测模型对待提取的折线图进行识别,确定待提取的折线图的数据区域以及坐标信息。
[0169] 直线检测模型可以是预训练的语义分割模型,能够将待提取的折线图区域内的底部最长的一条水平线识别出来,作为待识别的折线图中的X轴,将与X轴相交的最左侧的垂直线识别出来,作为待识别的折线图中的Y轴。
[0170] 进一步地,如图1所示,X轴刻度值107设置于X轴107下方,因此,可以根据X轴的位置,对X轴下方区域内进行识别,得到多个标识X轴刻度的点对应的文本内容。将该文本内容上方的toph个像素内的黑色像素点识别为该文本内容对应的X轴刻度点,toph可以为10。这样,就得到了多组X轴的坐标信息。
[0171] 可选地,可以采用与上述识别X轴的坐标信息的方式,识别得到多组Y轴的坐标信息。
[0172] S702,将图例标识线的特征信息与数据区域内坐标信息对应的区域进行匹配,得到与各图例标识名的内容信息对应的至少一个目标数据值。
[0173] 数据区域内坐标信息对应的区域可以指X轴的刻度点的竖直向上以及向下方向所在的区域。
[0174] 根据上述实施例中得到的图例标识线的特征信息,可以将各图例标识线的特征信息,如颜色特征或符号特征,在数据区域内坐标信息对应的区域,也就是各X轴的刻度点的竖直向上以及向下方向所在的区域进行识别,得到各X轴的刻度点对应的数据值点。计算各数据值点对应的数据值,得到了至少一个目标数据值。其中,目标数据值为上述X轴的坐标信息在折线上对应的坐标值。
[0175] 在本实施例中,确定了折线图的数据区域后,根据坐标信息,对其进行识别得到了至少一个目标数据值,避免了识别到其他区域的数据,提升了数据提取的准确率。并且,直接将坐标信息对应的折线确定数据值,避免了额外确定数据值导致的误差。
[0176] 可选地,当图例标识线的特征信息为颜色特征时,为提取到各图例标识名的内容信息对应的至少一个目标数据值,如图14所示,上述步骤S702中,将图例标识线的特征信息与数据区域内坐标信息对应的区域进行匹配,得到与各图例标识名的内容信息对应的至少一个目标数据值,可由下述步骤S801至S802实现。
[0177] S801,若图例标识线的特征信息为颜色特征,则计算颜色特征与坐标信息中各横轴刻度点对应的区域内的多个像素点的颜色特征之间的颜色值距离,并将颜色值距离小于预设颜色阈值且满足预设斜率条件的像素点作为对应的数据值点。
[0178] 由上述实施例,颜色特征可以为图例标识线的RGB值,当对某一X轴的刻度点的竖直向上以及向下方向所在的区域进行遍历时,可能会检测到多个像素点,将这多个像素点中RGB值与图例标识线的RGB值距离最小的一个或多个像素点作为初始数据值点。
[0179] 若在某一X轴的刻度点,对某一图例标识线进行匹配得到的初始数据值点仅有一个时,表明待提取的折线图中无其他干扰像素点,可将该初始数据值点作为该X轴的刻度点对应的数据值点。
[0180] 若在某一X轴的刻度点,对某一图例标识线进行匹配得到的初始数据值点多于一个时,则说明初始像素值点中可能包含背景网格中的像素点,且该背景网格的像素点的颜色特征与该图例标识线的颜色特征相同。那么,可通过取各初始数据点左右的像素点,计算和初始像素点的斜率。若某一初始数据点对应的斜率不为0,其他各初始数据点对应的斜率均为0,则说明该初始像素点为折线上的像素点,将该像素点作为该X轴的刻度点对应的数据值点。若各初始数据点对应的斜率均为0,则可以分别判断各初始像素点是否与Y轴的刻度点相对应,若是,则可将唯一不与Y轴的刻度点相对应的初始数据值点作为该X轴的刻度点对应的数据值点。
[0181] S802,根据各数据值点与坐标信息的相对位置关系,确定各数据值点对应的目标数据值。
[0182] 由下式,根据各数据值点的所在位置,根据数据值点(nameK,x_scaleK,(xK,yK))在的y坐标值在Y轴的两个刻度点[(xm,ym),(xn,yn)],以及上述刻度点对应的坐标信息([[y_scale0,(x0,y0)],…,[ y_scaleJ,(xj,yj)]]),确定数据值点对应的目标数据值:
[0183]
[0184] 在本实施例中,通过图例标识线的颜色特征在坐标信息中各横轴刻度点对应的区域内进行匹配,并进一步将多个不满足预设斜率条件的像素点剔除,避免了当存在与折线颜色相同的背景网格时,由于折线图中噪声过多,难以将折线图的数据准确、干净地从折线图中提取出来的问题,提升了折线图的数据提取的准确率。
[0185] 可选地,当图例标识线的特征信息为符号特征时,为提取到各图例标识名的内容信息对应的至少一个目标数据值,如图15所示,上述步骤S702中,将图例标识线的特征信息与数据区域内坐标信息对应的区域进行匹配,得到与各图例标识名的内容信息对应的至少一个目标数据值,还可由下述步骤S901至S903实现。
[0186] S901,若图例标识线的特征信息为符号特征,则计算符号特征与坐标信息中各横轴刻度点对应的区域进行模式匹配,得到至少一个待选区域。
[0187] 由上述实施例中图3,符号特征可以是图例标识线中的符号标识图像,例如,图3中的第一图例标识线区域1011的三角形符号所在的区域,或者图3中的第二图例标识线区域1013的正方形符号所在的区域,将各图例标识线对应的符号标识图像在待提取的折线图的数据区域内,X轴的刻度点的竖直向上以及向下方向所在的区域进行模式匹配,得到了各图例标识线的符号标识图像在折线中的指示一个待选区域。
[0188] 图16所示为模式匹配的结果,图16中方框区域内标识的是各折线上,能够与图例标识线的符号标识图像匹配的待选区域。
[0189] S902,将至少一个待选区域的中心点坐标作为对应的数据值点。
[0190] 可以理解的是,各待选区域通过轮廓信息描述各待选区域的位置,因此,可将各待选区域的中心点坐标作为该待选区域的数据值点。
[0191] S903,根据各数据值点与坐标信息的相对位置关系,确定各数据值点对应的目标数据值。
[0192] 确定各数据值点对应的目标数据值的方式与上述步骤S802相同,在此不再赘述。
[0193] 在本实施例中,通过将图例标识线的符号特征与待提取的折线图内的数据区域进行匹配,得到了多个目标数据值。解决了图例区域中包含多个颜色相近或相同,带有符号标识的图例标识线的折线图的数据提取问题。
[0194] 参阅图17,本申请实施例还提供一种折线图的数据提取装置100,可用于执行上述实施例中的折线图的数据提取方法的步骤,包括:
[0195] 图例检测模块1001,用于利用图例检测模型对待提取的折线图进行检测,确定待提取的折线图的图例区域;
[0196] 图例分割模块1002,用于对图例区域进行分割处理,得到至少一个图例标识线区域以及至少一个图例标识名区域;
[0197] 图例识别模块1003,用于根据图例区域内空白区域的位置信息,分别对每个图例标识线区域以及每个图例标识名区域进行识别,得到每个图例标识线的特征信息以及每个图例标识名的内容信息;
[0198] 数据提取模块1004,用于根据每个图例标识线的特征信息及每个图例标识名的内容信息,对待提取的折线图的数据区域中与特征信息对应的数据进行提取,获得与内容信息对应的至少一个目标数据值。
[0199] 图例分割模块1002具体还用于,获得图例区域对应的水平排布图形;对水平排布图形中像素变化值进行遍历识别;当目标位置的像素点变化值满足空白区域识别条件时,确定目标位置为空白区域的位置信息;根据多个空白区域的位置信息,对水平排布区域进行分割,确定多个内容区域;对各内容区域进行分析,确定全部图例标识线区域以及图例标识名区域。
[0200] 图例分割模块1002具体还用于,根据图例区域内各待识别子区域的排布顺序,确定图例区域的图例分布类型;若图例分布类型为垂直分布类型或表格分布类型,则根据各待识别子区域在水平方向的投影结果,将各待识别子区域进行水平分割,获得多个水平排布图形。
[0201] 图例分割模块1002具体还用于,对各内容区域进行初步遍历,将各内容区域划分为多个初始图例标识线区域以及多个初始图例标识名区域;若初始标识线区域均满足直线识别条件,则将初始标识线区域作为图例标识线区域,初始图例标识名区域作为图例标识名区域,并将图例标识线区域的类型标记为直线标识线区域类型;若初始标识线区域均满足符号识别条件,则将初始标识线区域作为图例标识线区域,初始图例标识名区域作为图例标识名区域,并将图例标识线区域的类型标记为符号标识线区域类型。
[0202] 图例分割模块1002具体还用于,对各图例标识线区域进行矫正处理,将满足标识名识别条件的图例标识线区域作为图例标识名区域。
[0203] 图例分割模块1002具体还用于,对水平排布图形进行垂直投影,得到垂直投影图形;对垂直投影图形中各像素点进行投影计算,得到各像素点的投影值以及投影变动值;根据各像素点的投影值以及投影变动值,对水平排布图形中各像素点进行遍历,将满足空白区域识别条件的多个像素所在的区域的位置信息作为空白区域的位置信息。
[0204] 数据提取模块1004具体还用于,利用直线检测模型对待提取的折线图进行识别,确定待提取的折线图的数据区域以及坐标信息;将图例标识线的特征信息与数据区域内坐标信息对应的区域进行匹配,得到与各图例标识名的内容信息对应的至少一个目标数据值。
[0205] 数据提取模块1004具体还用于,若图例标识线的特征信息为颜色特征,则计算颜色特征与坐标信息中各横轴刻度点对应的区域内的多个像素点的颜色特征之间的颜色值距离,并将颜色值距离小于预设颜色阈值且满足预设斜率条件的像素点作为对应的数据值点;根据各数据值点与坐标信息的相对位置关系,确定各数据值点对应的目标数据值。
[0206] 数据提取模块1004具体还用于,若图例标识线的特征信息为符号特征,则计算符号特征与坐标信息中各横轴刻度点对应的区域进行模式匹配,得到至少一个待选区域;将至少一个待选区域的中心点坐标作为对应的数据值点;根据各数据值点与坐标信息的相对位置关系,确定各数据值点对应的目标数据值。
[0207] 请参阅图18,本实施例还提供一种处理设备,该处理设备包括:处理器2001、存储器2002和总线,存储器2002存储有处理器2001可执行的机器可读指令,当处理设备运行时,执行上述机器可读指令,处理器2001与存储器2002之间通过总线通信,处理器2001用于执行上述实施例中的折线图的数据提取方法的步骤。
[0208] 存储器2002、处理器2001以及总线各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。折线图的数据提取系统的数据处理装置包括至少一个可以软件或固件(firmware)的形式存储于存储器2002中或固化在处理设备的操作系统(operating system,OS)中的软件功能模块。处理器2001用于执行存储器2002中存储的可执行模块,例如折线图的数据提取系统的数据处理装置所包括的软件功能模块及计算机程序等。
[0209] 其中,存储器2002可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read‑Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read‑Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only Memory,EEPROM)等。
[0210] 可选地,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0211] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0212] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0213] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。