掌桥专利:专业的专利平台
掌桥专利
首页

思维导图图像的识别方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 19:30:30


思维导图图像的识别方法、装置、电子设备和存储介质

技术领域

本申请涉及图像处理领域,具体涉及一种思维导图图像的识别方法、装置、电子设备和存储介质。

背景技术

目前,越来越多的人们倾向于使用特定软件编辑思维导图来辅助工作。思维导图是一种实用性的思维工具,可以将不同信息之间相互隶属或相互并列的关系以层级图的方式表示出来,具有清晰明了、简单高效的优点。

然而,实际应用中,往往只能获取到思维导图图像,而无法获取包含完整信息并可编辑处理的思维导图文件,只能人工从思维导图图像中解读相关信息,限制了思维导图的应用方式。

发明内容

本申请实施例公开了一种思维导图图像的识别方法、装置、电子设备和存储介质,可用于从思维导图图像中提取包含层级关系在内的有用信息,以扩展对思维导图的应用。

本申请实施例第一方面提供一种思维导图图像的处理方法,包括:

确定思维导图图像中的多个思维导图节点的位置信息;

对多个思维导图节点进行两两组合,得到多个第一节点组合;

基于多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合;其中,多个第二节点组合中的每个第二节点组合包括两个具有连接关系的思维导图节点;

基于多个第二节点组合,得到多个思维导图节点的层级关系。

本申请实施例第二方面提供一种思维导图图像的处理装置,包括:

节点确定模块,用于确定思维导图图像中的多个思维导图节点的位置信息;

第一组合确定模块,用于对多个思维导图节点进行两两组合,得到多个第一节点组合;

第二组合确定模块,用于基于多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合;其中,多个第二节点组合中的每个第二节点组合包括两个具有连接关系的思维导图节点;

关系确定模块,用于基于多个第二节点组合,得到多个思维导图节点的层级关系。

本申请实施例第三方面提供一种电子设备,包括处理器和存储器,该存储器用于存储代码指令;该处理器用于运行代码指令,以执行本申请任一实施例提供的方法。

本申请实施例第四方面提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现本申请任一实施例提供的方法的指令。

本申请实施例第五方面提供一种计算机程序产品,该计算机程序产品中包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机实现本申请任一实施例提供的方法。

本申请实施例的技术方案,在思维导图图像中识别思维导图节点,确定思维导图节点的位置信息,并利用位置信息,对思维导图节点两两之间形成的每个第一节点组合所包含的两个节点是否具有连接关系进行判断,从而确定出多个第二节点组合,即提取出思维导图中的连接关系,利用这些连接关系构建出多个思维导图节点之间完整的层级关系。可见,根据本申请实施例的技术方案,可以自动化提取思维导图中的有用信息,扩展思维导图的应用方式。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例的一个示例性的应用场景的示意图;

图2是本申请实施例公开的一种思维导图图像的识别方法的流程示意图;

图3A是本申请实施例中一个示例性的思维导图图像中的相关信息的示意图;

图3B是本申请实施例中节点框的示意图;

图4是申请实施例公开的另一种思维导图图像的识别方法的流程示意图;

图5A是本申请实施例中示例性的思维导图图像对应的水平梯度的示意图;

图5B是本申请实施例中示例性的思维导图图像对应的竖直梯度的示意图;

图5C是本申请实施例中将水平梯度和竖直梯度融合后得到的梯度图;

图5D是本申请实施例中示例性的思维导图图像对应的二值图;

图6是本申请实施例中获取思维导图连线图的可视化示意图;

图7是本申请实施例中获取节点对连线图的可视化示意图;

图8A是本申请实施例中的一个示例性的最大轮廓的示意图;

图8B是本申请实施例中的一个示例性的最大轮廓的示意图;

图9A是与图8A对应的最大轮廓掩码图;

图9B是与图8B对应的最大轮廓掩码图;

图10是本申请实施例公开的另一种思维导图图像的识别方法的流程示意图;

图11是本申请实施例中一个示例性的关系树的示意图;

图12是本申请实施例中文本框以及节点框的示意图;

图13A是节点框完全包含文本框的示意图;

图13B是节点框包含文本框内的大部分区域的示意图;

图13C是节点框包含文本框内的小部分区域的示意图;

图13D是节点框完全不包含文本框的示意图;

图14是本申请实施例中的方法的应用示例的示意图;

图15是本申请实施例公开的一个思维导图图像的识别装置的结构框图

图16是本申请实施例公开的另一个思维导图图像的识别装置的结构框图。

图17是本申请实施例公开的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一操作系统称为第二操作系统,且类似地,可将第二操作系统称为第一操作系统。第一操作系统和第二操作系统两者都是操作系统,但其不是同一个的操作系统。

为了便于理解本申请实施例的技术方案,以下对本申请实施例的应用场景进行说明。

图1示出了本申请实施例的一个示例性的应用场景的示意图。如图1所示,本申请实施例提供的思维导图图像的识别方法,可以由电子设备110执行。其中,电子设备110可以是个人计算机(Personal Computer,PC)、便携式终端等终端设备,也可以是服务器,例如单个服务器或基于服务器集群的资源抽象形成的虚拟服务器。

示例性地,电子设备110可以通过网络120获取思维导图图像,或通过与外部设备130的交互获取思维导图图像,或自行生成思维导图图像。根据本申请实施例的技术方案,电子设备110还可以基于思维导图图像得到其中的多个思维导图节点之间的层级关系。通过提取上述层级关系,可以扩展对思维导图图像的应用方式。例如,电子设备110可以利用上述层级关系,构建特定格式的思维导图文件,以便于采用该特定格式对应的编辑软件对思维导图进行编辑处理。又例如,电子设备110可以利用上述层级关系,生成体现多个信息之间的关系的结构化数据,以利用该结构化数据对这些信息进行分析处理。

下面,将结合附图对本申请实施例中的技术方案进行详细介绍。

请参阅图2,图2是本申请实施例公开的一种思维导图图像的识别方法的流程示意图。该方法适用于上述电子设备,但不仅限于此。如图2所示,该思维导图图像的识别方法可以包括以下步骤:

步骤S210、确定思维导图图像中的多个思维导图节点的位置信息。

示例性地,思维导图图像可以指绘制有思维导图并以电子文件的形式存储的图像。例如,思维导图图像包括JPG(Joint Photographic Experts Group,联合图像专家组)、PNG(Portable Network Graphics,便携式网络图形)或BMP(Bitmap,位图)等格式的图像。

可选地,思维导图图像可以是从网络获取的。例如,电子设备可以通过在互联网中搜索与应用需求相关的主题的思维导图,得到上述思维导图图像。

可选地,思维导图图像可以是外部设备输入的。例如,用户可以通过便携式存储设备将思维导图图像传输至电子设备。又例如,用户可以利用扫描仪扫描纸件形式的思维导图,并传输至电子设备。

可选地,思维导图图像可以是电子设备自行生成的。例如,电子设备可以使用第一软件制作思维导图并以图像形式输出思维导图图像,或者通过在第一软件的用户界面上截取图像的方式得到思维导图图像,以便于对思维导图图像进行识别后,利用识别到的信息生成可利用第二软件编辑处理的思维导图文件,从而克服不同软件对思维导图文件的格式限制。

图3A示出了一个示例性的思维导图图像中的相关信息的示意图。如图3A所示,思维导图图像中包括多个相互间存在隶属或并列关系的信息301(一般用文本表示)以及信息之间的连线303。可选地,在部分或全部信息301的外围还可以包括显示包围框302(以下称节点包围框)。

在本申请实施例中,与其他信息之间存在隶属或并列的关系的单个信息为思维导图节点(也可简称为节点),即思维导图图像中的多个思维导图节点包括相互间具有隶属或并列关系的多个信息。该多个信息可以与同一主题相关。如图3A所示,该思维导图图像的主题为“绿茶”,思维导图图像中包含“颜色”、“绿汤”、“加工工序”、“杀青”等信息,其中,“颜色”、“加工工序”等信息隶属于“绿茶”,“颜色”与“加工工序”之间为并列关系。类似地,其他信息之间也具有隶属或并列的关系,则本申请实施例中的思维导图节点,可以包括“绿茶”、“颜色”、“绿汤”和“加工工序”等。

思维导图图像中的思维导图节点可以包括根节点。可以理解,思维导图图像中呈现的各信息之间的隶属和并列关系构成关系树,思维导图图像中的根节点即该关系树的根节点。该根节点是除其本身以外的其他所有节点的祖先节点,且该根节点与思维导图图像的主题相关。如图3A的示例,其中“绿茶”为该思维导图图像的主题,也是根节点,其他思维导图节点均隶属于“绿茶”,均为非根节点。在一些实施例中,可以在确定思维导图图像中的多个思维导图节点的过程中,同时确定出多个思维导图节点中的根节点和非根节点。

示例性地,可以采用基于深度学习的图像处理模型从思维导图图像中识别出多个思维导图节点,并获得多个思维导图节点的位置信息。或者,可以通过与用户的交互,获取用户指定的多个思维导图节点的位置信息。其中,多个思维导图节点的位置信息可以包括多个思维导图节点中的每个思维导图节点的位置信息。

示例性地,思维导图节点的位置信息可以包括用于表征思维导图节点在图像中的位置的坐标信息和/或尺寸信息。例如,思维导图节点的位置信息可以包括思维导图节点的节点框的一个顶点或中心点的坐标,以及思维导图节点对应的长度、宽度等信息。或者,思维导图节点的位置信息可以包括思维导图节点的节点框的多个顶点的坐标。其中,节点框可以指包围思维导图节点的矩形框,用于表征思维导图节点的位置。节点框是通过对思维导图图像进行处理得到的。图3B示出了本申请实施例中节点框的示意图。如图3B所示,节点框304是包围思维导图节点的文本信息301、节点包围框302的矩形框。

步骤S220、对多个思维导图节点进行两两组合,得到多个第一节点组合。

可以理解,上述多个第一节点组合中的每个第一节点组合,均包括两个思维导图节点。需要说明的是,对于每个第一节点组合,其中的两个思维导图节点之间不存在先后顺序。或者说,在上述两两组合的过程中,可以不考虑思维导图节点之间的顺序。例如,可以将节点A和节点B组合成一个第一节点组合[A,B],但不限于是从A指向B或是从B指向A。

示例性地,在上述两两组合可以指针对任一思维导图节点,均将该思维导图节点与其他的每个思维导图节点组合成一个第一节点组合。举例而言,若思维导图图像中的多个思维导图节点包括“菜系”、“川菜”、“粤菜”和“浙菜”,进行两两组合后可得到以下多个第一节点组合:

组合1、“菜系”与“川菜”;

组合2、“菜系”与“粤菜”;

组合3、“菜系”与“浙菜”;

组合4、“川菜”与“粤菜”;

组合5、“川菜”与“浙菜”;

组合6、“粤菜”与“浙菜”。

步骤S230、基于多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合。

其中,多个第二节点组合中的每个第二节点组合包括两个具有连接关系的思维导图节点。在本申请实施例中,具有连接关系可以指两个思维导图节点之间直接相连(或者说存在不经过其他节点的连线)。实际应用中,具有隶属关系的两个思维导图节点之间具有连接关系。例如图3中的“绿茶”与“颜色”具有连接关系,“加工工序”与“杀青”具有连接关系,而“颜色”与“加工工序”不具有连接关系。

示例性地,可以将任一满足上述连接关系的第一节点组合,作为一个第二节点组合。也就是说,针对多个第一节点组合中的每个第一节点组合,基于组合中的两个思维导图节点的位置信息,确定两个思维导图节点之间是否具有连接关系。若具有连接关系,即可确定该第一节点组合为第二节点组合。通过遍历各个第一节点组合,可以得到上述多个第二节点组合。

示例性地,还可以对满足上述连接关系的第一节点组合进行筛选,得到上述第二节点组合。具体筛选方式可根据图像质量、识别精度需求等确定,本申请不对此进行限定。

可选地,可以通过判断两个思维导图节点之间的位置关系,确定两个思维导图节点之间是否具有连接关系。例如,如果两个思维导图节点处于同一水平位置且距离小于预设阈值,则可以确定这两个思维导图节点是相邻的存在隶属关系的节点,即认为这两个思维导图节点具有连接关系。

可选地,也可以通过其他方式确定两个思维导图节点之间是否具有连接关系,例如结合思维导图图像中的连线信息确定两个思维导图节点之间是否具有连接关系。

步骤S240、基于多个第二节点组合,得到多个思维导图节点的层级关系。

示例性地,可以遍历上述多个第二节点组合,利用多个第二节点组合所表征的多个连接关系,构建出所有思维导图节点之间的关系,即得到上述层级关系。

在本申请实施例中,该层级关系包括各思维导图节点之间的隶属和/或并列关系。实际应用中,该层级关系可以基于关系树表征。其中,关系树中的父节点与子节点具有隶属关系,父节点的两个子节点具有并列关系。

