CN110363092B - 柱状图识别方法、装置、设备及计算机可读存储介质 - Google Patents
柱状图识别方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110363092B CN110363092B CN201910529585.9A CN201910529585A CN110363092B CN 110363092 B CN110363092 B CN 110363092B CN 201910529585 A CN201910529585 A CN 201910529585A CN 110363092 B CN110363092 B CN 110363092B
- Authority
- CN
- China
- Prior art keywords
- histogram
- data
- identified
- color
- data column
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 239000003086 colorant Substances 0.000 claims description 20
- 238000010586 diagram Methods 0.000 claims description 16
- 238000003379 elimination reaction Methods 0.000 claims description 10
- 230000008030 elimination Effects 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 9
- 238000012015 optical character recognition Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 238000013075 data extraction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Character Input (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及图像检测技术领域,提供一种柱状图识别方法、装置、设备及计算机可读存储介质,以颜色识别的方式对柱状图中的数据柱和图例进行识别和定位,然后通过文字识别的方式识别出柱状图中的相关文字信息,再将文字信息、数据柱和图例进行关联解析,得到柱状图所表达的数据。本发明可解决现有技术中无法自动对柱状图进行识别和数据提取的问题,实现柱状图非结构化数据的获取,有利于提高数据采集的效率。
Description
技术领域
本发明涉及图像检测技术领域,尤其涉及一种柱状图识别方法、装置、设备及计算机可读存储介质。
背景技术
柱状图是一种以长方形的长度为变量来表达数据的统计报告图,主要由数据柱、文字、图例、坐标轴组成。在日常应用中,经常会将结构化的数据以柱状图的方式进行展示,从而方便用户进行分析。但在数据采集过程中,由于柱状图属于非结构化数据,当得到一幅柱状图时,往往需要将其转化为结构化数据才可进行数据入库。然而,目前的一些数据采集技术,如OCR(Optical Character Recognition,光学字符识别)技术,一般只能识别和提取文档的字符(即文字内容),但无法识别柱状图并进行数据提取,从而导致相应数据的缺失。因此,如何实现柱状图的识别和数据提取,是目前亟待解决的问题。
发明内容
本发明的主要目的在于提供一种柱状图识别方法、装置、设备及计算机可读存储介质,旨在解决现有技术中无法自动识别柱状图的技术问题。
为实现上述目的,本发明实施例提供一种柱状图识别方法,所述柱状图识别方法包括:
在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;
根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;
对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;
对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;
根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;
根据所述数据柱属性和所述数据值输出对应的柱状图识别结果。
此外,为实现上述目的,本发明实施例还提供一种柱状图识别装置,所述柱状图识别装置包括:
颜色统计模块,用于在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;
位置确定模块,用于根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;
直线检测模块,用于对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;
对象确定模块,用于对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;
数据值确定模块,用于根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;
结果输出模块,用于根据所述数据柱属性和所述数据值输出对应的柱状图识别结果。
此外,为实现上述目的,本发明实施例还提供一种柱状图识别设备,所述柱状图识别设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的柱状图识别程序,其中所述柱状图识别程序被所述处理器执行时,实现如上述的柱状图识别方法的步骤。
此外,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有柱状图识别程序,其中所述柱状图识别程序被处理器执行时,实现如上述的柱状图识别方法的步骤。
本发明实施例以颜色识别的方式对柱状图中的数据柱和图例进行识别和定位,然后通过文字识别的方式识别出柱状图中的相关文字信息,再将文字信息、数据柱和图例进行关联解析,得到柱状图所表达的数据,从而解决现有技术中无法自动对柱状图进行识别和数据提取的问题,实现柱状图非结构化数据的获取,有利于提高数据采集的效率。
附图说明
图1为本发明实施例方案中涉及的柱状图识别设备的硬件结构示意图;
图2为本发明柱状图识别方法第一实施例的流程示意图;
图3为本发明柱状图识别第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的柱状图识别方法主要应用于柱状图识别设备,该柱状图识别设备可以是服务器、个人计算机(personal computer,PC)、笔记本电脑等具有数据处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的柱状图识别设备的硬件结构示意图。本发明实施例中,该柱状图识别设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及柱状图识别程序。在图1中,网络通信模块可用于连接数据库,与数据库进行数据通信;而处理器1001可以调用存储器1005中存储的柱状图识别程序,并执行本发明实施例提供的柱状图识别方法。
本发明实施例提供了一种柱状图识别方法。
参照图2,图2为本发明柱状图识别方法第一实施例的流程示意图。
本实施例中,所述柱状图识别方法包括以下步骤:
步骤S10,在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;
在日常应用中,经常会将结构化的数据以柱状图的方式进行展示,从而方便用户进行分析。但在数据采集过程中,由于柱状图属于非结构化数据,当得到一幅柱状图时,往往需要将其转化为结构化数据才可进行数据入库。然而,目前的一些数据采集技术,如OCR(Optical Character Recognition,光学字符识别)技术,一般只能识别和提取文档的字符(即文字内容),但无法识别柱状图并进行数据提取,从而导致相应数据的缺失。对此,本实施例中提出一种柱状图识别方法,以颜色识别的方式对柱状图中的数据柱和图例进行识别和定位,然后通过文字识别的方式识别出柱状图中的相关文字信息,再将文字信息、数据柱和图例进行关联解析,得到柱状图所表达的数据,从而解决现有技术中无法自动对柱状图进行识别和数据提取的问题,实现柱状图非结构化数据的获取,有利于提高数据采集的效率。
本实施例中的柱状图识别方法可以是由柱状图识别终端实现的,该识别终端以PC为例进行说明。PC在接收到柱状图识别指令时,首先将会根据该柱状图识别指令获取到对应的待识别柱状图。其中,该柱状图识别指令,可以是PC在执行数据采集任务的过程中遇到柱形图时自动触发,例如PC中的OCR识别程序中包括有该柱状图识别功能,当PC通过外接设备对某一纸质文档进行OCR识别和数据采集过程中识别到柱状图时自动触发,然后PC可先以图像的方式存储该柱状图,该柱状图即为待识别柱状图;当然,该柱状图识别指令还可以用是由用户手动触发,例如用户可在PC运行的OCR识别程序的程序界面点击某一功能按键,触发柱状图识别指令,然后选择本地或网络的某一柱状图,PC则将选择的柱状图作为待识别柱状图。值得说明的是,本实施例中的柱状图识别方法,主要是针对纯色柱状图进行,也即该待识别柱状图,其数据柱中是以纯色进行填充,且该填充色与背景色不属于同一颜色。
对于柱状图而言,其图形主体主要包括数据柱(表示在坐标轴中的柱子)和图例(每条数据柱的数据对象),为了对数据柱和图像进行识别定位,首先PC需要对待识别柱状图的颜色分布进行统计;该颜色分布可理解为待识别柱状图中包括有多少种颜色、以及每种颜色的像素点数量。具体的,PC首先会获取待识别柱状图中各像素点的颜色值,然后根据对各像素点的颜色值进行统计,得到待识别柱状图所包括的颜色种类(颜色值的种类)以及各颜色种类的像素点数。
值得说明的是,对于颜色值的表达,包括RGB(Red、Green、Blue;红、绿、蓝)颜色空间、HSV(Hue、Saturation、Value;色调、饱和度、明度)颜色空间等形式;而考虑到HSV颜色空间内的颜色表达相对RGB颜色空间而言更连续,更易于进行颜色分布的统计,因此可基于各像素点的HSV值进行颜色分布的统计。具体的,本实施例的步骤S10可包括:
在接收到柱状图识别指令时,获取待识别柱状图,并获取所述待识别柱状图中各像素点的RGB值;
PC在接收到柱状图识别指令时,首先将会根据该柱状图识别指令获取到对应的待识别柱状图;在得到待识别柱状图时,可先获取待识别柱状图中各像素点的RGB值(该RGB值的获取可通过多种方式实现,例如通过imread()函数等)。
将各像素点的RGB值转换为对应的HSV值,并基于各像素点的HSV值统计得到所述待识别柱状图对应的颜色分布。
在得到各像素点的RGB值后,可将各RGB值转换为对应的HSV值。对于像素点的RGB值转换为HSV值的过程,可采用下列公式组进行转换:
V=C max
在上述公式组中,H、S、V三个值组成了像素点的HSV值;而R、G、B则组成了像素点的RGB值。在得到各像素点HSV值时,PC可将该各像素点的HSV统计得到颜色分布,也即得到每种颜色所包括的像素点数量。为了方便后续处理,该颜色分布还使用字典(键值对形式)的方式进行表示和存储,字典的索引为三通道的各数值连接而成的字符串,例如某一像素点的HSV值为(121,45,255),则索引为121045255(即颜色像素作为键,统计的像素点数量为值),所得到的字典形式可以为:
121045255-200(即有200个像素点,其像素值均为(121,45,255))
090127023-3000(即有300个像素点,其像素值均为(90,127,23))
...
根据该字典,即可确定出待识别柱状图包括的颜色种类的数量、以及各类所包括的像素点数量。
在实际中,某一张图片在人眼看来可能只有三四种颜色,但实际统计的颜色分布却可能会有成百上千种颜色像素值。对此,为了方便后续操作,PC在根据HSV值统计待识别柱状图对应的颜色分布时,需要先将像素值相近的像素点进行合并为同一像素值,即将属于同一基本色的多个像素点合并,再进行各颜色像素点数量的统计。具体的,所述基于各像素点的HSV值统计得到所述待识别柱状图对应的颜色分布的步骤包括:
根据预设基本色的HSV区域范围以及各像素点的HSV值对各像素点进行基本色合并,得到至少两个基本色像素点集;
在得到各像素点的HSV值时,可先基于预设基本色对应的HSV区域范围以及各像素点的HSV值对各像素点进行基本色合并,即将属于同一HSV区域范围的像素点划分成同一基本色像素点集,从而得到至少两个基本色像素点集(其中至少一个背景色对应的基本色像素点集,至少一个数据柱颜色对应的基本色像素点集);而对于预设基本色,可以包括黑、白、蓝、绿等,这些基本色的HSV区域范围如下表:
黑 | 白 | 蓝 | 绿 | |
H | [0,180] | [0,180] | [100,124] | [35,77] |
S | [0,255] | [0,30] | [43,255] | [43,255] |
V | [0,46] | [221,225] | [46,255] | [46,255] |
进一步的,在得到基本色像素点集后,还可以根据各像素点所属的基本色像素点集将各像素点的HSV值进行标准化处理,该标准化可以是该基本色的HSV区域范围的中值进行,如黑色基本色的HSV值标准化为(90,127.5,23),如黑色基本色的HSV值标准化为(90,15,223)等;例如,存在像素点(0,0,0)、(0,0,2)、(1,1,2),根据上述基本色区域范围表可知三者均属于黑色基本色,因此则对HSV值进行进行标准化处理后均为(90,127.5,23)。
基于各基本色像素点集统计得到所述待识别柱状图对应的颜色分布。
在得到各基本色像素点集时,即可根据各基本色像素点集统计得到所述待识别柱状图对应的颜色分布,即确定出待识别柱状图包括的颜色种类的数量、以及各颜色种类所包括的像素点数量。
步骤S20,根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;
在得到待识别柱状图的颜色分布时,PC可根据该颜色分布分析确定待识别柱状图的数据柱颜色,该数据柱颜色也即图例颜色。而在确定数据柱颜色时,可以是根据待识别柱状图中各种颜色所包括的像素点数量进行;一般而言,对于某一待识别柱状图,其像素点数量最多的颜色种类是背景色,然后是数据柱颜色,而对于背景色和数据柱颜色之外的其它颜色,其像素点数量较少。对此,本实施例中可以将像素点数量较多的几种颜色确定为待识别柱状图的数据柱颜色。具体的,本实施例中,当将各像素点进行基本色合并、得到基本色像素点集后,根据颜色分布分析确定待识别柱状图的数据柱颜色的过程可以是这样实现的:
首先可根据各基本色像素点集包括的像素点数量将各基本色像素点集排序,其中,基本色像素点集的像素点数量越多,排序越靠前;例如,A像素点的像素点数量为700,B像素点的像素点数量为900,C像素点的像素点数量为800,则排序为“B→C→A”。在进行排序后,设所述数据柱颜色的种类数量为N,N初始取1。然后PC可确定排序第N+1位的基本色像素点集和排序第N+2位的基本色像素点集的像素点数量差值,并判断所述像素点数量差值是否小于预设阈值;例如对于上述A、B、C三个基本色像素点集,N取1时,N+1=2,N+2=3,第2位的基本色像素点集的像素点数量为800,第3位的基本色像素点集的像素点数量为700,则两者的像素点数量差值为100,此时可将该像素点数量差值与预设阈值进行大小比较。若该像素点数量差值大于所述预设阈值,则可认为排序第N+1位的基本色像素点集与排序第N+2位的基本色像素点集的像素点数量之间相差较大,排序第N+2位的基本色像素点集所对应的基本色不属于数据柱颜色,因此可将排序第二位至第N+1位的基本色像素点集所对应的基本色确定为待识别柱状图的数据柱颜色(排序第一位的基本色像素点集所对应的基本色为背景色)。而若该像素点数量差值小于或等于预设阈值,则可认为第N+1位的基本色像素点集与排序第N+2位的基本色像素点集的像素点数量之间相差较小,排序第N+2位的基本色像素点集所对应的基本色属于数据柱颜色,此时会将当前N的取值加1,然后再次执行步骤确定排序第N+1位的基本色像素点集和排序第N+2位的基本色像素点集的像素点数量差值,并判断所述像素点数量差值是否大于预设阈值,直至找到不属于数据柱颜色的基本色所属的基本色像素点集。
进一步的,在上述判断像素点数量差值是否大于预设阈值的过程中,对于该预设阈值,可以是一个固定值;也可以是根据实际情况动态设置的值。具体的,该阈值可以是设置为排序第N+1位的基本色像素点集的像素点数量的一定比例,如当N+1位基本色像素点集的像素点数量为800,第3位的基本色像素点集的像素点数量为700,且该阈值设置为排序第N+1位的基本色像素点集的像素点数量时,则两者的像素点数量差值为100,此时该像素点数量差值是与70(700的1/10)进行比较,通过上述方式,可以根据待识别柱状图的实际像素数去确定比较标准,有利于提高数据柱颜色分析过程的准确性,进而提高数据图识别的准确性。
本实施例中,在确定数据柱颜色时,即可通过颜色检测的方式定位得到数据柱的位置;当然,图例必然与数据柱具有相同的颜色,因此还可进一步确定图例的位置。为了表示方便,PC在确定和表示位置时,还可用预设一坐标系,并以坐标的方式进行位置表示数据柱与图例在在整个待识别柱状图中的位置。值得说明的是,当确定数据柱和图例的位置时,可根据两者的形状和/或位置确定其具体是哪一类(数据柱的形状一般大于图例,且图例位于整个图的边缘,而数据柱位于中间区域)。
步骤S30,对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;
在得到数据柱和图例的位置时,PC将对待识别柱状图进行直线检测,以检测出待识别柱状图中(直线检测的方式可以根据实际情况采用不同的方式,如霍夫(Hough)变换、最小显著差异法(LSD,Least-Significant Difference))等,或是采用第三方的工具包等)。对于得到的若干条直线,其中即包括了坐标轴,当然还可能包括了其它线条。在这些得到直线时,PC可根据这些直线与数据柱的位置关系确定出坐标轴的位置,例如,当坐标轴的x轴为自变量轴、y轴为因变量轴时,x轴必然与所有数据柱的某一边相重合,y轴与所有的数据柱均不相交,且与x轴垂直相交,x轴与y轴的交点即为坐标轴原点。
步骤S40,对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;
本实施例中,PC在确定坐标轴位置时,会对待识别柱状图中的文字进行定位和识别,从而得到待识别柱状图中的文字内容;而对于该文字识别,则可以是通过第三方工具实现,例如通过调用opencv的mser进行文字检测。而在通过mser识别的过程中,由于mser是根据联通区域来检测文字,因此会有一些噪声点,并且文字区域由多个小框覆盖;因此可以在得到文库框时进行噪声框的舍弃;即舍弃一些大框和超小框(大小框的确定可以是预设框标准实现),然后对剩下的框进行合并,得到校正文字框,再通过OCR算法对校正文字框的文字进行识别。
进一步的,在进行文字定位和识别的过程,为了提高效率,还可预先对待识别柱状图进行一定的预处理。具体的,所述对所述待识别柱状图中进行文字定位和识别的步骤包括:
将所述数据柱、所述图例和所述坐标轴从所述待识别柱状图消除,得到消除处理图;
本实施例中,PC可以先将待识别柱状图中的数据柱、图例、坐标轴从待识别柱状图中消除,消除后的图可称为消除处理图;其中,该消除的方式可以是将数据柱、图例、坐标轴所在区域用背景色填充,或是分割裁剪掉这些区域等;当然,在进行消除过程中,其它区域以及图的尺寸等将保持不变。
对所述消除处理图进行文字定位和识别。
在得到消除处理图后,PC可对消除处理图进行文字定位和识别。通过以上方式,减少了非文字区域对文字定位和识别过程带来的不利影响,有利于提高文字定位和识别的效率和准确性。
本实施例中,在得到确定文字内容时,PC将会根据文字与数据柱、图例、坐标轴之间的位置关系确定文字的释义对象,也即确定各部分文字是对哪个部分的图进行说明。例如,图例附近的文字,其释义对象为图例,即对图例的说明(如蓝色图例是代表A公司,绿色图例是代表B公司);x轴下方的文字,其释义对象为x轴,即每段x轴的数据属性(如x轴分别包括2015年、2016年),y轴左侧的文字,其释义对象为y轴,即每段y轴表示的数据值。值得说明的是,某一文字可能包括两个以上的释义对象,例如对于x轴的释义文字,也可认为是对该处数据柱的释义文字(如x轴下方的文字,其上方包括两个数据柱,则该文字的释义对象还包括上述两个数据柱)。
步骤S50,根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;
本实施例中,PC在确定文字的释义对象时,即可根据该释义对象确定数据柱的数据柱属性,例如某颜色的数据柱有三根,其在x轴下的文字分别为2015、2016、2017三个年份,则该数据柱的数据属性包括年份2015、2016和2017;而该颜色的数据柱所对应的图例,其文字为A公司,则该数据柱的数据属性还包括公司A。此外,还可根据文字的释义对象确定坐标轴的数值表示规则,值得说明的是,在实际操作中一般是以y轴作为因变量轴(数值轴),因此可以是根据y轴的文字确定坐标轴的数值标识规则,例如y轴代表利润,每段y轴刻度处的文字代表该段y轴对应的利润值。而在确定y轴的数值标识规则时,即可根据各数据柱的几何形状和该数值表示规则确定各数据柱的数据值。例如,y轴最高刻度处的文字为5000,而某数据柱在y轴方向的边长(即数据柱的高度)仅为该最高刻度与原点距离的5/4,则该数据柱的数据值为4000(利润4000)。
步骤S60,根据所述数据柱属性和所述数据值输出对应的柱状图识别结果。
本实施例中,PC在得到各数据柱的数据柱属性和数据值时,即可根据数据柱属性和数据值输出对应的柱状图识别结果。当然在输出时,可以是为每根数据柱输出一条记录。例如某红色数据柱,其数据属性包括公司A(图例处的文字)、年份2015(x轴下方的文字),其数据值为利润4000,则可得到记录公司A、2015年、利润4000,如记录为数组(A,2015,4000)。当然,在输出完成时,PC还可基于某一维度对这些记录进行整合,例如将以公司为维度,整合为各公司在各年度的利润记录,又或者是以年为维度,整合为各年度中各公司的利润记录等;还可以根据实际需要,以表格的形式进行输出柱状图识别结果。
进一步的,本实施例中,所述柱状图识别结果包括柱状图数据表,所述步骤S60包括:
创建空白数据表;
PC在得到各数据柱的数据柱属性和数据值时,还可以是以数据表的形式输出柱状图识别结果。具体的,PC首先可创建以空白数据表,为描述方便,本实施例中的空白数据表是以行的形式进行数据记录。
根据所述数据柱属性配置所述空白数据表的字段名和各数据行的数据对象,并根据所述数据值配置所述各数据行的字段值,得到所述待识别柱状图对应的柱状图数据表。
在得到空白数据表时,PC可根据数据柱属性配置空白数据表的字段名和各数据行的数据对象;其中,数据行的数据对象可以是根据图例处的文字进行配置,而字段名则可以是根据坐标轴(因变量轴)的文字进行配置。然后,PC可根据数据柱的数据值配置各数据行的字段值,从而得到待识别柱状图对应的柱状图数据表,并将该柱状图数据表作为柱状图识别结果,例如,对于上述步骤S60中的红色数据柱,其数据属性包括公司A(图例处的文字)、年份2015(x轴下方的文字),其数据值为利润4000,可得到对应的柱状图数据表如下表:
2015年 | |
公司A | 利润4000 |
通过以上方式,本实施例中还可以数据表的方式输出柱状图识别结果,从而实现了柱状图到结构化数据的转化。
本实施例中,在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;根据所述数据柱属性和所述数据值输出对应的柱状图识别结果。通过以上方式,本实施例以颜色识别的方式对柱状图中的数据柱和图例进行识别和定位,然后通过文字识别的方式识别出柱状图中的相关文字信息,再将文字信息、数据柱和图例进行关联解析,得到柱状图所表达的数据,从而解决现有技术中无法自动对柱状图进行识别和数据提取的问题,实现柱状图非结构化数据的获取,有利于提高数据采集的效率。
基于上述图2所示实施例,提出本发明柱状图识别方法第二实施例。
参见图3,图3为本发明柱状图识别方法第二实施例的流程示意图。
本实施例中,所述步骤S60之后,还包括:
,获取所述待识别柱状图对应的数据收集方信息;
本实施例中,PC在得到柱状图识别结果时,还可以向需要收集该柱状图数据的用户发送邮件。具体的,PC在得到柱状图识别结果时,将获取待识别柱状图对应的数据收集方信息,该数据收集方信息包括有需要收集该柱状图数据的用户的邮箱地址等信息。
启动预设邮箱软件,并提取所述预设邮箱软件中的预设邮件模板;
本实施例中,在得到该数据收集方信息时,PC将启动预设邮箱软件,然后提取该预设邮箱软件中的预设邮件模板。当然,该预设邮件模板的模板内容可以是根据实际情况进行设置。
根据所述数据收集方信息配置所述预设邮件模板的邮件头部参数,根据所述柱状图识别结果配置所述预设邮件模板的邮件主体,得到柱状图数据邮件;
本实施例中,在得到预设邮件模板时,PC将根据数据收集方信息配置所述预设邮件模板的邮件头部参数,也即配置邮件的收件人、抄送人等信息;而对于邮件主题,可以是预设邮件模板设置好的内容,也可以是根据数据收集方信息配置得到。其次,PC还将根据柱状图识别结果配置预设邮件模板的邮件主体;例如,当以数据表的形式输出柱状图识别结果时,可以是上传该数据表附件,或是在邮件主题中表现该数据表;又例如,还可以是以数据柱识别记录的方式在邮件主题中表现该柱状图识别结果。在对预设邮件模板配置完成时,即得到了柱状图数据邮件。
根据配置好的邮件头部参数发送所述柱状图数据邮件。
本实施例中,在对预设邮件模板配置完成时,即得到了柱状图数据邮件,此时PC将根据配置好的邮件头部参数发送所述柱状图数据邮件,以使数据收集方获得该柱状图数据内容。通过以上方式,在得到柱状图识别结果时,可以根据实际需要向需要收集该柱状图数据的用户发送邮件,实现了柱状图识别结果的自动发送,有利于提高数据采集的效率。
此外,本发明实施例还提供一种柱状图识别装置。
参照图3,图3为本发明柱状图识别装置第一实施例的功能模块示意图。
本实施例中,所述柱状图识别装置包括:
颜色统计模块10,用于在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;
位置确定模块20,用于根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;
直线检测模块30,用于对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;
对象确定模块40,用于对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;
数据值确定模块50,用于根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;
结果输出模块60,用于根据所述数据柱属性和所述数据值输出对应的柱状图识别结果。
其中,上述柱状图识别装置的各虚拟功能模块存储于图1所示柱状图识别设备的存储器1005中,用于实现柱状图识别程序的所有功能;各模块被处理器1001执行时,可实现柱状图识别的功能。
进一步的,所述颜色统计模块10包括:
柱状图获取单元,用于在接收到柱状图识别指令时,获取待识别柱状图,并获取所述待识别柱状图中各像素点的RGB值;
颜色统计单元,用于将各像素点的RGB值转换为对应的HSV值,并基于各像素点的HSV值统计得到所述待识别柱状图对应的颜色分布。
进一步的,所述颜色统计单元包括:
像素点合并子单元,用于根据预设基本色的HSV区域范围以及各像素点的HSV值对各像素点进行基本色合并,得到至少两个基本色像素点集;
点集统计子单元,用于基于各基本色像素点集统计得到所述待识别柱状图对应的颜色分布。
进一步的,所述待识别柱状图的背景色与所述数据柱颜色分属不同的基本色,所述点集统计子单元具体用于:
根据各基本色像素点集包括的像素点数量将各基本色像素点集排序,其中,基本色像素点集的像素点数量越多,排序越靠前;
设所述数据柱颜色的种类数量为N,N初始取1;
确定排序第N+1位的基本色像素点集和排序第N+2位的基本色像素点集的像素点数量差值,并判断所述像素点数量差值是否大于预设阈值;
若所述像素点数量差值大于所述预设阈值,则将排序第二位至第N+1位的基本色像素点集所对应的基本色确定为所述待识别柱状图的数据柱颜色;
若所述像素点数量差值小于或等于所述预设阈值,则将当前N的取值加1,并执行步骤确定排序第N+1位的基本色像素点集和排序第N+2位的基本色像素点集的像素点数量差值,并判断所述像素点数量差值是否小于预设阈值。
进一步的,所述对象确定模块40包括:
消除处理单元,用于将所述数据柱、所述图例和所述坐标轴从所述待识别柱状图消除,得到消除处理图;
文字识别单元,用于对所述消除处理图进行文字定位和识别。
进一步的,所述柱状图识别结果包括柱状图数据表,所述结果输出模块60包括:
数据表创建单元,用于创建空白数据表;
数据表配置单元,用于根据所述数据柱属性配置所述空白数据表的字段名和各数据行的数据对象,并根据所述数据值配置所述各数据行的字段值,得到所述待识别柱状图对应的柱状图数据表。
进一步的,所述柱状图识别装置还包括:
信息获取模块,用于获取所述待识别柱状图对应的数据收集方信息;
模板提取模块,用于启动预设邮箱软件,并提取所述预设邮箱软件中的预设邮件模板;
邮件配置模块,用于根据所述数据收集方信息配置所述预设邮件模板的邮件头部参数,根据所述柱状图识别结果配置所述预设邮件模板的邮件主体,得到柱状图数据邮件;
邮件发送模块,用于根据配置好的邮件头部参数发送所述柱状图数据邮件。
其中,上述柱状图识别装置中各个模块的功能实现与上述柱状图识别方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有柱状图识别程序,其中所述柱状图识别程序被处理器执行时,实现如上述的柱状图识别方法的步骤。
其中,柱状图识别程序被执行时所实现的方法可参照本发明柱状图识别方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种柱状图识别方法,其特征在于,所述柱状图识别方法包括:
在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;
根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;
对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;
对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;
根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;
根据所述数据柱属性和所述数据值输出对应的柱状图识别结果;
所述在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布的步骤还包括:
在接收到柱状图识别指令时,获取待识别柱状图,并获取所述待识别柱状图中各像素点的RGB值;
将各像素点的RGB值转换为对应的HSV值,并基于各像素点的HSV值统计得到所述待识别柱状图对应的颜色分布,所述颜色分布通过键值对形式进行表示和存储,所述键值对形式的索引为由所述各像素点的HSV值中三通道的各数值连接而成的字符串;
所述对所述待识别柱状图中进行文字定位和识别的步骤,包括:
对所述待识别柱状图中进行文字定位;
通过调用opencv的mser获取所述待识别柱状图对应的文库框;
基于预设框标准对所述文库框进行噪声框舍弃,获得剩余框;
对所述剩余框进行合并,获得校正文字框,并通过OCR算法对所述校正文字框进行文字识别。
2.如权利要求1所述的柱状图识别方法,其特征在于,所述基于各像素点的HSV值统计得到所述待识别柱状图对应的颜色分布的步骤包括:
根据预设基本色的HSV区域范围以及各像素点的HSV值对各像素点进行基本色合并,得到至少两个基本色像素点集;
基于各基本色像素点集统计得到所述待识别柱状图对应的颜色分布。
3.如权利要求2所述的柱状图识别方法,其特征在于,所述待识别柱状图的背景色与所述数据柱颜色分属不同的基本色,
所述根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色的步骤包括:
根据各基本色像素点集包括的像素点数量将各基本色像素点集排序,其中,基本色像素点集的像素点数量越多,排序越靠前;
设所述数据柱颜色的种类数量为N,N初始取1;
确定排序第N+1位的基本色像素点集和排序第N+2位的基本色像素点集的像素点数量差值,并判断所述像素点数量差值是否大于预设阈值;
若所述像素点数量差值大于所述预设阈值,则将排序第二位至第N+1位的基本色像素点集所对应的基本色确定为所述待识别柱状图的数据柱颜色;
若所述像素点数量差值小于或等于所述预设阈值,则将当前N的取值加1,并执行步骤确定排序第N+1位的基本色像素点集和排序第N+2位的基本色像素点集的像素点数量差值,并判断所述像素点数量差值是否小于预设阈值。
4.如权利要求1所述的柱状图识别方法,其特征在于,所述对所述待识别柱状图中进行文字定位和识别的步骤包括:
将所述数据柱、所述图例和所述坐标轴从所述待识别柱状图消除,得到消除处理图;
对所述消除处理图进行文字定位和识别。
5.如权利要求1所述的柱状图识别方法,其特征在于,所述柱状图识别结果包括柱状图数据表,
所述根据所述数据柱属性和所述数据值输出对应的柱状图识别结果的步骤包括:
创建空白数据表;
根据所述数据柱属性配置所述空白数据表的字段名和各数据行的数据对象,并根据所述数据值配置所述各数据行的字段值,得到所述待识别柱状图对应的柱状图数据表。
6.如权利要求1至5中任一项所述的柱状图识别方法,其特征在于,所述根据所述数据柱属性和所述数据值输出对应的柱状图识别结果的步骤之后,还包括:
获取所述待识别柱状图对应的数据收集方信息;
启动预设邮箱软件,并提取所述预设邮箱软件中的预设邮件模板;
根据所述数据收集方信息配置所述预设邮件模板的邮件头部参数,根据所述柱状图识别结果配置所述预设邮件模板的邮件主体,得到柱状图数据邮件;
根据配置好的邮件头部参数发送所述柱状图数据邮件。
7.一种柱状图识别装置,其特征在于,所述柱状图识别装置包括:
颜色统计模块,用于在接收到柱状图识别指令时,获取待识别柱状图,并统计所述待识别柱状图的颜色分布;
位置确定模块,用于根据所述颜色分布分析确定所述待识别柱状图的数据柱颜色,并根据所述数据柱颜色对所述待识别柱状图的数据柱和图例进行定位,得到所述数据柱的位置和所述图例的位置;
直线检测模块,用于对所述待识别柱状图进行直线检测,并根据所述直线与所述数据柱的位置关系确定坐标轴的位置;
对象确定模块,用于对所述待识别柱状图中进行文字定位和识别,并根据所述文字与所述数据柱、所述图例、所述坐标轴之间的位置关系确定所述文字的释义对象;
数据值确定模块,用于根据所述文字的释义对象确定所述数据柱的数据柱属性和所述坐标轴的数值表示规则,并根据所述数据柱的几何形状和所述数值表示规则确定所述数据柱的数据值;
结果输出模块,用于根据所述数据柱属性和所述数据值输出对应的柱状图识别结果;
所述颜色统计模块,还用于在接收到柱状图识别指令时,获取待识别柱状图,并获取所述待识别柱状图中各像素点的RGB值;将各像素点的RGB值转换为对应的HSV值,并基于各像素点的HSV值统计得到所述待识别柱状图对应的颜色分布,所述颜色分布通过键值对形式进行表示和存储,所述键值对形式的索引为由所述各像素点的HSV值中三通道的各数值连接而成的字符串;
所述对象确定模块,还用于对所述待识别柱状图中进行文字定位;通过调用opencv的mser获取所述待识别柱状图对应的文库框;基于预设框标准对所述文库框进行噪声框舍弃,获得剩余框;对所述剩余框进行合并,获得校正文字框,并通过OCR算法对所述校正文字框进行文字识别。
8.一种柱状图识别设备,其特征在于,所述柱状图识别设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的柱状图识别程序,其中所述柱状图识别程序被所述处理器执行时,实现如权利要求1至6中任一项所述的柱状图识别方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有柱状图识别程序,其中所述柱状图识别程序被处理器执行时,实现如权利要求1至6中任一项所述的柱状图识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910529585.9A CN110363092B (zh) | 2019-06-17 | 2019-06-17 | 柱状图识别方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910529585.9A CN110363092B (zh) | 2019-06-17 | 2019-06-17 | 柱状图识别方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110363092A CN110363092A (zh) | 2019-10-22 |
CN110363092B true CN110363092B (zh) | 2024-03-08 |
Family
ID=68216673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910529585.9A Active CN110363092B (zh) | 2019-06-17 | 2019-06-17 | 柱状图识别方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110363092B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143446A (zh) * | 2021-10-20 | 2022-03-04 | 深圳航天智慧城市系统技术研究院有限公司 | 基于边缘计算的柱状图识别方法、系统、存储介质及设备 |
CN115205859A (zh) * | 2022-09-13 | 2022-10-18 | 通联数据股份公司 | 用于将位图解析为结构化数据的方法、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784301A (zh) * | 2016-08-31 | 2018-03-09 | 百度在线网络技术(北京)有限公司 | 用于识别图像中文字区域的方法和装置 |
CN108416377A (zh) * | 2018-02-26 | 2018-08-17 | 阿博茨德(北京)科技有限公司 | 柱状图中的信息提取方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10726252B2 (en) * | 2017-05-17 | 2020-07-28 | Tab2Ex Llc | Method of digitizing and extracting meaning from graphic objects |
-
2019
- 2019-06-17 CN CN201910529585.9A patent/CN110363092B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784301A (zh) * | 2016-08-31 | 2018-03-09 | 百度在线网络技术(北京)有限公司 | 用于识别图像中文字区域的方法和装置 |
CN108416377A (zh) * | 2018-02-26 | 2018-08-17 | 阿博茨德(北京)科技有限公司 | 柱状图中的信息提取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110363092A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657738B (zh) | 字符识别方法、装置、设备及存储介质 | |
CN110390269B (zh) | Pdf文档表格提取方法、装置、设备及计算机可读存储介质 | |
WO2019169772A1 (zh) | 图片处理方法、电子装置及存储介质 | |
CN110363102B (zh) | 一种pdf文件的对象识别处理方法及装置 | |
CN111401314B (zh) | 着装信息检测方法、装置、设备及存储介质 | |
CN107688789B (zh) | 文档图表抽取方法、电子设备及计算机可读存储介质 | |
CN113139445A (zh) | 表格识别方法、设备及计算机可读存储介质 | |
CN110197238B (zh) | 一种字体类别的识别方法、系统及终端设备 | |
CN104298982A (zh) | 一种文字识别方法及装置 | |
CN108564079B (zh) | 一种便携式字符识别装置及方法 | |
CN101908136A (zh) | 一种表格识别处理方法及系统 | |
CN110363092B (zh) | 柱状图识别方法、装置、设备及计算机可读存储介质 | |
CN108255555A (zh) | 一种系统语言切换方法及终端设备 | |
CN113569863A (zh) | 一种单据稽查的方法、系统、电子设备及存储介质 | |
CN111553334A (zh) | 问卷图像识别方法、电子装置及存储介质 | |
CN110135407B (zh) | 样本标注方法及计算机存储介质 | |
CN112784220B (zh) | 一种纸质合同防篡改校验方法及系统 | |
CN111222585A (zh) | 数据处理方法、装置、设备及介质 | |
CN113627423A (zh) | 圆形印章字符识别方法、装置、计算机设备和存储介质 | |
CN110737687A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN109635729B (zh) | 一种表格识别方法及终端 | |
CN115909375A (zh) | 一种基于智能识别的报表分析方法 | |
CN113569677B (zh) | 一种基于扫描件的纸质试验报告生成方法 | |
CN110619056A (zh) | 发票录入方法、装置、设备及计算机存储介质 | |
CN117058157A (zh) | 一种cad图纸的切割与标注方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |