CN108304763B - 思维导图识别方法、装置、存储介质和计算机设备 - Google Patents
思维导图识别方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108304763B CN108304763B CN201711250518.0A CN201711250518A CN108304763B CN 108304763 B CN108304763 B CN 108304763B CN 201711250518 A CN201711250518 A CN 201711250518A CN 108304763 B CN108304763 B CN 108304763B
- Authority
- CN
- China
- Prior art keywords
- mind map
- pixel
- pixel points
- node
- pixel point
- 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
Images
Classifications
-
- 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
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- 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
- G06V30/41—Analysis of document content
- G06V30/416—Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
-
- 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/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Character Input (AREA)
Abstract
本申请涉及一种思维导图识别方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取思维导图图像;在所述思维导图图像中分离思维导图连线和文字块;确定每个所述文字块所在的节点,所述节点包括根节点;从所述根节点起,沿所述思维导图连线确定所述节点之间的关系;对所述文字块进行文字识别,得到每个所述节点中的文字。本申请提供的方案提高了思维导图文件的兼容性。
Description
技术领域
本申请涉及图像识别技术领域,特别是涉及一种思维导图图像处理方法、装置、存储介质和计算机设备。
背景技术
随着计算机技术的发展,人们在日常工作和生活中,越来越倾向于利用思维导图来辅助思考。思维导图是一种通过关键词对不同主题进行形象化地分类和构造的思维“地图”,可以将各级主题用相互隶属或并列等的关系以层级图表示出来,清晰明了。随着思维导图的广泛使用,制作思维导图的工具也日益增加,因此,在日常工作和生活中常常会涉及到需要用一个工具打开另一个工具制作的思维导图文件。
但由于使用这些工具制作的思维导图文件的格式是不一致的,如果让一个工具制作的思维导图文件被另一个工具编辑,需要额外地开发不同工具之间思维导图文件的转化逻辑,否则就不能正常编辑,导致思维导图文件的使用受限于工具种类,兼容性差。
发明内容
基于此,有必要针对思维导图使用兼容性差的技术问题,提供一种思维导图识别方法、装置、存储介质和计算机设备。
一种思维导图识别方法,包括:
获取思维导图图像;
在所述思维导图图像中分离思维导图连线和文字块;
确定每个所述文字块所在的节点,所述节点包括根节点;
从所述根节点起,沿所述思维导图连线确定所述节点之间的关系;
对所述文字块进行文字识别,得到每个所述节点中的文字。
一种思维导图识别装置,包括:
获取模块,用于获取思维导图图像;
分离模块,用于在所述思维导图图像中分离思维导图连线和文字块;
确定模块,用于确定每个所述文字块所在的节点,所述节点包括根节点;
所述确定模块还用于从所述根节点起,沿所述思维导图连线确定所述节点之间的关系;
文字识别模块,用于对所述文字块进行文字识别,得到每个所述节点中的文字。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述思维导图识别方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述思维导图识别方法的步骤。
上述思维导图识别方法、装置、存储介质和计算机设备,获取思维导图图像,通过将思维导图图像中的思维导图连线和文字块进行分离,可方便对思维导图连线和文字块分别进行不同的处理。通过文字块可确定文字块所在的节点,其中,节点中包括根节点。从根节点开始,沿思维导图连线可确定各节点之间的父子连接关系。对文字块进行文字识别,可得到每个节点中的文字。这样,通过图像处理技术,就可从图像形式的思维导图中识别出计算机可处理的思维导图内容进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
附图说明
图1为一个实施例中思维导图识别方法的应用环境图;
图2为一个实施例中思维导图识别方法的流程示意图;
图3为一个实施例中删除思维导图连线后的思维导图图像的示意图;
图4为一个实施例中在思维导图图像中分离思维导图连线和文字块步骤的流程示意图;
图5为一个实施例中将获取的思维导图图像转化为二值化的思维导图图像步骤的流程示意图;
图6A为一个实施例中灰度化的思维导图图像的示意图;
图6B为一个实施例中二值化的思维导图图像的示意图;
图7为一个实施例中从根节点起,沿思维导图连线确定节点之间的关系步骤的流程示意图;
图8为一个实施例中按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点步骤的流程示意图;
图9为一个实施例中从思维导图连线中选取的代表像素点和属于相应文字块的控制像素点的示意图;
图10为另一个实施例中思维导图识别方法的流程示意图;
图11为一个实施例中思维导图识别装置的结构框图;
图12为另一个实施例中思维导图识别装置的结构框图;
图13为又一个实施例中思维导图识别装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中思维导图识别方法的应用环境图。参照图1,该思维导图识别方法应用于一种计算机设备。该计算机设备可以是终端或者服务器。终端可以是台式设备或者移动终端。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。如图1所示,该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得所述处理器执行思维导图识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得所述处理器执行思维导图识别方法。该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供了一种思维导图识别方法。本实施例主要以该方法应用于上述图1中的计算机设备来举例说明。参照图2,该思维导图识别方法具体包括如下步骤:
S202,获取思维导图图像。
其中,思维导图图像是含有思维导图内容的图像。思维导图图像包括思维导图内容和背景。其中,思维导图内容包括思维导图连线和文字。在一个实施例中,计算机设备可获取自身存储的思维导图图像。计算机设备还可通过网络连接、USB(Universal SerialBus,通用串行总线)连接或蓝牙连接等通信方式获取其他设备存储的思维导图图像。
在一个实施例中,计算机设备可获取思维导图文件,在思维导图文件处于显示状态时,通过截图工具截取含有思维导图内容的图像。计算机设备还可通过将思维导图文件以图像格式保存以获取思维导图图像,图像格式比如png(Portable Network Graphics,便携式网络图形)、bmp(Bitmap,位图)或jpeg(Joint Photographic Experts Group,国际图像压缩标准)等格式。
S204,在思维导图图像中分离思维导图连线和文字块。
其中,思维导图连线是思维导图图像中的线条,用于连接文字块。文字块是满足邻近条件的文字组成的块,文字块与文字块之间具有明显的距离。具体地,计算机设备可通过思维导图图像中各像素点之间的像素点差异,将思维导图内容和背景区分开。
在一个实施例中,计算机设备可通过DFS(Depth First Search,深度优先搜索)方式遍历思维导图图像中所有像素点,查找并获取思维导图图像中的连通块。其中,连通块是由相连通的像素点所组成的块。相连通是指像素点相邻且像素点的灰度值满足预设的相似性准则。预设的相似性准则比如,像素点相同或相邻像素点的像素值差值在±10个像素值内等。计算机设备在获取思维导图图像中的连通块后,确定每个连通块的矩形包围盒。其中,矩形包围盒是包围整个连通块的最小矩形。比较各连通块的矩形包围盒,将最大的矩形包围盒所对应的连通块作为思维导图连线。
计算机设备确定思维导图连线后,可去除掉思维导图连线。图3示出了一个实施例中,删除思维导图连线后的思维导图图像。当计算机删除思维导图连线后,将思维导图内容剩下的部分作为思维导图图像的文字。进一步地,计算机设备可将满足邻近条件的文字组成块构成文字块,邻近条件比如相邻文字的间距小于预设阈值。
在一个实施例中,计算机设备可将思维导图图像导入到预先训练好的SSD(SingleShot Multi Box Detector,单点多盒检测器)模型中,通过SSD模型识别思维导图图像中的文字。进一步地,计算机设备可将满足邻近条件的文字组成块构成文字块。
S206,确定每个文字块所在的节点,节点包括根节点。
其中,节点是思维导图文件中有效而完整的结构的最小单元。根节点是思维导图的一个组成部分,是思维导图中除本身外所有节点的祖先,并且,根节点没有父节点。一个完整的思维导图中有且仅有一个根节点。
具体地,计算机设备在将思维导图图像中的文字合并成文字块后,根据文字块在思维导图图像中的位置,将每个文字块分别与该文字块所在的位置处的节点相关联。计算机设备在确定文字块后,根据文字块在思维导图图像中的位置,就可确定该文字块所在的节点。
在一个实施例中,计算机设备可检测节点选取操作,将节点选取操作所作用的节点作为根节点。其中,节点选取操作是选取节点的触发操作,用于选取节点。节点选取操作具体可以是触摸操作、光标操作或者按键操作。其中,触摸操作可以是触摸点击操作、触摸按压操作或者触摸滑动操作,触摸操作可以是单点触摸操作或者多点触摸操作;光标操作可以是控制光标进行点击的操作或者控制光标进行按压的操作;按键操作可以是虚拟按键操作或者实体按键操作等。
在一个实施例中,计算机设备可获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。具体地,计算机设备在分离文字块后,比较每个文字块的高度。将高度最高的文字块所在的节点作为根节点。
上述实施例中,可通过检测节点选取操作选择根节点,或将高度最高的文字块所在的节点作为根节点,可简单、高效地确定节点中的根节点。
S208,从根节点起,沿思维导图连线确定节点之间的关系。
其中,节点之间的关系是节点之间的父子关系。节点之间的关系包括根节点和非根节之间的关系,以及非根节点和非根节点之间的关系。比如,节点A是根节点,节点B、C和D是非根节点,其中根节点A和非根节点B相连,非根节点B分别和非根节点C和非根节点D相连。节点之间的关系包括根节点A和非根节点B之间的关系、非根节点B和非根节点C之间的关系以及非根节点B和非根节点D之间的关系。具体地,计算机设备可预先确定思维导图节点中的根节点,从根节点起,沿思维导图连线确定各节点之间的父子关系。
在一个实施例中,计算机设备可从根节点的文字块开始,从远离根节点的方向,沿思维导图连线的方向采用BFS(Breadth First Search,广度优先搜索)方式遍历思维导图图像中的所有文字块。将当前遍历的文字块所在的节点作为前次遍历到的文字块所在节点的子节点。
在一个实施例中,计算机设备沿思维导图连线,将思维导图连线中与文字块距离最近的连线像素点作为相应文字块的代表像素点。当思维导图连线中与文字块距离最近的连线像素点多于一个时,则取最近的连线像素点中靠近根节点的一个连线像素点作为相应文字块的代表像素点。计算机设备可从根节点的代表像素点开始,从远离根节点的方向,采用BFS方式,遍历思维导图连线中的连线像素点。在当前遍历到的代表像素点所对应的文字块相较于前次遍历到的代表像素点所对应的文字块发生变化时,则将当前遍历到的代表素点所对应的文字块所在节点,作为前次遍历到的代表像素点所对应的文字块所在节点的子节点。
在一个实施例中,计算机设备按照每个文字块所在的位置,从思维导图连线中选取满足预设条件的连线像素点作为属于相应文字块的控制像素点。预设条件,比如属于相应文字块的控制像素点的集合能唯一表示相应的文字块。计算机设备可从根节点开始,从远离根节点的方向,采用BFS方式,遍历思维导图中的连线像素点。在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。
S210,对文字块进行文字识别,得到每个节点中的文字。
其中,文字识别是计算机设备将思维导图图像中的文字,识别成可编辑的字符。具体地,计算机设备可通过OCR(Optical Character Recognition,光学字符识别)技术,识别思维导图图像中的文字,并翻译成计算机可编辑的文本内容。
上述思维导图识别方法,获取思维导图图像,通过将思维导图图像中的思维导图连线和文字块进行分离,可方便对思维导图连线和文字块分别进行不同的处理。通过文字块可确定文字块所在的节点,其中,节点中包括根节点。从根节点开始,沿思维导图连线可确定各节点之间的父子连接关系。对文字块进行文字识别,可得到每个节点中的文字。这样,通过图像处理技术,就可从图像形式的思维导图中识别出计算机可处理的思维导图内容进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
在一个实施例中,如图4所示,步骤S204包括以下步骤:
S402,将获取的思维导图图像转化为二值化的思维导图图像;二值化的思维导图图像包括分别置为不同像素值的思维导图内容像素点和背景像素点。
其中,二值化是图像的二值化,是将图像上的像素点的灰度值设置为预设的两个灰度值,例如0或255,使得图像呈现出明显的黑和白的视觉效果。经过二值化处理后的图像仍然可以反映图像的整体和局部特征。思维导图内容像素点是思维导图图像中思维导图内容的像素点,包括连线像素点和文字像素点。具体地,连线像素点的集合构成思维导图连线,文字像素点的集合构成思维导图图像中的文字块。背景像素点是思维导图图像中的背景的像素点。
具体地,计算机设备获取思维导图图像后,可将思维导图图像转化为灰度化的思维导图图像。其中,灰度化是将彩色图像的RGB(red green blue,红绿蓝)值设置为灰度值,灰度值的取值范围为0至255,也就是将图像的彩色表示为一种灰色。将思维导图图像转化为灰度化的思维导图图像,是将思维导图图像中每个像素点的RGB值转化为灰度值,使得思维导图图像的每个像素点中的R=G=B=Gray。
进一步地,计算机设备将思维导图图像转化为灰度化的思维导图图像后,可将思维导图内容像素点全部置为第一像素值,将背景像素点全部置为第二像素值。第一像素值比如255,第二像素值比如0。
S404,从思维导图内容像素点中确定连线像素点和文字像素点;连线像素点构成思维导图连线。
在一个实施例中,计算机设备可遍历思维导图内容像素点,查找并获取思维导图图像中的连通块。确定每个连通块的矩形包围盒,将最大的矩形包围盒所对应的连通块作为思维导图连线,构成思维导图连线的思维导图内容像素点就是连线像素点。思维导图内容像素点中除连线像素点外的像素点就是文字像素点。
在一个实施例中,计算机设备可通过SSD模型识别思维导图图像中的文字。构成思维导图图像中的文字的像素点就是文字像素点。思维导图内容像素点中除文字像素点外的像素点就是连线像素点。
S406,将满足邻近条件的文字像素点合并成为文字块。
具体地,计算机设备在确定连线像素点和文字像素点后,将满足邻近条件的文字像素点合并成为文字块。邻近条件比如相邻文字像素点的间距小于预设距离。
在一个实施例中,计算机设备可采用BFS算法,遍历思维导图图像中的所有文字像素点,将像素点周围一定距离内的所有文字像素点合并在一起,构成文字块。
上述实施例中,通过将获取的思维导图图像转化为二值化的思维导图图像,可使得思维导图图像中的数据量大大减少,极大地凸显出了思维导图内容。使得后续从思维导图内容像素点中确定连线像素点和文字像素点变得更简单容易,也进一步提高了将满足邻近条件的文字像素点合并成为文字块的效率。
在一个实施例中,步骤S402具体包括以下步骤:
S502,将获取的思维导图图像转化为灰度化的思维导图图像。
具体地,计算机设备可通过将思维导图图像的RGB值转化为灰度值的方法将思维导图图像转化为灰度化的思维导图图像。将思维导图图像的RGB值转化为灰度值的方法具体可以是加权平均法、最大值法或平均值法等。举例说明,加权平均法是将思维导图图像中每个像素点的灰度值设为该像素点的RGB值的加权平均值,比如Gray=0.30R+0.59G+0.11B。再将思维导图图像的RGB值转化为灰度值。
S504,从灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值。
其中,边缘点是思维导图图像中灰度值变化最明显的点。具体地,计算机设备可将灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点。并将所有思维导图内容像素点的像素值置为第一像素值,第一像素值比如0或255等。
在一个实施例中,计算机设备可采用Sobel operator(索贝尔算子)检测思维导图图像中的边缘点。具体地,Sobel卷积因子如下:
其中,x和y分别是图像中两个维度的方向。
用A代表原始的思维导图图像的像素点的灰度值,Gx及Gy分别代表经横向及纵向边缘检测的像素点的灰度值,则:
在一个实施例中,计算机设备可预先设置阈值。阈值的选取有多种方式,比如,计算机设备可扫描思维导图图像中的所有像素点,计算所有像素点的平均灰度值,将平均灰度值作为阈值。又或者,计算机设备可使用直方图方法来确定阈值,具体是绘制思维导图图像中像素点的像素值的直方图,查找直方图中的两个最高的峰,然后将两个峰之间的峰谷最低处的像素值作为阈值。当计算机设备设置合理的阈值后,可将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点,并将所有的内容像素点的像素值置为第一像素值。
S506,从灰度化的思维导图图像中,将除思维导图内容像素点的像素点作为背景像素点并置为第二像素值。
具体地,计算机设备在确定了思维导图内容像素点后,可将灰度化的思维导图图像中,除思维导图内容像素点的像素点作为背景像素点,并将所有背景像素点的像素值置为第二像素值。其中,第二像素值比如255或0等,并且,第二像素值不同于第一像素值。
图6示出了一个实施例中对思维导图图像进行二值化处理前后的对比图。参考图6,图6A为灰度化的思维导图图像,图6B为二值化的思维导图图像。其中,图6B中二值化的思维导图图像中的第一像素值为255,第二像素值为0。
上述实施例中,将灰度化的思维导图图像转化为二值化的思维导图图像,并将思维导图内容像素点置为第一像素值,将背景像素点置为第二像素值,可以明确地通过第一像素值和第二像素值区分开思维导图图像中的思维导图内容和背景,突出了思维导图内容,方便对思维导图内容进行后续的图像处理。
在一个实施例中,步骤S502具体包括以下步骤:将获取的思维导图图像进行灰度化处理,得到灰度图像;遍历灰度图像中的像素点;将遍历的像素点的像素值置为遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
在一个实施例中,在以图像格式保存思维导图图像时,png和bmp格式能无偏差地存储生成的思维导图图像,但jpeg格式因为存储方式,会产生噪音。因此,计算机设备获取思维导图图像后可对图像进行去噪处理。
具体地,计算机设备可将获取的思维导图图像进行灰度化处理,得到灰度图像。再通过遍历灰度图像中的像素点,将遍历的像素点的像素值置为遍历的像素点周围预设范围内像素点的像素值的平均值。其中,像素点周围预设范围内像素点,比如以该像素点为中心,周围K*K个像素点。再舍弃灰度值高于预设噪音阈值的像素点,也就是认为灰度值高于预设噪音阈值的像素点为噪音,将为噪音的像素点的像素值置为背景像素点的像素值。
上述实施例中,通过采用邻域平均法,将像素点的像素值置为该像素点周围预设范围内像素点的像素值的平均值,能抑制思维导图的灰度图像中的噪音像素点,使得灰度图像中的像素点实现像素平滑,达到去噪的目的。
在一个实施例中,步骤S208具体包括以下步骤:
S702,按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点。
具体地,计算机设备可按照文字块所在的位置,从思维导图连线中选取满足预设条件的连线像素点作为属于相应文字块的控制像素点。预设条件,比如属于相应文字块的控制像素点的集合能唯一表示相应的文字块。
在一个实施例中,计算机设备可按照文字块所在的位置,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
在一个实施例中,计算机设备可按照文字块所在的位置,选取相应文字块正下方的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
S704,从根节点起,遍历思维导图连线中的连线像素点。
具体地,计算机设备可从根节点起,从远离根节点的方向,采用BFS遍历的方式,遍历思维导图连线中的连线像素点。
S706,在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。
具体地,计算机设备遍历思维导图连线中的连线像素点时,在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。也就是前次遍历到的控制像素点所归属的文字块所在节点,是当前遍历到的控制像素点所归属的文字块所在节点的父节点。依次类推,直至计算机设备遍历完思维导图连线中的所有连线像素点,确定所有节点之间的父子关系时停止。
上述实施例中,计算机设备通过选取连线像素点作为属于相应文字块的控制像素点,使得控制像素点和文字块相对应。当遍历连线像素点时,遍历的控制像素点所归属的文字块发生变化时,可将变化后的文字块所在的节点作为变化前的文字块所在的节点的子节点。这样通过遍历连线像素点时,判断控制像素点所归属的文字块是否发生变化就可以简单、高效地确定节点之间的父子关系。
在一个实施例中,步骤S702具体包括以下步骤:
S802,在思维导图连线中选取每个文字块的代表像素点;代表像素点位于相应文字块靠近根节点的一侧。
具体地,计算机设备可从思维导图连线中选取每个文字块的代表像素点,代表像素点可以唯一表示相应的文字块。并且,代表像素点位于文字块靠近根节点的一侧。
在一个实施例中,计算机设备可从思维导图连线中选取与每个文字块距离最近的连线像素点,当最近的连线像素点多于一个时,取最近的连线像素点中靠近根节点的一个连线像素点作为相应文字块的代表像素点。
在一个实施例中,计算机设备可从思维导图连线中选取与每个文字块距离最近的连线像素点,当最近的连线像素点为一个时,则将最近的连线像素点作为相应文字块的代表像素点。
S804,从每个代表像素点起,朝远离根节点的方向,遍历思维导图连线中的连线像素点。
具体地,计算机设备可从每个文字块所确定的代表像素点起,朝远离根节点的方向,采用BFS方式,分别遍历思维导图连线中的连线像素点,直到遍历到不同文字块的代表像素点时停止。
S806,将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块。
具体地,计算机设备可从每个文字块所确定的代表像素点起,朝远离根节点的方向,分别遍历思维导图连线中的连线像素点。将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块。
S808,从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
具体地,计算机设备可从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。其中,选取相应文字块的宽度范围内的连线像素点,是选择在相应文字块的宽度范围内的处于相应文字块上下位置的连线像素点。
图9示出了一个实施例中从思维导图连线中选取的代表像素点和属于相应文字块的控制像素点的示意图。参考图9,思维导图连线中标注为圆点“·”的连线像素点为文字块的代表像素点,思维导图连线中标注为横线加粗“-”的连线像素点为文字块的控制像素点。
上述实施例中,从思维导图连线中选取每个文字块的代表像素点,从每个代表像素点起,朝远离根节点的方向,分别遍历思维导图连线中的连线像素点。将遍历的连线像素点中位于文字块的宽度范围内的连线像素点,作为连线像素点距离最近的文字块的控制像素点。这样通过确定每个文字块的代表像素点,就可在短时间内确定所有文字块的控制像素点,提高了思维导图图像中的文字块的控制像素点的选取效率。
在一个实施例中,该思维导图识别方法还包括生成思维导图文件的步骤,生成思维导图文件的步骤具体包括:获取目标思维导图文件格式;根据节点之间的关系以及每个节点中的文字,并按照目标思维导图文件格式,生成思维导图文件。
具体地,计算机设备可获取目标思维导图工具,根据目标思维导图工具可处理的文件格式确定目标思维导图文件格式。计算机设备根据节点之间的关系以及每个节点中的文字,按照目标思维导图文件格式,生成思维导图文件。
举例说明,当目标思维导图工具为XMind(思维导图)软件时,XMind软件可处理后缀名为.xmind的文件。因此,可确定目标思维导图文件格式为.xmind的格式。计算机设备将每个节点中的文字,根据节点之间的关系,转换成.xmind的格式,生成XMind软件可编辑的思维导图文件。
上述实施例中,根据节点之间的关系以及每个节点中的文字,按照目标思维导图文件格式,可生成目标思维导图工具能编辑的思维导图文件,进一步提高了思维导图的兼容性。
在一个实施例中,获取思维导图图像包括:获取从源思维导图工具中导出的思维导图图像;获取目标思维导图文件格式,包括:获取目标思维导图工具所采用的目标思维导图文件格式。
具体地,计算机设备可获取源思维导图工具中导出的思维导图图像,识别出思维导图图像中的节点之间的关系以及每个节点中的文字。将识别出的节点之间的关系以及每个节点中的文字转换成目标思维导图文件格式,生成思维导图文件,使得思维导图文件能被目标思维导图工具编辑。
上述实施例中,通过从源思维导图工具中导出的思维导图图像,进行思维导图识别,获取节点之间的关系以及每个节点中的文字。再根据节点之间的关系以及每个节点中的文字,按照目标思维导图文件格式,生成思维导图文件。使得思维导图文件能被目标思维导图工具编辑。这样通过思维导图识别,就可使得目标思维导图工具能对源思维导图工具生成的思维导图文件进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
如图10所示,在一个具体的实施例中,思维导图识别方法包括以下步骤:
S1002,获取从源思维导图工具中导出的思维导图图像。
S1004,将获取的思维导图图像进行灰度化处理,得到灰度图像。
S1006,遍历灰度图像中的像素点。
S1008,将遍历的像素点的像素值置为遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
S1010,从灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值。
S1012,从灰度化的思维导图图像中,将除思维导图内容像素点的像素点作为背景像素点并置为第二像素值。
S1014,从思维导图内容像素点中确定连线像素点和文字像素点;连线像素点构成思维导图连线。
S1016,将满足邻近条件的文字像素点合并成为文字块。
S1018,确定每个文字块所在的节点,节点包括根节点。
S1020,检测节点选取操作,将节点选取操作所作用的节点作为根节点;或者,获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。
S1022,从思维导图连线中选取与每个文字块距离最近的连线像素点;当最近的连线像素点多于一个时,取最近的连线像素点中靠近根节点的一个连线像素点作为相应文字块的代表像素点。
S1024,当最近的连线像素点为一个时,将最近的连线像素点作为相应文字块的代表像素点。
S1026,从每个代表像素点起,朝远离根节点的方向,遍历思维导图连线中的连线像素点。
S1028,将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块。
S1030,从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
S1032,从根节点起,遍历思维导图连线中的连线像素点。
S1034,在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。
S1036,对文字块进行文字识别,得到每个节点中的文字。
S1038,获取目标思维导图工具所采用的目标思维导图文件格式。
S1040,根据节点之间的关系以及每个节点中的文字,并按照目标思维导图文件格式,生成思维导图文件。
上述思维导图识别方法,获取思维导图图像,通过将思维导图图像中的思维导图连线和文字块进行分离,可方便对思维导图连线和文字块分别进行不同的处理。通过文字块可确定文字块所在的节点,其中,节点中包括根节点。从根节点开始,沿思维导图连线可确定各节点之间的父子连接关系。对文字块进行文字识别,可得到每个节点中的文字。这样,通过图像处理技术,就可从图像形式的思维导图中识别出计算机可处理的思维导图内容进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
图10为一个实施例中思维导图识别方法的流程示意图。应该理解的是,虽然图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图11所示,在一个实施例中,提供了一种思维导图识别装置1100,包括获取模块1101、分离模块1102、确定模块1103、文字识别模块1104。
获取模块1101,用于获取思维导图图像。
分离模块1102,用于在思维导图图像中分离思维导图连线和文字块。
确定模块1103,用于确定每个文字块所在的节点,节点包括根节点。
确定模块1103还用于从根节点起,沿思维导图连线确定节点之间的关系。
文字识别模块1104,用于对文字块进行文字识别,得到每个节点中的文字。
上述思维导图识别装置,获取思维导图图像,通过将思维导图图像中的思维导图连线和文字块进行分离,可方便对思维导图连线和文字块分别进行不同的处理。通过文字块可确定文字块所在的节点,其中,节点中包括根节点。从根节点开始,沿思维导图连线可确定各节点之间的父子连接关系。对文字块进行文字识别,可得到每个节点中的文字。这样,通过图像处理技术,就可从图像形式的思维导图中识别出计算机可处理的思维导图内容进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
在一个实施例中,分离模块1102还用于将获取的思维导图图像转化为二值化的思维导图图像;二值化的思维导图图像包括分别置为不同像素值的思维导图内容像素点和背景像素点;从思维导图内容像素点中确定连线像素点和文字像素点;连线像素点构成思维导图连线;将满足邻近条件的文字像素点合并成为文字块。
上述实施例中,通过将获取的思维导图图像转化为二值化的思维导图图像,可使得思维导图图像中的数据量大大减少,极大地凸显出了思维导图内容。使得后续从思维导图内容像素点中确定连线像素点和文字像素点变得更简单容易,也进一步提高了将满足邻近条件的文字像素点合并成为文字块的效率。
在一个实施例中,分离模块1102还用于将获取的思维导图图像转化为灰度化的思维导图图像;从灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值;从灰度化的思维导图图像中,将检测为边缘点、且像素值大于等于阈值的像素点作为背景像素点并置为第二像素值。
上述实施例中,将灰度化的思维导图图像转化为二值化的思维导图图像,并将思维导图内容像素点置为第一像素值,将背景像素点置为第二像素值,可以明确地通过第一像素值和第二像素值区分开思维导图图像中的思维导图内容和背景,突出了思维导图内容,方便对思维导图内容进行后续的图像处理。
在一个实施例中,分离模块1102还用于将获取的思维导图图像进行灰度化处理,得到灰度图像;遍历灰度图像中的像素点;将遍历的像素点的像素值置为遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
上述实施例中,通过采用邻域平均法,将像素点的像素值置为该像素点周围预设范围内像素点的像素值的平均值,能抑制思维导图的灰度图像中的噪音像素点,使得灰度图像中的像素点实现像素平滑,达到去噪的目的。
在一个实施例中,确定模块1103还用于按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点;从根节点起,遍历思维导图连线中的连线像素点;在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。
上述实施例中,计算机设备通过选取连线像素点作为属于相应文字块的控制像素点,使得控制像素点和文字块相对应。当遍历连线像素点时,遍历的控制像素点所归属的文字块发生变化时,可将变化后的文字块所在的节点作为变化前的文字块所在的节点的子节点。这样通过遍历连线像素点时,判断控制像素点所归属的文字块是否发生变化就可以简单、高效地确定节点之间的父子关系。
在一个实施例中,确定模块1103还用于在思维导图连线中选取每个文字块的代表像素点;代表像素点位于相应文字块靠近根节点的一侧;从每个代表像素点起,朝远离根节点的方向,遍历思维导图连线中的连线像素点;将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块;从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
上述实施例中,从思维导图连线中选取每个文字块的代表像素点,从每个代表像素点起,朝远离根节点的方向,分别遍历思维导图连线中的连线像素点。将遍历的连线像素点中位于文字块的宽度范围内的连线像素点,作为连线像素点距离最近的文字块的控制像素点。这样通过确定每个文字块的代表像素点,就可在短时间内确定所有文字块的控制像素点,提高了思维导图图像中的文字块的控制像素点的选取效率。
在一个实施例中,确定模块1103还用于从思维导图连线中选取与每个文字块距离最近的连线像素点;当最近的连线像素点多于一个时,取最近的连线像素点中靠近根节点的一个连线像素点作为相应文字块的代表像素点。
在一个实施例中,确定模块1103还用于当最近的连线像素点为一个时,将最近的连线像素点作为相应文字块的代表像素点。
在一个实施例中,如图12所示,思维导图识别装置1100还包括:检测模块1105。
检测模块1105,用于检测节点选取操作,将节点选取操作所作用的节点作为根节点;或者
获取模块1101还用于获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。
上述实施例中,可通过检测节点选取操作选择根节点,或将高度最高的文字块所在的节点作为根节点,可简单、高效地确定节点中的根节点。
在一个实施例中,如图13所示,思维导图识别装置1100还包括:生成模块1106。
获取模块1101还用于获取目标思维导图文件格式。
生成模块1106,用于根据节点之间的关系以及每个节点中的文字,并按照目标思维导图文件格式,生成思维导图文件。
上述实施例中,根据节点之间的关系以及每个节点中的文字,按照目标思维导图文件格式,可生成目标思维导图工具能编辑的思维导图文件,进一步提高了思维导图的兼容性。
在一个实施例中,获取模块1101还用于获取从源思维导图工具中导出的思维导图图像;获取目标思维导图工具所采用的目标思维导图文件格式。
上述实施例中,通过从源思维导图工具中导出的思维导图图像,进行思维导图识别,获取节点之间的关系以及每个节点中的文字。再根据节点之间的关系以及每个节点中的文字,按照目标思维导图文件格式,生成思维导图文件。使得思维导图文件能被目标思维导图工具编辑。这样通过思维导图识别,就可使得目标思维导图工具能对源思维导图工具生成的思维导图文件进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
在一个实施例中,本申请提供的思维导图识别装置可以实现为一种计算机程序的形式,计算机程序可在如图1所示的计算机设备上运行。计算机设备的存储器中可存储组成该思维导图识别装置的各个程序模块,比如,图11所示的获取模块、分离模块、确定模块和文字识别模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的思维导图识别方法中的步骤。
例如,图1所示的计算机设备可以通过如图11所示的思维导图识别装置中的获取模块执行步骤S202。计算机设备可通过分离模块执行步骤S204。计算机设备可通过确定模块执行步骤S206和S208。计算机设备可通过文字识别模块执行步骤S210。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取思维导图图像;在思维导图图像中分离思维导图连线和文字块;确定每个文字块所在的节点,节点包括根节点;从根节点起,沿思维导图连线确定节点之间的关系;对文字块进行文字识别,得到每个节点中的文字。
在一个实施例中,计算机程序使得处理器在执行在思维导图图像中分离思维导图连线和文字块的步骤时具体执行以下步骤:将获取的思维导图图像转化为二值化的思维导图图像;二值化的思维导图图像包括分别置为不同像素值的思维导图内容像素点和背景像素点;从思维导图内容像素点中确定连线像素点和文字像素点;连线像素点构成思维导图连线;将满足邻近条件的文字像素点合并成为文字块。
在一个实施例中,计算机程序使得处理器在执行将获取的思维导图图像转化为二值化的思维导图图像的步骤时具体执行以下步骤:将获取的思维导图图像转化为灰度化的思维导图图像;从灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值;从灰度化的思维导图图像中,将检测为边缘点、且像素值大于等于阈值的像素点作为背景像素点并置为第二像素值。
在一个实施例中,计算机程序使得处理器在执行将获取的思维导图图像转化为灰度化的思维导图图像的步骤时具体执行以下步骤:将获取的思维导图图像进行灰度化处理,得到灰度图像;遍历灰度图像中的像素点;将遍历的像素点的像素值置为遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
在一个实施例中,计算机程序使得处理器在执行从根节点起,沿思维导图连线确定节点之间的关系的步骤时具体执行以下步骤:按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点;从根节点起,遍历思维导图连线中的连线像素点;在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。
在一个实施例中,计算机程序使得处理器在执行按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点的步骤时具体执行以下步骤:在思维导图连线中选取每个文字块的代表像素点;代表像素点位于相应文字块靠近根节点的一侧;从每个代表像素点起,朝远离根节点的方向,遍历思维导图连线中的连线像素点;将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块;从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
在一个实施例中,计算机程序使得处理器在执行思维导图连线中选取每个文字块的代表像素点的步骤时具体执行以下步骤:从思维导图连线中选取与每个文字块距离最近的连线像素点;当最近的连线像素点多于一个时,取最近的连线像素点中靠近根节点的一个连线像素点作为相应文字块的代表像素点。
在一个实施例中,计算机程序使得处理器在执行思维导图连线中选取每个文字块的代表像素点的步骤时还执行以下步骤:当最近的连线像素点为一个时,将最近的连线像素点作为相应文字块的代表像素点。
在一个实施例中,计算机程序使得还处理器执行以下步骤:检测节点选取操作,将节点选取操作所作用的节点作为根节点;或者,获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。
在一个实施例中,计算机程序使得还处理器执行以下步骤:获取目标思维导图文件格式;根据节点之间的关系以及每个节点中的文字,并按照目标思维导图文件格式,生成思维导图文件。
在一个实施例中,计算机程序使得处理器在执行获取思维导图图像包括的步骤时具体执行以下步骤:获取从源思维导图工具中导出的思维导图图像;计算机程序使得处理器在执行获取目标思维导图文件格式的步骤时具体执行以下步骤:获取目标思维导图工具所采用的目标思维导图文件格式。
上述计算机设备,获取思维导图图像,通过将思维导图图像中的思维导图连线和文字块进行分离,可方便对思维导图连线和文字块分别进行不同的处理。通过文字块可确定文字块所在的节点,其中,节点中包括根节点。从根节点开始,沿思维导图连线可确定各节点之间的父子连接关系。对文字块进行文字识别,可得到每个节点中的文字。这样,通过图像处理技术,就可从图像形式的思维导图中识别出计算机可处理的思维导图内容进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:获取思维导图图像;在思维导图图像中分离思维导图连线和文字块;确定每个文字块所在的节点,节点包括根节点;从根节点起,沿思维导图连线确定节点之间的关系;对文字块进行文字识别,得到每个节点中的文字。
在一个实施例中,计算机程序使得处理器在执行在思维导图图像中分离思维导图连线和文字块的步骤时具体执行以下步骤:将获取的思维导图图像转化为二值化的思维导图图像;二值化的思维导图图像包括分别置为不同像素值的思维导图内容像素点和背景像素点;从思维导图内容像素点中确定连线像素点和文字像素点;连线像素点构成思维导图连线;将满足邻近条件的文字像素点合并成为文字块。
在一个实施例中,计算机程序使得处理器在执行将获取的思维导图图像转化为二值化的思维导图图像的步骤时具体执行以下步骤:将获取的思维导图图像转化为灰度化的思维导图图像;从灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值;从灰度化的思维导图图像中,将检测为边缘点、且像素值大于等于阈值的像素点作为背景像素点并置为第二像素值。
在一个实施例中,计算机程序使得处理器在执行将获取的思维导图图像转化为灰度化的思维导图图像的步骤时具体执行以下步骤:将获取的思维导图图像进行灰度化处理,得到灰度图像;遍历灰度图像中的像素点;将遍历的像素点的像素值置为遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
在一个实施例中,计算机程序使得处理器在执行从根节点起,沿思维导图连线确定节点之间的关系的步骤时具体执行以下步骤:按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点;从根节点起,遍历思维导图连线中的连线像素点;在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点。
在一个实施例中,计算机程序使得处理器在执行按照每个文字块所在的位置,从思维导图连线中选取连线像素点作为属于相应文字块的控制像素点的步骤时具体执行以下步骤:在思维导图连线中选取每个文字块的代表像素点;代表像素点位于相应文字块靠近根节点的一侧;从每个代表像素点起,朝远离根节点的方向,遍历思维导图连线中的连线像素点;将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块;从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
在一个实施例中,计算机程序使得处理器在执行思维导图连线中选取每个文字块的代表像素点的步骤时具体执行以下步骤:从思维导图连线中选取与每个文字块距离最近的连线像素点;当最近的连线像素点多于一个时,取最近的连线像素点中靠近根节点的一个连线像素点作为相应文字块的代表像素点。
在一个实施例中,计算机程序使得处理器在执行思维导图连线中选取每个文字块的代表像素点的步骤时还执行以下步骤:当最近的连线像素点为一个时,将最近的连线像素点作为相应文字块的代表像素点。
在一个实施例中,计算机程序使得还处理器执行以下步骤:检测节点选取操作,将节点选取操作所作用的节点作为根节点;或者,获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。
在一个实施例中,计算机程序使得还处理器执行以下步骤:获取目标思维导图文件格式;根据节点之间的关系以及每个节点中的文字,并按照目标思维导图文件格式,生成思维导图文件。
在一个实施例中,计算机程序使得处理器在执行获取思维导图图像包括的步骤时具体执行以下步骤:获取从源思维导图工具中导出的思维导图图像;计算机程序使得处理器在执行获取目标思维导图文件格式的步骤时具体执行以下步骤:获取目标思维导图工具所采用的目标思维导图文件格式。
上述计算机可读存储介质,获取思维导图图像,通过将思维导图图像中的思维导图连线和文字块进行分离,可方便对思维导图连线和文字块分别进行不同的处理。通过文字块可确定文字块所在的节点,其中,节点中包括根节点。从根节点开始,沿思维导图连线可确定各节点之间的父子连接关系。对文字块进行文字识别,可得到每个节点中的文字。这样,通过图像处理技术,就可从图像形式的思维导图中识别出计算机可处理的思维导图内容进行处理,无需额外地开发不同工具之间思维导图文件的转化逻辑,提高了兼容性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (22)
1.一种思维导图识别方法,包括:
获取思维导图图像;
在所述思维导图图像中分离思维导图连线和文字块;
确定每个所述文字块所在的节点,所述节点包括根节点;
按照每个文字块所在的位置,从所述思维导图连线中选取连线像素点作为属于相应文字块的控制像素点;其中,属于相应文字块的控制像素点的集合唯一表示相应的文字块;
从所述根节点起,遍历所述思维导图连线中的连线像素点;
在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点;
对所述文字块进行文字识别,得到每个所述节点中的文字。
2.根据权利要求1所述的方法,其特征在于,所述在所述思维导图图像中分离思维导图连线和文字块包括:
将获取的所述思维导图图像转化为二值化的思维导图图像;所述二值化的思维导图图像包括分别置为不同像素值的思维导图内容像素点和背景像素点;
从所述思维导图内容像素点中确定连线像素点和文字像素点;所述连线像素点构成思维导图连线;
将满足邻近条件的文字像素点合并成为文字块。
3.根据权利要求2所述的方法,其特征在于,所述将获取的所述思维导图图像转化为二值化的思维导图图像,包括:
将获取的所述思维导图图像转化为灰度化的思维导图图像;
从所述灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值;
从所述灰度化的思维导图图像中,将除所述思维导图内容像素点的像素点作为背景像素点并置为第二像素值。
4.根据权利要求3所述的方法,其特征在于,所述将获取的所述思维导图图像转化为灰度化的思维导图图像,包括:
将获取的所述思维导图图像进行灰度化处理,得到灰度图像;
遍历所述灰度图像中的像素点;
将遍历的像素点的像素值置为所述遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
5.根据权利要求1所述的方法,其特征在于,所述按照每个文字块所在的位置,从所述思维导图连线中选取连线像素点作为属于相应文字块的控制像素点,包括:
在所述思维导图连线中选取每个文字块的代表像素点;所述代表像素点位于相应文字块靠近所述根节点的一侧;
从每个代表像素点起,朝远离根节点的方向,遍历所述思维导图连线中的连线像素点;
将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块;
从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
6.根据权利要求5所述的方法,其特征在于,所述在所述思维导图连线中选取每个文字块的代表像素点,包括:
从所述思维导图连线中选取与每个文字块距离最近的连线像素点;
当最近的连线像素点多于一个时,取所述最近的连线像素点中靠近所述根节点的一个连线像素点作为相应文字块的代表像素点。
7.根据权利要求6所述的方法,其特征在于,所述在所述思维导图连线中选取每个文字块的代表像素点,还包括:
当最近的连线像素点为一个时,将所述最近的连线像素点作为相应文字块的代表像素点。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测节点选取操作,将所述节点选取操作所作用的节点作为根节点;或者,获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
获取目标思维导图文件格式;
根据所述节点之间的关系以及每个节点中的文字,并按照所述目标思维导图文件格式,生成思维导图文件。
10.根据权利要求9所述的方法,其特征在于,所述获取思维导图图像包括:
获取从源思维导图工具中导出的思维导图图像;
所述获取目标思维导图文件格式,包括:
获取目标思维导图工具所采用的目标思维导图文件格式。
11.一种思维导图识别装置,包括:
获取模块,用于获取思维导图图像;
分离模块,用于在所述思维导图图像中分离思维导图连线和文字块;
确定模块,用于确定每个所述文字块所在的节点,所述节点包括根节点;
所述确定模块还用于按照每个文字块所在的位置,从所述思维导图连线中选取连线像素点作为属于相应文字块的控制像素点;其中,属于相应文字块的控制像素点的集合唯一表示相应的文字块;从所述根节点起,遍历所述思维导图连线中的连线像素点;在当前遍历到的控制像素点所归属的文字块相较于前次遍历到的控制像素点所归属的文字块发生变化时,则将当前遍历到的控制像素点所归属的文字块所在节点,作为前次遍历到的控制像素点所归属的文字块所在节点的子节点;
文字识别模块,用于对所述文字块进行文字识别,得到每个所述节点中的文字。
12.根据权利要求11所述的装置,其特征在于,所述分离模块还用于将获取的所述思维导图图像转化为二值化的思维导图图像;所述二值化的思维导图图像包括分别置为不同像素值的思维导图内容像素点和背景像素点;从所述思维导图内容像素点中确定连线像素点和文字像素点;所述连线像素点构成思维导图连线;将满足邻近条件的文字像素点合并成为文字块。
13.根据权利要求12所述的装置,其特征在于,所述分离模块还用于将获取的所述思维导图图像转化为灰度化的思维导图图像;从所述灰度化的思维导图图像中,将检测为边缘点、且像素值小于阈值的像素点作为思维导图内容像素点并置为第一像素值;从所述灰度化的思维导图图像中,将除所述思维导图内容像素点的像素点作为背景像素点并置为第二像素值。
14.根据权利要求13所述的装置,其特征在于,所述分离模块还用于将获取的所述思维导图图像进行灰度化处理,得到灰度图像;遍历所述灰度图像中的像素点;将遍历的像素点的像素值置为所述遍历的像素点周围预设范围内像素点的像素值的平均值,得到灰度化的思维导图图像。
15.根据权利要求11所述的装置,其特征在于,所述确定模块,还用于在所述思维导图连线中选取每个文字块的代表像素点;所述代表像素点位于相应文字块靠近所述根节点的一侧;从每个代表像素点起,朝远离根节点的方向,遍历所述思维导图连线中的连线像素点;将遍历的连线像素点划分给与遍历的连线像素点距离最近的文字块;从划分给每个文字块的连线像素点中,选取相应文字块的宽度范围内的连线像素点作为属于相应文字块的控制像素点。
16.根据权利要求15所述的装置,其特征在于,所述确定模块,还用于从所述思维导图连线中选取与每个文字块距离最近的连线像素点;当最近的连线像素点多于一个时,取所述最近的连线像素点中靠近所述根节点的一个连线像素点作为相应文字块的代表像素点。
17.根据权利要求16所述的装置,其特征在于,所述确定模块,还用于当最近的连线像素点为一个时,将所述最近的连线像素点作为相应文字块的代表像素点。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括检测模块,用于检测节点选取操作,将所述节点选取操作所作用的节点作为根节点;或者,获取每个文字块的高度,将高度最高的文字块所在的节点作为根节点。
19.根据权利要求11至18中任一项所述的装置,其特征在于,所述装置还包括生成模块,其中:
所述获取模块,用于获取目标思维导图文件格式;
所述生成模块,用于根据所述节点之间的关系以及每个节点中的文字,并按照所述目标思维导图文件格式,生成思维导图文件。
20.根据权利要求19所述的装置,其特征在于,所述获取模块,还用于获取从源思维导图工具中导出的思维导图图像;获取目标思维导图工具所采用的目标思维导图文件格式。
21.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
22.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711250518.0A CN108304763B (zh) | 2017-12-01 | 2017-12-01 | 思维导图识别方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711250518.0A CN108304763B (zh) | 2017-12-01 | 2017-12-01 | 思维导图识别方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108304763A CN108304763A (zh) | 2018-07-20 |
CN108304763B true CN108304763B (zh) | 2021-10-08 |
Family
ID=62870171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711250518.0A Active CN108304763B (zh) | 2017-12-01 | 2017-12-01 | 思维导图识别方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304763B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032446B (zh) * | 2018-07-23 | 2020-12-22 | 广州视源电子科技股份有限公司 | 思维导图的节点联系生成方法、装置、设备及存储介质 |
CN112447285A (zh) * | 2019-09-04 | 2021-03-05 | 南京医渡云医学技术有限公司 | 一种基于思维导图的决策逻辑表示方法及装置 |
CN111274777B (zh) * | 2020-01-21 | 2024-04-02 | 维沃移动通信有限公司 | 思维导图显示方法及电子设备 |
CN111444904A (zh) * | 2020-03-23 | 2020-07-24 | Oppo广东移动通信有限公司 | 内容识别方法、装置以及电子设备 |
CN112395834B (zh) * | 2020-11-19 | 2024-04-02 | 广东润兹科技有限公司 | 基于图片输入的脑图生成方法、装置、设备及存储介质 |
CN113407164B (zh) * | 2021-06-21 | 2022-07-29 | 邬恩国 | 一种基于思维导图和树状结构技术软件代码生成方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294686A (zh) * | 2016-08-05 | 2017-01-04 | 董涛 | 一种思维导图中快速更新树结点位置坐标的方法 |
CN106648319A (zh) * | 2016-12-19 | 2017-05-10 | 广州视源电子科技股份有限公司 | 一种用于思维导图的操作方法和装置 |
CN107092419A (zh) * | 2017-03-30 | 2017-08-25 | 国网山东省电力公司青岛市黄岛区供电公司 | 思维导图处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342678A1 (en) * | 2015-05-21 | 2016-11-24 | Ronald Louis Newman | Manipulation of arbitrarily related data |
-
2017
- 2017-12-01 CN CN201711250518.0A patent/CN108304763B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294686A (zh) * | 2016-08-05 | 2017-01-04 | 董涛 | 一种思维导图中快速更新树结点位置坐标的方法 |
CN106648319A (zh) * | 2016-12-19 | 2017-05-10 | 广州视源电子科技股份有限公司 | 一种用于思维导图的操作方法和装置 |
CN107092419A (zh) * | 2017-03-30 | 2017-08-25 | 国网山东省电力公司青岛市黄岛区供电公司 | 思维导图处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
Camera-Based Whiteboard Reading for Understanding Mind Maps;Szil´ard Vajda 等;《International Journal of Pattern Recognition and Artificial Intelligence》;20150531;第29卷(第3期);第1-25页 * |
基于草图的程序流程图自动识别翻译***;诸彬;《计算机应用于软件》;20100531;第27卷(第5期);第55-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108304763A (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304763B (zh) | 思维导图识别方法、装置、存储介质和计算机设备 | |
US11416710B2 (en) | Feature representation device, feature representation method, and program | |
EP3117369B1 (en) | Detecting and extracting image document components to create flow document | |
US20190065894A1 (en) | Determining a document type of a digital document | |
JP5275489B2 (ja) | 画像処理装置および方法 | |
KR101617681B1 (ko) | 히스토그램들을 갖는 다중 층 연결 요소들을 사용하는 텍스트 검출 | |
CN108334805B (zh) | 检测文档阅读顺序的方法和装置 | |
JP6838209B1 (ja) | 文書画像解析装置、文書画像解析方法およびプログラム | |
JP7132050B2 (ja) | テキスト行の区分化方法 | |
CN109685065B (zh) | 试卷内容自动分类的版面分析方法、*** | |
CN114429637B (zh) | 一种文档分类方法、装置、设备及存储介质 | |
JP2009246930A (ja) | 画像判別装置、画像検索装置、画像検索プログラムおよび記録媒体 | |
CN112766246A (zh) | 基于深度学习的文档标题识别方法、***、终端及介质 | |
Mishchenko et al. | Model-based chart image classification | |
JP2019220014A (ja) | 画像解析装置、画像解析方法及びプログラム | |
CN113486881B (zh) | 一种文本识别方法、装置、设备及介质 | |
KR101571681B1 (ko) | 동질 영역을 이용한 문서 구조의 분석 방법 | |
JP5984880B2 (ja) | 画像処理装置 | |
CN113496115B (zh) | 文件内容比对方法和装置 | |
JP2004288158A (ja) | 最短サイクルによる画像分割 | |
CN113469898B (zh) | 基于深度学习的图像去畸变方法及相关设备 | |
US20090245658A1 (en) | Computer-readable recording medium having character recognition program recorded thereon, character recognition device, and character recognition method | |
CN115359502A (zh) | 一种图像处理方法、装置、设备以及存储介质 | |
CN111709338B (zh) | 一种用于表格检测的方法、装置及检测模型的训练方法 | |
CN113920510A (zh) | 文档转换方法、装置、计算机设备和计算机可读存储介质 |
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 |