根据上述方法,在思维导图图像中识别思维导图节点,确定思维导图节点的位置信息,并利用位置信息,对思维导图节点两两之间形成的每个第一节点组合所包含的两个节点是否具有连接关系进行判断,从而确定出多个第二节点组合,即提取出思维导图中所有连接关系,利用这些连接关系构建出多个思维导图节点之间完整的层级关系。可见,根据本申请实施例的技术方案,可以自动化提取思维导图中的有用信息,扩展思维导图的应用方式。

可选地,本申请实施例还提供该层级关系的一种应用方式。具体地,思维导图图像的识别方法还可包括:

基于多个思维导图节点的层级关系,得到预定格式的思维导图文件。

可以理解,不同的软件可以编辑处理不同格式的思维导图文件。通过从思维导图图像中识别出层级关系,可以按照预定格式处理包含该层级关系在内的思维导图信息,从而可利用该预定格式对应的软件编辑处理思维导图文件。基于此,可以使不同格式的思维导图文件之间可以相互转换,解决了兼容性问题,并且便于思维导图的二次编辑与创作,提高了处理效率。

请参阅图4,图4是本申请实施例公开的另一种思维导图图像的识别方法的流程示意图。该方法适用于上述电子设备,但不仅限于此。如图4所示,该思维导图图像的识别方法可以包括以下步骤:

步骤S410、确定思维导图图像中的多个思维导图节点的位置信息。

步骤S420、对多个思维导图节点进行两两组合,得到多个第一节点组合。

步骤S410~步骤S420与步骤S210~步骤S220相似,在此不再赘述。

步骤S430、基于思维导图图像,得到对应的思维导图连线图。

其中,思维导图连线图可以是用于表征思维导图中的连线的图像。示例性地,思维导图连线图可以是二值图,即仅包含两种像素值的图像,以清楚地展示图像中的前景和背景。可以理解,思维导图连线图中的连线为前景。

二值图中的前景往往包括多个像素点,其像素值可以称为前景像素值;背景也包括多个像素点,其像素值可以称为背景像素值。示例性地,思维导图连线图中的连线可以是白色的(即前景像素值为255),背景可以是黑色的(即背景像素值为0)。或者,思维导图连线图中的连线可以是黑色的(即前景像素值为0),背景可以是白色的(即背景像素值为255)。

在一些可选的实现方式中,基于思维导图图像,得到对应的思维导图连线图,可以包括:

对思维导图图像进行二值化,得到思维导图图像对应的二值图;

基于多个思维导图节点的位置信息,在二值图中确定多个思维导图节点中的每个节点对应的图像区域;

在二值图中将每个节点对应的图像区域设置为背景,得到思维导图连线图。

可以理解,通过对思维导图图像进行二值化得到的二值图中,前景包括多个思维导图节点(包含文本信息、节点包围框等)以及各思维导图节点之间的连线。通过将每个节点对应的图像区域设置为背景,可以使二值图中的前景仅包括各思维导图节点之间的连线,从而该二值图可以作为思维导图连线图。

在上述可选的实现方式中,对思维导图图像进行二值化,可以包括对思维导图图像进行灰度化、去噪、对比度增强、梯度提取、阈值二值化中的至少一种图像预处理方式。例如,在思维导图图像为较少噪点的黑白图像的情况下,对思维导图图像进行二值化可以包括对比度增强和阈值二值化。在思维导图图像为彩色图像的情况下,对思维导图图像进行二值化可以包括灰度化、去噪、对比度增强、梯度提取以及阈值二值化。

其中,灰度化是指将思维导图图像由彩色图像转为对应的灰度图。

去噪(也可称为模糊)是指对图像(例如灰度图)进行中值滤波,去除噪点。去噪后的图像可以称为去噪图。

对比度增强是指对图像(例如去噪图)进行对比度增强,以突出图像中的边缘特征。对比度增强后的图像可以称为增强图。

梯度提取是指利用Sobel算子(索贝尔算子)提取图像(例如增强图)的梯度,以体现图像中像素值变化明显的区域。梯度提取后的图像可以称为梯度图。在本申请实施例中,可以分别在水平和竖直方向上提取增强图的梯度,得到水平梯度和竖直梯度,并对水平梯度和竖直梯度进行融合,得到梯度图。具体处理过程可参阅附图5A至5C,其中,图5A示出与图3A中的思维导图图像对应的水平梯度的示意图,图5B示出了该思维导图图像对应的竖直梯度的示意图,图5C示出了将水平梯度和竖直梯度融合后得到的梯度图。

阈值二值化是指基于预设阈值,对图像(例如梯度图)中各个像素点的像素值进行二值化转换。例如,若像素点的像素值大于或等于预设阈值,则将该像素点的像素值置为前景像素值(例如255);若像素点的像素值小于预设阈值,则将该像素点的像素值置为背景像素值(例如0)。阈值二值化后得到的图像为思维导图图像对应的二值图。图5D示出了与思维导图图像对应的二值图,可以看到,该二值图中的各个思维导图节点的文本信息、节点包围框、连线等前景元素为白色(像素值为255),背景为黑色(像素值为0)。

在上述可选的实现方式中,得到二值图之后,可以根据各个思维导图节点的位置信息确定各个思维导图节点在二值图中的图像区域,从而将该图像区域设置为背景,以在前景中去除思维导图节点,得到思维导图连线图。具体地,可以根据各个思维导图节点的节点框的坐标信息,确定节点框内的图像区域,该图像区域即为思维导图节点在二值图中的图像区域。

示例性地,将图像区域设置为背景,可以指将图像区域中的各像素点的像素值设置为背景像素值,例如0。从可视化角度而言,相当于将节点框绘制在二值图中以定位出图像区域,再以背景像素值填充节点框内的图像区域。为了便于理解,图6示出了本申请实施例中获取思维导图连线图的可视化示意图。如图6所示,在思维导图图像对应的二值图601中绘制所有节点框并以像素0填充后所有节点框内的图像区域,可以得到思维导图连线图602。

可以理解,上述步骤S420和步骤S430的执行顺序不限。实际应用中,也可以先执行步骤S430获取思维导图连线图,再执行步骤S420获取多个第一节点组合;或者并行执行步骤S420与步骤S430。

步骤S440、基于思维导图连线图以及多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合。

示例性地,可以利用思维导图连线图以及各个思维导图节点的位置信息,判断各个第一节点组合中的两个节点是否存在连接关系,从而判断各个第一节点组合是否可以作为第二节点组合。下面提供一种可选的实现方式。

具体地,上述步骤S440可以包括:

基于第i个第一节点组合中的两个节点的位置信息,对思维导图连线图进行处理,得到第i个第一节点组合对应的节点对连线图;其中,i为大于或等于1的整数,且i小于或等于第一节点组合的数量;

基于节点对连线图,确定两个节点是否具有连接关系;

在两个节点具有连接关系的情况下,将第i个第一节点组合确定为第二节点组合。

其中,上述第i个第一节点组合,可以是多个第一节点组合中的任一个。示例性地,可以令i从1开始递增,以遍历各个第一节点组合,针对遍历到的第一节点组合中的两个节点执行上述步骤。

在本申请实施例中,节点对连线图用于展示两个节点以及思维导图图像中的连线。基于两个节点的位置信息对思维导图连线图进行的处理,可以是将两个节点的信息融合到思维导图连线图,以使得到的节点对连线图的前景包括两个节点以及思维导图连线图中的连线。示例性地,节点对连线图为以两个节点和上述连线作为前景的二值图。

示例性地,上述基于多个第一节点组合中的第i个第一节点组合中的两个节点的位置信息,对思维导图连线图进行处理,得到第i个第一节点组合对应的节点对连线图,包括:

基于两个节点的位置信息,在思维导图连线图中将两个节点对应的图像区域设置为前景,得到第i个第一节点组合对应的节点对连线图。

也就是说,基于两个节点的位置信息确定出对应的图像区域,并将该图像区域中各像素点的像素值置为前景像素值,即可得到前景包括连线以及两个节点的节点对连线图。为了便于理解,图7示出了本申请实施例中获取节点对连线图的可视化示意图。其中,通过两两组合得到的多个第一节点组合,包括节点组合A和节点组合B。如图7所示,节点组合A包括具有连接关系的节点702和节点703,节点组合B包括不具有连接关系的节点704和节点705。在思维导图连线图701中绘制节点702的节点框和节点703的节点框,并以前景像素值0填充节点框内的图像区域,可以得到节点组合A对应的节点对连线图706。类似地,在思维导图连线图701中绘制节点704的节点框和节点705的节点框,并以前景像素值填充节点框内的图像区域,可以得到节点组合B对应的节点对连线图707。

由于节点对连线图以两个节点和连线为前景,因此,在得到节点对连线图之后,可以基于节点对连线图确定两个节点对是否具有连接关系。下面提供两种可选的实现方式。

方式一:

基于节点对连线图,确定两个节点是否具有连接关系,包括:

在节点对连线图中确定最大轮廓;

确定两个节点对应的图像区域的中心点是否均位于最大轮廓内;

在两个节点对应的图像区域的中心点均位于最大轮廓内的情况下,确定两个节点具有连接关系。

示例性地,可以采用轮廓提取函数在节点对连线图中提取最大轮廓。

在第一节点组合中的两个节点具有连接关系的情况下,两个节点之间存在连线使得两个节点集中在同一轮廓内,使得两个节点的中心点均位于最大轮廓内。相应地,在第一节点组合中的两个节点不具有连接关系的情况下,由于两个节点之间不存在连线,因此分散在不同的轮廓内,使得最大轮廓内至多包含一个节点的中心点。基于此,通过确定两个节点对应的图像区域的中心点是否均位于最大轮廓内,可以快速、准确地判断两个节点是否具有连接关系。

可选地,在两个节点对应的图像区域的中心点中的至少一个不在最大轮廓内的情况下,可以确定两个节点不具有连接关系。

具体可参考图8A和图8B。其中,图8A示出了图7中与节点组合A对应的节点对连线图706中的最大轮廓的示意图,节点组合A的两个节点的中心点均位于最大轮廓内,可以确定节点组合A的两个节点具有连接关系。图8B示出了图7中与节点组合B对应的节点对连线图707中的最大轮廓的示意图,节点组合B中仅有一个节点的中心点位于最大轮廓内,可以确定节点组合B的两个节点不具有连接关系。

可选地,确定两个节点对应的图像区域的中心点是否均位于最大轮廓内,可以包括:

采用预设像素值填充最大轮廓内的像素点,得到最大轮廓掩码图;

如果两个节点对应的图像区域的中心点在最大轮廓掩码图中的像素值均为预设像素值,则确定所两个节点对应的图像区域的中心点均位于最大轮廓中。

在一种示例中,可以将最大轮廓提取出来以创建前景为该最大轮廓的二值图。并可在该二值图中采用预设像素值填充最大轮廓内的像素点,得到最大轮廓掩码图。其中,预设像素值可以是与该二值图的背景像素值不同的其他像素值。例如,预设像素值可以是该二值图的前景像素值。

在另一种示例中,可以在节点对连线图中采用预设像素值填充最大轮廓内的像素点,得到最大轮廓掩码图。其中,预设像素值可以是与节点对连线图的背景像素值和前景像素值均不相同的其他像素值,以与节点对连线图中的其他轮廓内的像素点进行区分。

在得到最大轮廓掩码图的基础上,根据两个节点对应的图像区域的中心点的像素值是否均为预设像素值,可以确定中心点是否均位于最大轮廓内。具体可参考图9A和图9B。其中,图9A示出了与图8A对应的最大轮廓掩码图,图9B示出了与图8B对应的最大轮廓掩码图。其中,预设像素值为前景像素值。可以看到,在最大轮廓掩码图中,最大轮廓内的任一像素点的像素值相同,且均为前景像素值。可见,上述方式可以高效、准确地确定两个节点的中心点是否位于最大轮廓内,从而可以高效、准确地确定两个节点是否具有连接关系。

方式二:

基于节点对连线图,确定两个节点是否具有连接关系,包括:

基于预先配置的背景像素代价值以及前景像素代价值,在节点对连线图中搜索两个节点之间的最小代价路径;其中,背景像素代价值大于前景像素代价值;

在最小代价路径所对应的总代价值与最小代价路径中的像素数量的N倍之间的差值小于或等于预设代价阈值的情况下,确定两个节点具有连接关系;其中,N为前景像素代价值,且N大于0。

示例性地,搜索最小代价路径可以采用预设的搜索算法实现。预设的搜索算法例如是BFS(Breadth First Search,宽度优先搜索)算法。

举例而言,预先配置背景像素代价值为2,前景像素代价值为1,预设代价阈值为0,基于此,可设置为当两个节点之间的最小代价路径的总代价值与最小代价路径中的像素数量之间的差值等于0时,确定两个节点具有连接关系。定义路径代价值为cost,将cost初始化为0,从节点对连线图中的其中一个节点的中心点出发,搜索到另一个节点的中心点结束的最小代价路径。其中,每经过一个背景像素点,则代价值cost自加2,每经过一个前景像素点,则代价值cost自加1。若在最小代价路径中,cost等于像素数量,则说明最小代价路径中的各个像素点的代价值均为1,两个节点之间存在全部为前景像素点的路径。由于节点对连线图中的前景包括节点和连线,因此说明了两个节点之间存在连线。因此,可以准确确定两个节点具有连接关系。

可选地,在上述示例中,也可以将预设代价阈值设置为大于或等于0的整数,例如设置为10或20等。如此,在节点对连线图中两个节点之间的连线存在部分缺失的情况下,例如图像质量较差或图像处理效果较差的情况下,可以避免因该部分缺失导致误判两个节点之间不具有连接关系,从而提高准确性。

上述两种用于确定节点之间是否具有连接关系的方式可以择一实施,也可以结合实施。例如,可以在两种方式均判定第i个第一节点组合的两个节点之间具有连接关系的情况下,将第i个第一节点组合作为第二节点组合;在至少一种方式判定第i个第一节点组合的两个节点之间不具有连接关系的情况下,不将第i个第一节点组合作为第二节点组合。

步骤S450、基于多个第二节点组合,得到多个思维导图节点的层级关系。

步骤S450与步骤S240相似,在此不再赘述。

可以看到,通过上述方法,首先提取思维导图图像中的连线信息得到思维导图连线图,并进一步构建节点对连线图,基于节点对连线图在多个第一节点组合中确定第二节点组合,即充分利用了思维导图图像中的连线信息辅助第二节点组合的确定,从而提高了第二节点组合的准确性,相应地提高了层级关系的识别准确性。

请参阅图10,图10是本申请实施例公开的另一种思维导图图像的识别方法的流程示意图。该方法适用于上述电子设备,但不仅限于此。如图10所示,该思维导图图像的识别方法可以包括以下步骤:

步骤S1010、确定思维导图图像中的多个思维导图节点的位置信息。

作为一种可选的实现方式,在本申请实施例中,步骤S1010可以包括:

基于预先训练的目标检测模型对思维导图图像进行节点检测,得到多个节点框的位置信息;

将多个节点框的位置信息确定为多个思维导图节点的位置信息。

示例性地,节点框为矩形框,可以采用节点框的左上顶点和右下顶点在图像坐标系中的坐标表示。例如,任一节点框的位置信息可以采用以下形式表示:[(x

示例性地,上述目标检测模型可以是基于多个思维导图图像训练得到的。可选地,可以采集大量思维导图图像,并对各个图像中的各个思维导图节点的节点框进行标注,即将各个思维导图节点的节点框的位置信息作为思维导图图像的标注信息。将多个思维导图图像以及与各个思维导图图像对应的标注信息作为训练数据。利用训练数据,训练基于深度学习的目标检测器,训练好的目标检测器即为上述节点检测模型。其中,目标检测器例如是YOLOv5(You Only Look Once-v5,第五代的仅一次扫描算法)、NanoDet、FasterRCNN(Faster Region-CNN,加速的区域卷积神经网络)等。通过训练,节点检测模型具备针对输入的思维导图图像,确定多个节点框并输出节点框的位置信息的能力。示例性地,节点检测模型可以直接输出该节点框的位置信息,也可以输出用于表示该位置信息的特征图。

可选地,在上述标注过程中,还可以对各个图像中的各个思维导图节点的类别进行标注。示例性地,类别包括根节点和非根节点。也就是说,各个图像的标注信息不仅包括各个思维导图节点的节点框的位置信息,还包括各个思维导图节点的类别。基于该标注信息,训练得到的节点检测模型不仅具备确定节点框的位置信息的能力,还具备确定思维导图节点的类别的能力。相应地,上述确定思维导图图像中的多个思维导图节点的位置信息,可以包括确定根节点的位置信息以及非根节点的位置信息。

作为另一种可选的实现方式,也可以通过与用户交互的方式实现上述步骤S1010,即根据用户指示在思维导图图像中确定思维导图节点并获取思维导图节点的位置信息。或者,可以结合目标检测模型以及与用户交互的方式确定。例如,可以向用户展示目标检测模型确定的多个节点框的位置信息,并根据用户指示进行调整。可选地,在目标检测模型没有确定出根节点、确定有多个根节点或确定的根节点错误的情况下,可以根据用户指示确定新的根节点。

在本申请实施例中,可以为各个思维导图节点赋予唯一标识(ID),例如将编号1至M分别赋予M个思维导图节点作为ID,其中,M为思维导图图像中的思维导图节点的数量。示例性地,各个思维导图节点的ID可以是根据节点检测模型输出的与各个节点框对应的置信度进行排序得到的,例如从大到小进行排序。例如,在思维导图图像中检测到3个节点框,对应的置信度分别为0.85、0.92以及0.89,则3个节点框的ID分别为3、2和1。可选地,各个思维导图节点的ID也可以是根据坐标值排序得到的,或者是随机确定的。本申请实施例不对ID的设置方式进行限定,只要不同节点的ID互不相同即可。

示例性地,针对ID为k的思维导图节点,在确定位置信息之后,可以表示为{ID:k;bbox:[(x

步骤S1020、对多个思维导图节点进行两两组合,得到多个第一节点组合。

其中,步骤S1020与前述实施例中的步骤S220类似,在此不进行赘述。

需要说明的是,由节点i和节点j组成的第一节点组合,可以表示为[i,j]。在本申请实施例中,[i,j]和[j,i]是等价的。

步骤S1030、基于多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合。

作为一种可选的实现方式,在本申请实施例中,上述步骤S1030可以包括:

基于多个第一节点组合中的第j个第一节点组合中的两个节点的位置信息,确定两个节点在预定方向上的位置偏差;其中,j为大于或等于1的整数,且j小于或等于第一节点组合的数量;

基于位置偏差,确定第j个第一节点组合是否第二节点组合。

其中,上述第j个第一节点组合,可以是多个第一节点组合中的任一个。示例性地,可以从1开始令j递增,以遍历各个第一节点组合,针对各个第一节点组合中的两个节点执行上述步骤。

示例性地,在位置偏差小于预设距离阈值的情况下,可以确定第j个第一节点组合不是第二节点组合。例如,预定方向可以是水平方向,在位置偏差小于预设阈值的情况下,可认为第j个第一节点组合中的两个节点不具有连接关系,因此不是第二节点组合。由于在思维导图中,子节点一般分布在父节点的左侧或右侧,且一个父节点的多个子节点一般是左对齐或右对齐的。因此,在两个节点在水平方向上的位置偏差小于预设距离阈值的情况下,可认为两个节点在水平方向上对齐(左对齐或右对齐),从而确定两个节点并非具有连接关系的父子节点,即不是第二节点组合,可以提高判断的效率和准确性。

示例性地,上述预定方向上的位置偏差,可以包括预定方向上两侧的偏差中的至少一个。例如,水平方向上的位置偏差可以包括两个节点的左侧的偏差以及水平方向上两个节点的右侧的偏差,在两侧的偏差中的任一个小于预设距离阈值的情况下,可以认为预定方向上的位置偏差小于预设距离阈值。

具体而言,采用节点框的左上顶点和右下顶点的坐标作为思维导图节点的位置信息,并以坐标系的x方向为预定方向,则上述过程可参考如下示例:

若第一节点组合中的两个节点的ID分别为p和q,其中,1≤p≤M,p

若dx1

示例性地,在位置偏差大于或等于预设距离阈值的情况下,可以确定第j个第一节点组合为第二节点组合,或者,可以结合其他方式进一步判断第j个第一节点组合是否为第二节点组合。例如,可以结合前述实施例中的步骤S430以及步骤S440,结合位置偏差和思维导图连线图确定任一第一节点组合是否为第二节点组合。

具体而言,可以先获取思维导图连线图。针对任一个第一节点组合,在其中的两个节点在预定方向上的位置偏差大于或等于预设距离阈值的情况下,可以基于两个节点的位置信息,对思维导图连线图进行处理,得到对应的节点对连线图。并基于节点对连线图,确定两个节点是否具有连接关系。在两个节点具有连接关系的情况下,将该第一节点组合确定为第二节点组合。在两个节点没有连接关系的情况下,确定该第一节点组合不是第二节点组合。通过两种方式的结合,可以提高确定第二节点组合的效率和准确性。

步骤S1040、基于层次遍历算法以及多个思维导图节点中的根节点,对多个第二节点组合进行遍历,以构建多个思维导图节点对应的关系树;其中,关系树用于表征多个思维导图节点的层级关系。

示例性地,上述关系树包含多个连接关系。层次遍历算法可用于根据多个第二节点组合所表征的多个连接关系,从根节点开始,依次确定下一个待处理的第二节点组合,以将待处理的第二节点组合对应的连接关系添加到关系树中,直至遍历完所有的第二节点组合,得到与多个思维导图节点对应的关系树。

举例而言,假设多个第二节点组合包括:[1,2]、[1,3]、[3,7]、[3,8]、[3,9]、[7,6]、[5,6]、[4,5]、[8,13]、[9,11]、[9,12]、[9,10],则根据步骤S1040,可以得到如图11所示的关系树,该关系树表征了多个思维导图节点之间的层级关系,从而完成了在思维导图图像中提取层级关系,有利于扩展对思维导图的应用。

可选地,在提取层级关系的基础上,还可以提取思维导图图像中的每个思维导图节点对应的文本。结合各思维导图节点对应的文本和层级关系,可以构建特定格式的思维导图文件,以便于采用该特定格式对应的编辑软件对思维导图进行编辑处理。

具体而言,在本申请实施例中,思维导图图像的识别方法还可以包括:

步骤S1050、基于思维导图图像,确定多个思维导图节点中每个节点对应的文本。

示例性地,在本申请实施例中的文本,可以包括文字和/或字符。

实际应用中,可以通过对每个思维导图节点的节点框内的文本进行OCR(OpticalCharacter Recognition,光学字符识别),得到每个思维导图节点对应的文本。也可以先识别得到思维导图图像中的多个文本,再建立多个文本与多个思维导图之间的关联关系,从而得到各个思维导图节点对应的文本。

示例性地,步骤S1050可以包括:

对思维导图图像进行文本检测,得到多个文本框的位置信息,并对多个文本框中的每个文本框进行文本识别,得到每个文本框内的文本;

基于多个文本框的位置信息以及多个思维导图节点的位置信息,确定多个思维导图节点中每个节点对应的文本框;

基于每个节点对应的文本框以及每个文本框内的文本,确定每个节点对应的文本。

在上述步骤中,对思维导图图像进行文本检测,可以采用文本检测模型实现。实际应用中,可以采用DBNet(Differentiable Binarization Network,可微二值化网络)、EAST(Efficient and Accurate Scene Text Detector,高效准确的场景文本检测器)、SAST(Single-Shot Arbitrarily-Shaped Text Detector,单步任意形状文本检测器)等文本检测模型,也可以采用基于特定图像训练得到的文本检测模型,例如采用基于思维导图图像训练得到的文本检测模型,以提升在思维导图图像中的检测准确性。

在本申请实施例中,通过文本检测得到的每个文本框,为包围文本块的矩形框,其中,文本块是指一行连续的文本。由于文本框为矩形框,因此,文本框的位置信息也可以采用文本框的左上顶点和右下顶点在图像坐标系中的坐标表示。

在检测得到每个文本框的位置信息后,可以对框内的文本进行识别,得到每个文本框内的文本。示例性地,可以采用CRNN(Convolutional Recurrent Neural Network,卷积递归神经网络)、SRN(Sequence Recognition Network,序列识别网络)、ABINet(Autonomous-Bidirectional-Iterative Network,自主双向迭代网络)等文本识别模型对框内的文本进行识别。

图12示出了本申请实施例中文本框以及节点框的示意图,其中的实线矩形框为节点框,虚线矩形框为文本框。可以看到,一个节点框可以对应有一个或多个文本框。例如,节点3的节点框内有一个文本框,节点13的节点框内有3个文本框。在本申请实施例中,可以利用文本框的位置信息和思维导图节点的位置信息,建立文本框和思维导图节点之间的关联关系,即确定每个节点所对应的文本框。

具体而言,在一些实施方式中,基于多个文本框的位置信息以及多个思维导图节点的位置信息,确定多个思维导图节点中每个节点对应的文本框,可以包括:

基于多个思维导图节点中的第一节点的位置信息以及多个文本框的位置信息,在多个文本框中确定出符合预设条件的至少一个目标文本框;

将至少一个目标文本框作为第一节点对应的文本框;

其中,预设条件包括:文本框的中心点坐标位于第一节点的节点框中,和/或,文本框与第一节点的节点框之间的相交面积大于面积阈值。

其中,第一节点可以是多个思维导图节点中的任一节点。示例性地,可以依次遍历多个思维导图节点,将遍历到的思维导图节点作为第一节点,并针对第一节点执行上述步骤,以确定第一节点对应的文本框。

根据上述实施方式,第一节点对应的文本框为符合预设条件的文本框,即中心点位于第一节点的节点框中的文本框,或与第一节点的节点框的相交面积大于预设面积阈值的文本框。示例性地,针对第一节点,可以遍历多个文本框,以逐一确定每个文本框是否符合预设条件。下面,假设第一节点的节点框(nodebox)的坐标为[(x

示例一、预设条件包括:文本框的中心点坐标位于第一节点的节点框中。

该示例中,文本框的中心点坐标为(x

若满足

示例二、预设条件包括:文本框与第一节点的节点框之间的相交面积大于面积阈值。

其中,面积阈值可以是预先设定的,也可以是基于文本框的面积以及预设比例确定的。例如,面积阈值可以是文本框的面积乘以预设比例。基于此,可以通过计算相交面积与文本框的面积之间的比例,在该比例是否大于预设比例的情况下确定相交面积大于面积阈值。预设比例为小于1的整数,例如预设比例为0.75、0.85等。

具体地,首先判断文本框与节点框之间是否相交。具体可基于x方向上的两个坐标参考值xmin和xmax,确定文本框与节点框在x方向上是否有重叠部分,基于y方向上的两个坐标参考值ymin和ymax,确定文本框与节点框在y方向上是否有重叠部分。其中,各参考值的计算方式参考以下公式(3):

若xmin

在文本框与节点框相交的情况下,相交面积可以根据以下公式(4)计算:

P=(xmax-xmin)×(ymax-ymin) 公式(4)

此外,文本框的面积可以根据以下公式(5)计算:

Q=(x

若P/Q>θ,则确定该文本框符合预设条件,该文本框为第一节点的节点框对应的文本;否则,确定该文本框不符合预设条件;其中,θ为预设比例。

图13A示出了节点框1302完全包含文本框1301的示意图;可以看到,在此情况下二者相交面积等于文本框1301的面积,即P/Q=1,可以判定该文本框是对应于该节点框的。

图13B示出了节点框1302包含文本框1301内的大部分区域的示意图,其中,二者相交面积占文本框1301的面积的比例较大,P/Q>0.75,可以判定该文本框是对应于该节点框的。

图13C示出了节点框1302包含文本框1301内的小部分区域的示意图,其中,二者相交面积占文本框1301的面积的比例较小,P/Q<0.75,可以判定该文本框与该节点框不对应。

图13D示出了节点框1302完全不包含文本框1301的示意图,其中,二者相交面积为0,可以判定该文本框与该节点框不对应。

可见,根据上述示例,可以准确建立文本框与节点框之间的关联关系。基于此,可以将节点框对应的文本框内的文本赋予该节点框,从而得到节点所对应的文本。

可选地,在第一节点的节点框对应有多个文本框的情况下,可以拼接多个文本框中的文本,得到节点框中的文本。例如将图12中的节点13中的3个文本框中的文本拼接,得到节点13对应的文本“茶性较寒凉, 茶碱含量高, 较易刺激神经”,其中,“ ”表示换行符。

步骤S1060、基于预设数据存储形式,对层级关系以及每个节点对应的文本进行处理,得到预设数据存储形式所对应的预定格式的思维导图文件。

示例性地,预设数据存储形式可以指预先设置或指定的用于将层级关系和文本编译为待存储/传输的数据包的方式。该预设数据存储形式与预定格式对应,具体地,基于该预设数据存储形式得到的数据包即预设格式的文件。

示例性地,可以根据多个思维导图节点之间的层级关系,即按照关系树,递归地输出每个节点的ID以及每个节点对应的文本,得到结构化数据。示例性地,对于如图3A所示的思维导图图像,根据其关系树,可以得到结构化数据如下:

/>

根据与预定格式对应的预设数据存储形式对上述结构化数据进行转换,可以得到预定格式的思维导图文件。

可以理解,不同的软件可以编辑处理不同格式的思维导图文件。通过从思维导图图像中识别出层级关系和文本等信息,可以按照预设数据存储形式处理该信息得到预定格式的思维导图文件,从而可利用对应的软件编辑处理思维导图文件。基于此,可以使不同格式的思维导图文件之间可以相互转换,解决了兼容性问题,并且便于思维导图的二次编辑与创作,提高了处理效率。

需要说明的是,在本申请实施例中,确定各思维导图节点对应的文本,以及确定各思维导图节点的层级关系,两者之间的先后顺序不限。也就是说,可以参考上述实施例先确定各思维导图节点的层级关系,再确定各思维导图节点对应的文本;也可以先确定各思维导图节点对应的文本,再确定各思维导图节点的层级关系;还可以并行确定各思维导图节点对应的文本和层级关系。下面结合图14进行示例性说明。

图14示出了一个应用示例的示意图。该应用示例中,思维导图图像的识别方法包括:

步骤S1401、获取思维导图图像;

步骤S1402、对思维导图图像进行二值化处理,得到对应的二值图;

步骤S1403、对思维导图图像进行节点检测,得到若干节点框,其中包括唯一的根节点的节点框;

步骤S1404、对思维导图图像进行文字检测,得到若干文本框。

上述步骤S1402至步骤S1404可以先后执行,也可以并行执行。

在步骤S1402和步骤S1403均完成之后,还包括:

步骤S1405、利用思维导图图像对应的二值图以及节点框,确定多个第二节点组合,其表征思维导图图像中的多个连接关系;

步骤S1406、根据多个第二节点组合以及根节点,构建关系树。

在步骤S1404完成之后,还包括:

步骤S1407、对每个文本框进行文本识别,得到每个文本框内的文本。

在步骤S1403和步骤S1404均完成之后,还包括:

步骤S1408、确定节点框与文字框之间的包含关系,得到每个节点框内的文本。

在步骤S1406与步骤S1407均完成之后,还包括:

步骤S1409、根据关系树与节点框内的文本,生成结构化数据;

步骤S1410、将结构化数据转化为预定格式的思维导图文件。

上述应用示例中的技术细节可以参考前述实施例实现,在此不进行赘述。可以看到,在本申请实施例提供的方法中,各步骤的执行顺序以其功能和内在逻辑确定,在不影响功能和内在逻辑的情况下,各步骤可以先后执行,也可以并行执行。

请参阅图15,图15是本申请实施例公开的思维导图图像的识别装置1500的结构框图。如图15所示,该思维导图图像的识别装置1500可以包括:

节点确定模块1510,用于确定思维导图图像中的多个思维导图节点的位置信息;

第一组合确定模块1520,用于对多个思维导图节点进行两两组合,得到多个第一节点组合;

第二组合确定模块1530,用于基于多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合;其中,多个第二节点组合中的每个第二节点组合包括两个具有连接关系的思维导图节点;

关系确定模块1540,用于基于多个第二节点组合,得到多个思维导图节点的层级关系。

图16是本申请实施例公开的思维导图图像的识别装置1600的结构框图。可选地,如图16所示,思维导图图像的识别装置1600可以包括:

节点确定模块1610,用于确定思维导图图像中的多个思维导图节点的位置信息;

第一组合确定模块1620,用于对多个思维导图节点进行两两组合,得到多个第一节点组合;

第二组合确定模块1630,用于基于多个思维导图节点的位置信息,在多个第一节点组合中确定多个第二节点组合;其中,多个第二节点组合中的每个第二节点组合包括两个具有连接关系的思维导图节点;

关系确定模块1640,用于基于多个第二节点组合,得到多个思维导图节点的层级关系。

文件生成模块1650,用于基于上述层级关系,得到预定格式的思维导图文件。

可选地,在一些实施方式中,如图16所示,思维导图图像的识别装置1600可以包括:

连线图生成模块1660,用于基于思维导图图像,得到对应的思维导图连线图。

相应地,第二组合确定模块1630,可以包括:

节点对连线图生成单元,用于基于多个第一节点组合中的第i个第一节点组合中的两个节点的位置信息,对思维导图连线图进行处理,得到第i个第一节点组合对应的节点对连线图;其中,i为大于或等于1的整数,且i小于或等于第一节点组合的数量;

连接判断单元,用于基于节点对连线图,确定两个节点是否具有连接关系;

组合确定单元,用于在两个节点具有连接关系的情况下,将第i个第一节点组合确定为第二节点组合。

可选地,连线图生成模块1660,可以包括:

二值化单元,用于对思维导图图像进行二值化,得到思维导图图像对应的二值图;

区域确定单元,用于基于多个思维导图节点的位置信息,在二值图中确定多个思维导图节点中的每个节点对应的图像区域;

连线提取单元,用于在二值图中将每个节点对应的图像区域设置为背景,得到思维导图连线图。

可选地,节点对连线图生成单元具体用于:

基于两个节点的位置信息,在思维导图连线图中将两个节点对应的图像区域设置为前景,得到第i个第一节点组合对应的节点对连线图。

可选地,连接判断单元具体用于:

在节点对连线图中确定最大轮廓;

确定两个节点对应的图像区域的中心点是否均位于最大轮廓内;

在两个节点对应的图像区域的中心点均位于最大轮廓内的情况下,确定两个节点具有连接关系。

可选地,连接判断单元具体用于:

基于预先配置的背景像素代价值以及前景像素代价值,在节点对连线图中搜索两个节点之间的最小代价路径;其中,背景像素代价值大于前景像素代价值;

在最小代价路径所对应的总代价值与最小代价路径中的像素数量的N倍之间的差值小于或等于预设代价阈值的情况下,确定两个节点具有连接关系;其中,N为前景像素代价值,且N大于0。

可选地,在一些实施方式中,第二组合确定模块1630,可以包括:

位置偏差确定模块,用于基于多个第一节点组合中的第j个第一节点组合中的两个节点的位置信息,确定两个节点在预定方向上的位置偏差;其中,j为大于或等于1的整数,且j小于或等于第一节点组合的数量;

组合确定单元,用于基于位置偏差,确定第j个第一节点组合是否第二节点组合。

可选地,节点确定模块1610可以包括:

节点检测单元,用于基于预先训练的目标检测模型对思维导图图像进行节点检测,得到多个节点框的位置信息;

节点位置确定单元,用于将多个节点框的位置信息确定为多个思维导图节点的位置信息。

可选地,关系确定模块1640具体可用于:

基于层次遍历算法以及多个思维导图节点中的根节点,对多个第二节点组合进行遍历,以构建多个思维导图节点对应的关系树;其中,关系树用于表征多个思维导图节点的层级关系。

可选地,上述文件生成模块1650可以包括:

文本识别单元,用于基于思维导图图像,确定多个思维导图节点中每个节点对应的文本;

文件处理单元,用于基于预设数据存储形式,对层级关系以及每个节点对应的文本进行处理,得到预设数据存储形式所对应的预定格式的思维导图文件。

可选地,文本识别单元具体用于:

对思维导图图像进行文本检测,得到多个文本框的位置信息,并对多个文本框中的每个文本框进行文本识别,得到每个文本框内的文本;

基于多个文本框的位置信息以及多个思维导图节点的位置信息,确定多个思维导图节点中每个节点对应的文本框;

基于每个节点对应的文本框以及每个文本框内的文本,确定每个节点对应的文本。

本申请实施例中的思维导图图像的识别装置,可以用于实现本申请任意实施例提供的思维导图图像的识别方法,其中的技术细节可参考前述方法实施例实现,并具备相应的有益效果。

请参阅图17,图17是本申请实施例公开的电子设备的结构示意图。如图17所示,电子设备1700可以包括:

存储有可执行程序代码的存储器1701;

与存储器1701耦合的处理器1702;

其中,处理器1702调用存储器1701中存储的可执行程序代码,执行本申请任一实施例中的思维导图图像的识别方法。

需要说明的是,图17所示的电子设备还可以包括电源、输入按键、摄像头、扬声器、屏幕、RF电路、Wi-Fi模块、蓝牙模块、传感器等一种或多种未显示的组件,本实施例不作赘述。

本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行本申请任一实施例中的思维导图图像的识别方法。

本申请实施例公开一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行本申请任一实施例中的思维导图图像的识别方法。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请的各个实施例上述方法的部分或全部步骤。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

以上对本申请实施例公开的思维导图图像的识别方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 图像中文本的识别方法及装置、电子设备、存储介质
  • 一种漆面识别方法、装置、存储介质及电子设备
  • 欺诈行为识别方法、装置、电子设备及可读存储介质
  • 命名实体识别方法、装置、电子设备、机器可读存储介质
  • 一种虚假主叫识别方法、装置、电子设备及存储介质
  • 思维导图识别方法、装置、存储介质和计算机设备
  • 思维导图识别方法、装置、存储介质和计算机设备
技术分类

06120115933596