CN116541108A - 显示版面排版转换方法、装置、计算机设备和存储介质 - Google Patents
显示版面排版转换方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116541108A CN116541108A CN202210096328.2A CN202210096328A CN116541108A CN 116541108 A CN116541108 A CN 116541108A CN 202210096328 A CN202210096328 A CN 202210096328A CN 116541108 A CN116541108 A CN 116541108A
- Authority
- CN
- China
- Prior art keywords
- layout
- component
- typesetting
- unit
- scheme
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000011218 segmentation Effects 0.000 claims abstract description 108
- 238000010586 diagram Methods 0.000 claims abstract description 54
- 230000009191 jumping Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 51
- 230000000712 assembly Effects 0.000 claims description 28
- 238000000429 assembly Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 description 29
- 238000004458 analytical method Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 10
- 210000003850 cellular structure Anatomy 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000011426 transformation method Methods 0.000 description 4
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本申请涉及一种显示版面排版转换方法、装置、计算机设备和存储介质,可应用于安全、智慧交通等行业领域进行信息展示、集中管理等。所述方法包括:获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;根据基础组件信息,生成与基础组件对应的版面图;对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;确定基础组件的缩放比例,根据版面分割多叉树和缩放比例输出目标排版转换方案。采用本方法能够按照一定的显示顺序排列基础组件,实现排版转换,泛化性好且可行性高。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种显示版面排版转换方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了显示版面排版转换技术,显示版面排版转换技术用于在不同尺寸屏幕之间实现排版方案的转换。比如,显示版面排版转换技术可用于将可视化大屏排版方案自动化适配为可视化小屏排版方案。
传统技术中,显示版面排版转换问题可以分解为版面分析和自动化排版两个子问题。其中,常用的版面分析方式为,通过二值化、轮廓投影、形态学处理、连通域分析等方法综合获取文档的版面信息,或基于神经网络模型的版面分析方法实现版面分析。
然而,通过二值化、轮廓投影、形态学处理、连通域分析等方法综合获取文档的版面信息的方式,严重依赖人为设计的算法流程,泛化性较差,基于神经网络模型的版面分析方法需要通过标注可视化大屏数据等方式来获取大量训练数据,而可用于标注的可视化大屏数据数量少且标注成本高,可行性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种泛化性好且可行性高的显示版面排版转换方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种显示版面排版转换方法。所述方法包括:
获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;
根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;
根据基础组件信息,生成与基础组件对应的版面图;
对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;
根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例;
根据版面分割多叉树和缩放比例输出目标排版转换方案。
第二方面,本申请还提供了一种显示版面排版转换装置。所述装置包括:
获取模块,用于获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;
归并模块,用于根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;
版面生成模块,用于根据基础组件信息,生成与基础组件对应的版面图;
版面分割模块,用于对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;
缩放模块,用于根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例;
处理模块,用于根据版面分割多叉树和缩放比例输出目标排版转换方案。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;
根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;
根据基础组件信息,生成与基础组件对应的版面图;
对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;
根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例;
根据版面分割多叉树和缩放比例输出目标排版转换方案。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;
根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;
根据基础组件信息,生成与基础组件对应的版面图;
对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;
根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例;
根据版面分割多叉树和缩放比例输出目标排版转换方案。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;
根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;
根据基础组件信息,生成与基础组件对应的版面图;
对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;
根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例;
根据版面分割多叉树和缩放比例输出目标排版转换方案。
上述显示版面排版转换方法、装置、计算机设备、存储介质和计算机程序产品,通过获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息,根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息,能够实现对待转换排版方案的单元组件分布情况的分析,通过根据基础组件信息,生成与基础组件对应的版面图,对版面图进行版面分割,得到版面分割多叉树,能够结合显示效果将待转换排版方案分割为基础组件的集合,通过根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例,根据版面分割多叉树和缩放比例输出目标排版转换方案,能够按照一定的显示顺序排列基础组件,实现排版转换。整个过程,由于不需要依赖算法流程可以适用于各种显示版面排版转换情况,泛化性好,由于不需要依赖获取大量训练数据进行标注就可以直接进行显示版面排版转换,可行性高。
附图说明
图1为一个实施例中显示版面排版转换方法的应用环境图;
图2为一个实施例中显示版面排版转换方法的流程示意图;
图3为一个实施例中组件示意图;
图4为一个实施例中版面图的示意图;
图5为一个实施例中第二方向跳跃点的示意图;
图6为一个实施例中版面分割多叉树的示意图;
图7为一个实施例中待转换排版方案的示意图;
图8为一个实施例中待评估排版方案的示意图;
图9为另一个实施例中待评估排版方案的示意图;
图10为一个实施例中版面分割结果的示意图;
图11为另一个实施例中显示版面排版转换方法的流程示意图;
图12为又一个实施例中显示版面排版转换方法的流程示意图;
图13为一个实施例中显示版面排版转换装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的显示版面排版转换方法,可应用于安全、智慧交通等行业领域进行信息展示、集中管理等。以应用于如图1所示的应用环境为例,第一终端102为包括可视化大屏的终端,第二终端104为包括可视化小屏的终端,需要通过显示版面排版转换,将可视化大屏排版方案自动化适配为可视化小屏排版方案,实现大屏转小屏。此时,第一终端102会获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;根据基础组件信息,生成与基础组件对应的版面图,对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例,根据版面分割多叉树和缩放比例输出目标排版转换方案;在得到目标排版转换方案后,就可以根据目标排版转换方案,将可视化大屏中的内容转换至第二终端104的可视化小屏中显示。其中,第一终端102可以但不限于是各种个人计算机、笔记本电脑和物联网设备,物联网设备可以为智能电视等,第二终端104可以但不限于是各种智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在一个实施例中,如图2所示,提供了一种显示版面排版转换方法,本实施例以该方法应用于第一终端102进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括第一终端和服务器的系统,并通过第一终端和服务器的交互实现。其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以为区块链上的节点。本实施例中,该方法包括以下步骤:
步骤202,获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息。
其中,待转换排版方案是指需要进行转换的排版方案。比如,在可视化大屏转可视化小屏的显示版面排版转换中,待转换排版方案是指可视化大屏排版方案。举例说明,待转换排版方案具体可以是指在笔记本电脑等可视化大屏中显示的排版方案。单元组件集合是由待转换排版方案中存在的单元组件组成的集合。单元组件是指待转换排版方案中显示的界面元素。比如,单元组件具体可以是指文本框、按钮、下拉式菜单等界面元素。再比如,单元组件具体可以是指文字、数值等界面元素。举例说明,如图3的组件示意图所示,若将单元组件均用包围其的最小包围盒表示,则在图3-1中包括单元组件1、单元组件2、单元组件3、单元组件4以及单元组件5,在图3-2中包括单元组件6、单元组件7以及单元组件8。
其中,单元组件信息是指表征单元组件在待转换排版方案中位置的信息。比如,单元组件信息具体可以是指包围单元组件的最小包围盒在待转换排版方案中的坐标信息。举例说明,单元组件信息具体可以是指包围单元组件的最小包围盒在待转换排版方案对应坐标系下的两个顶角位置坐标。进一步的,两个顶角位置具体可以是指左上角位置和右下角位置。需要说明的是,待转换排版方案对应坐标系是依据预先设定的坐标原点确定的,坐标原点可按照需要自行设置。比如,坐标原点具体可以是指整个待转换排版方案中左上角顶点。
具体的,当需要进行显示版面排版转换时,第一终端会获取待转换排版方案中单元组件集合以及单元组件对应的单元组件属性,根据单元组件属性中组件大小以及组件位置,得到单元组件信息。其中,单元组件属性用于对单元组件进行描述,包括组件标识、组件对应的父组件信息以及组件风格,其中,组件风格包括组件大小、组件位置、组件文本内容、组件文本的属性设置等。其中,组件标识用于对不同单元组件进行区分,组件对应的父组件信息用于确定单元组件之间的附属关系。组件大小包括组件长度w和组件宽度h,需要说明的是,本申请中的组件长度和组件宽度,单位为像素数,举例说明,组件大小可以为组件长度为5个像素,组件宽度为4个像素。组件位置是指包围单元组件的最小包围盒的左上角顶点的坐标(x,y)。需要说明的是,组件文本内容可能为空,即单元组件内不存在文本时,组件文本内容会为空。
具体的,根据组件大小以及组件位置,得到单元组件信息是指,根据单元组件i的组件长度wi、组件宽度hi以及组件位置(xi,yi),计算出单元组件信息[xi,yi,xi+wi,yi+hi]。进一步的,在获取单元组件信息的同时,第一终端还会对单元组件的单元组件属性进行其他预处理。以可视化大屏排版方案为例,由于目前在可视化大屏排版方案中包括多个大类,每个大类包括多种组件,所有组件的关键字并不是统一的,因此需要进行预处理,在预处理阶段,会统一关键字,并标准化组件属性。其中,这里的关键字是指字典的属性值,单元组件在可视化大屏的显示是json(JavaScript Object Notation,JS对象简谱)文件传输的,是一个字典的数据类型。标准化组件属性是指将所有的单元组件的字典key值,缺失的key补全。
步骤204,根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息。
其中,由于待转换排版方案中通常有上百个单元组件,单元组件之间相互堆叠,因此需要使用box(盒)信息将同一区域内的单元组件归并为一个紧致包围盒,即该区域内不与其他组件重叠的最小包围盒。基础组件即是指任意区域内部与其他组件重叠的最小包围盒。基础组件信息是指表征基础组件在待转换排版方案中位置的信息。比如,基础组件信息具体可以基础组件在待转换排版方案中的坐标信息。举例说明,基础组件信息具体可以是指包围基础组件的最小包围盒在待转换排版方案对应坐标系下的两个顶角位置坐标。进一步的,两个顶角位置具体可以是指左上角位置和右下角位置。
具体的,第一终端会根据单元组件信息,确定单元组件的面积大小,根据面积大小对单元组件进行排序,得到单元组件对应的排列顺序,根据排列顺序确定初始基础组件,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比,根据计算得到的交并比以及预设归并条件,更新组件包围盒,即在计算交并比后,根据交并比确定对应的单元组件是否可以与初始基础组件对应的组件包围盒归并,直到初始基础组件与单元组件集合中单元组件之间的交并比均计算完毕,将最新的组件包围盒作为目标组件。其中,预设归并条件可按照需要自行设置,本实施例在此处不做具体限定。举例说明,预设归并条件具体可以是指初始基础组件对应的组件包围盒与单元组件的交并比大于预设交并比阈值,进一步的,交并比阈值可以为0.9。
具体的,在得到目标组件后,第一终端会根据目标组件中各单元组件,更新单元组件集合以及排列顺序,返回根据排列顺序确定初始基础组件,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比的步骤,直到最新的单元组件集合中不存在单元组件为止,将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息。
步骤206,根据基础组件信息,生成与基础组件对应的版面图。
其中,版面图是指根据基础组件信息,将基础组件表示在画布上所得到的版面设计图。举例说明,版面图可以如图4所示,在其中,基础组件用矩形框来表示。又举例说明,在需要实现可视化大屏转可视化小屏时,版面图具体可以是指将可视化大屏中基础组件表示在画布上所得到的版面设计图,在版面图中,用矩形框来表示可视化大屏中基础组件。再举例说明,在需要实现可视化小屏转可视化大屏时,版面图具体可以是指将可视化小屏中基础组件表示在画布上所得到的版面设计图,在版面图中,用矩形框来表示可视化小屏中基础组件。
具体的,第一终端会创建一个与待转换排版方案的分辨率大小相同的画布,根据基础组件信息,基础组件依次用矩形框在画布上进行表示,生成与基础组件对应的版面图。
步骤208,对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域。
其中,版面分割是指将版面图分割为至少两个版面区域。版面分割多叉树是指由表征不同版面区域的节点组成的树,在版面分割多叉树中,用不同的节点来表征不同版面区域,从而可以确定每个版面区域之间的关系。比如,当两个节点为兄弟节点时,表示对应的所表征的两个版面区域为同一级平等关系。再比如,当两个节点为父子节点时,表示父节点所表征的版面区域包含子节点所表征的版面区域。版面区域是指进行版面分割后所得到的部分版面图,在版面区域中可能包含一个或多个基础组件。
具体的,第一终端会通过对版面图进行版面分割,将版面图分割为至少两个版面区域,用节点表征每个分割后的版面区域,得到版面分割多叉树。其中,在进行版面分割时,第一终端首先会对版面图进行第一方向分割,得到版面标题分割线,以分割出版面标题区域和版面内容区域,再对版面内容区域进行分割,根据分割结果得到版面分割多叉树。其中,在对版面内容区域进行分割时,第一终端会先根据版面内容区域中像素点的像素值,对版面内容区域进行第二方向分割,得到第二方向分割线,根据第二方向分割线分割版面内容区域,得到至少两个待分割第二方向区域,再对每个待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线,根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域,最后对每个待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止,根据每次分割结果,得到版面分割多叉树。
其中,第一方向与第二方向相互垂直,且第一方向与版面标题的排版方向相同,比如,当版面标题的排版方向为横向时,第一方向为横向。又比如,当版面标题的排版方向为纵向时,第一方向为纵向。其中,预设分割截止条件可以按照需要自行设置,本实施例在此处不做具体限定,举例说明,预设分割截止条件具体可以为不可分割和/或待分割的版面区域的宽度小于目标宽度,其中,目标宽度可按照需要自行设置。
步骤210,根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例。
其中,基础组件的缩放比例是指对基础组件进行缩放的比例,通过待转换排版方案对应的第一屏幕尺寸和目标排版转换方案对应的第二屏幕尺寸确定。
具体的,第一终端会根据待转换排版方案对应的第一屏幕尺寸以及目标排版转换方案对应的第二屏幕尺寸,确定基础组件的缩放比例,需要说明的是,此处的缩放比例是适用于基础组件中所有单元组件的。举例说明,第一终端可以根据第一屏幕尺寸中第一屏幕宽度tg_width和第二屏幕尺寸中第二屏幕宽度base_width确定基础组件的缩放比例,基础组件的缩放比例scale=tg_width/base_width。
步骤212,根据版面分割多叉树和缩放比例输出目标排版转换方案。
具体的,在确定基础组件的缩放比例后,第一终端会获取版面分割多叉树的遍历顺序,根据遍历顺序以及缩放比例,对所有基础组件中单元组件进行缩放并由上到下排列,输出目标排版转换方案。进一步的,版面分割多叉树的遍历顺序可以为至少两种,则在得到目标排版转换方案时,第一终端会根据每种遍历顺序和缩放比例,得到与遍历顺序对应的待评估排版方案,再统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值,根据原始版面组件数值和转换版面组件数值对待评估排版方案进行排序,根据排序结果输出目标排版转换方案。其中,原始版面组件数值是指在对待转换排版方案对应的版面图进行版面分割后,在选定方向上统计的每个分割后版面区域内的基础组件数量。转换版面组件数值是指在待评估排版方案中,在选定方向上统计的每个版面区域内的基础组件数量。其中,选定方向可按照需要自行设置,比如,针对待转换排版方案和待评估排版方案,选定方向可根据排版方案对应的排版长度和排版宽度确定,当排版长度大于排版宽度时,选定方向为纵向,当排版宽度大于排版长度时,选定方向为横向。
上述显示版面排版转换方法,通过获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息,根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息,能够实现对待转换排版方案的单元组件分布情况的分析,通过根据基础组件信息,生成与基础组件对应的版面图,对版面图进行版面分割,得到版面分割多叉树,能够结合显示效果将待转换排版方案分割为基础组件的集合,通过根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例,根据版面分割多叉树和缩放比例输出目标排版转换方案,能够按照一定的显示顺序排列基础组件,实现显示版面排版转换。整个过程,由于不需要依赖算法流程可以适用于各种显示版面排版转换情况,泛化性好,由于不需要依赖获取大量训练数据进行标注就可以直接进行显示版面排版转换,可行性高。
在一个实施例中,对版面图进行版面分割,得到版面分割多叉树包括:
对版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域,版面标题分割线用于分割版面标题区域和版面内容区域;
对版面内容区域进行分割,根据分割结果得到版面分割多叉树。
其中,第一方向与版面标题的排版方向相同。版面标题分割线是指用于分割版面标题区域和版面内容区域的分割线。版面标题区域是指版面标题所在的区域,版面内容区域是指版面内容所在的区域。举例说明,在如图4所示的版面图中,版面标题分割线402为用于分割版面标题区域404和版面内容区域406的分割线。
具体的,在进行版面分割时,第一终端首先会先利用版面图中像素点的像素值对版面图进行第一方向分割,确定第一方向跳跃点,根据第一方向跳跃点得到版面标题分割线,以分割出版面标题区域和版面内容区域,再对版面内容区域进行进一步分割,根据分割结果得到版面分割多叉树。
本实施例中,通过先对版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域,再对版面内容区域进行分割,能够根据分割结果得到版面分割多叉树。
在一个实施例中,对版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域包括:
根据版面图中像素点的像素值,确定像素点的单排第一方向平均值;
根据单排第一方向平均值,对版面图中像素点的像素值进行二值化处理,根据二值化处理结果确定第一方向跳跃点,第一方向跳跃点为第一方向上的二值化像素值变化点;
根据第一方向跳跃点,得到版面标题分割线、版面标题区域以及版面内容区域。
其中,单排第一方向是指第一方向中的单排方向,比如,当第一方向为横向时,单排第一方向为行方向,又比如,当第一方向为纵向时,单排第一方向为列方向。单排第一方向平均值是指在单排第一方向上每一单排像素点的平均像素值。举例说明,当单排第一方向为行方向时,其平均值的计算公式可以为:
其中,(xj,yi)是指版面图中的像素点,I(xj,yi)是指像素点的像素值,w为版面长度,h为版面宽度。
其中,第一方向跳跃点是指第一方向上的二值化像素值变化点,比如,当将像素值二值化为“0”或者“1”后,第一方向跳跃点为在第一方向上,“0”至“1”的变化点以及“1”至“0”的变化点。
具体的,第一终端会根据版面图中像素点的像素值,确定像素点的单排第一方向平均值,根据单排第一方向平均值,对版面图中像素点的像素值进行二值化处理,根据二值化处理结果确定第一个和第二个第一方向跳跃点,第一方向跳跃点为第一方向上的二值化像素值变化点,将第一个和第二个第一方向跳跃点作为版面标题分割点,根据版面标题分割点,得到对应的版面标题分割线。
其中,根据单排第一方向平均值,对版面图中像素点的像素值进行二值化处理,是指比对单排第一方向平均值和预先确定的二值化阈值,当单排第一方向平均值小于二值化阈值时,将与单排第一方向平均值对应单排的像素点的像素值二值化为0,当单排第一方向平均值大于或者等于二值化阈值时,将与单排第一方向平均值对应单排的像素点的像素值二值化为1。举例说明,当单排第一方向为行方向时,可得对应的判断公式为:
其中,row_thresh(i)为二值化处理后的像素值,thresh为二值化阈值,二值化阈值可通过计算得出,举例说明,二值化阈值的计算公式可以为:
其中,第一终端通过遍历像素点的二值化后的像素值,就可以确定像素值变化点,从而根据第一个和第二个第一方向跳跃点得到版面标题分割点,利用版面标题分割点,得到对应的版面标题分割线,举例说明,当第一方向为横向时,对于版面图而言,版面标题区域和版面内容区域之间通常包含两个跳跃点row_left和row_right,则版面标题分割点为s-p1=row_left/2+row_right/2。版面标题分割线即版面标题分割点的连线。
本实施例中,通过根据版面图中像素点的像素值,确定像素点的单排第一方向平均值,根据单排第一方向平均值,对版面图中像素点的像素值进行二值化处理,能够根据二值化处理结果确定第一方向跳跃点,从而利用第一方向跳跃点,得到版面标题分割线、版面标题区域以及版面内容区域。
在一个实施例中,对版面内容区域进行分割,根据分割结果得到版面分割多叉树包括:
根据版面内容区域中像素点的像素值,对版面内容区域进行第二方向分割,得到第二方向分割线,第二方向与第一方向垂直;
根据第二方向分割线分割版面内容区域,得到至少两个待分割第二方向区域;
对待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线;
根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域;
对待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止;
根据每次分割结果,得到版面分割多叉树。
其中,第二方向是指与第一方向垂直的方向。比如,当第一方向为横向时,第二方向为纵向。再比如,当第一方向为纵向时,第二方向为横向。第二方向分割线是指用于对版面内容区域进行第二方向分割,得到待分割第二方向区域的分割线。举例说明,在如图4所示的版面图中,当第二方向为纵向时,第二方向分割线408为用于对版面内容区域406进行第二方向分割,得到待分割第二方向区域410、待分割第二方向区域412以及待分割第二方向区域414的分割线。待分割第二方向区域是指经过第二方向分割得到的、还需要继续尝试分割的区域。第一方向分割线是指用于对待分割第二方向区域进行第一方向分割,得到对应的待分割第一方向区域的分割线。举例说明,在如图4所示的版面图中,当第一方向为横向时,第一方向分割线416为用于对待分割第二方向区域412进行第一方向分割,得到三个待分割第一方向区域。待分割第一方向区域是指经过第一方向分割得到的、还需要继续尝试分割的区域。
具体的,在对版面内容区域进行第二方向分割时,第一终端会先根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值,根据单排第二方向平均值,对像素值进行二值化处理,根据二值化处理结果得到第二方向分割线,再根据第二方向分割线分割版面内容区域,得到至少两个待分割第二方向区域,对待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线,根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域,最后对每个待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止,根据每次分割结果,得到版面分割多叉树。需要说明的是,本申请中在进行第二方向分割和进行第一方向分割时,在计算单排第二方向平均值和单排第一方向平均值时,所利用的像素点的像素值均是指的像素点在版面图上的像素值,而不是二值化后的像素值。
其中,预设分割截止条件可以按照需要自行设置,本实施例在此处不做具体限定,举例说明,预设分割截止条件具体可以为不可分割和/或待分割的版面区域的宽度小于目标宽度,其中,目标宽度可按照需要自行设置。需要说明的是,除了二次分割时,在每次进行第二方向分割和第一方向分割时,也需要判断待分割的版面区域是否满足预设分割截止条件,并在满足预设分割截止条件时,停止分割该待分割的版面区域。
进一步的,对待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线的方式可以为:根据待分割第二方向区域中像素点的像素值,确定像素点的单排第一方向平均值,根据单排第一方向平均值,对像素值进行二值化处理,根据二值化处理结果确定待分割第二方向区域中的第一方向跳跃点,将第一方向跳跃点作为第一方向分割点,根据第一方向分割点,得到第一方向分割线。举例说明,第一方向分割线可以为第一方向分割点的连线。
进一步的,在根据每次分割结果,得到版面分割多叉树时,为了防止版面分割过细,造成排版混乱,还需要对分割线进行过滤,此时,第一终端会计算同一方向上每两条分割线之间的分割线距离,通过比对分割线距离和分割距离阈值对分割线进行过滤,滤除分割线距离小于分割距离阈值的分割线。其中,分割距离阈值可按照需要自行设置。
本实施例中,通过先进行第二方向分割、再进行第一方向分割,最后进行二次分割,能够实现对版面内容区域的完全分割,得到版面分割多叉树。
在一个实施例中,根据版面内容区域中像素点的像素值,对版面内容区域进行第二方向分割,得到第二方向分割线包括:
根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值;
根据单排第二方向平均值,对版面内容区域中像素点的像素值进行二值化处理,根据二值化处理结果确定第二方向跳跃点,第二方向跳跃点为第二方向上的二值化像素值变化点;
根据第二方向跳跃点,确定第二方向分割点;
根据第二方向分割点,得到第二方向分割线。
其中,单排第二方向是指第二方向中的单排方向,比如,当第二方向为横向时,单排第二方向为行方向,又比如,当第二方向为纵向时,单排第二方向为列方向。单排第二方向平均值是指在单排第二方向上每一单排像素点的平均像素值。第二方向跳跃点是指第二方向上的二值化像素值变化点,比如,当将像素值二值化为“0”或者“1”后,第二方向跳跃点为在第二方向上,“0”至“1”的变化点以及“1”至“0”的变化点。举例说明,当第二方向为纵向时,如图5所示,针对图3中的两个基础组件,其之间包含两个跳跃点(左跳跃点和右跳跃点),则第二方向分割点为s-p2=左跳跃点/2+右跳跃点/2。
具体的,第一终端会根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值,根据单排第二方向平均值,对版面内容区域中像素点的像素值进行二值化处理,根据二值化处理结果确定第二方向跳跃点,将第二方向跳跃点作为第二方向分割点,根据第二方向分割点,得到第二方向分割线。举例说明,可通过连接第二方向分割点,得到第二方向分割线。
其中,单排第二方向平均值可通过公式计算得到,举例说明,当单排第二方向为列方向时,其平均值的计算公式可以为:
其中,(xj,yi)是指版面图中的像素点,I(xj,yi)是指像素点的像素值,w为版面长度,h为版面宽度。
其中,根据单排第二方向平均值,对像素值进行二值化处理,是指比对单排第二方向平均值和预先确定的二值化阈值,当单排第二方向平均值小于二值化阈值时,将与单排第二方向平均值对应单排的像素点的像素值二值化为0,当单排第二方向平均值大于或者等于二值化阈值时,将与单排第二方向平均值对应单排的像素点的像素值二值化为1。举例说明,当单排第二方向为列方向时,可得对应的判断公式为:
其中,line_thresh(i)为二值化处理后的像素值,thresh为二值化阈值,二值化阈值可通过计算得出,举例说明,二值化阈值的计算公式可以为:
本实施例中,通过根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值,根据单排第二方向平均值,对版面内容区域中像素点的像素值进行二值化处理,能够根据二值化处理结果确定第二方向跳跃点,从而利用第二方向跳跃点,确定第二方向分割点,进而得到第二方向分割线。
在一个实施例中,根据版面分割多叉树和缩放比例输出目标排版转换方案包括:
获取版面分割多叉树的至少两种遍历顺序;
根据遍历顺序和缩放比例,得到与遍历顺序对应的待评估排版方案;
对待评估排版方案进行评估,输出目标排版转换方案。
其中,遍历是指沿着某条搜索路线,依次对版面分割多叉树中每个节点均做一次访问,不同的遍历方式,其访问节点的顺序是不一样的。常见的遍历方式包括前序遍历、中序遍历以及后序遍历。举例说明,针对如图6所示的版面分割多叉树,通过不同的遍历方式就可以得到不同的遍历顺序。
具体的,第一终端会根据预先设定的遍历方式,对版面分割多叉树进行遍历,获取版面分割多叉树的至少两种遍历顺序,按照遍历顺序依次对基础组件进行缩放并由上到下排列,得到与遍历顺序对应的待评估排版方案,再对待评估排版方案进行评估,确定并输出目标排版转换方案,即最终的排版转换方案。举例说明,根据遍历顺序的不同,如图7所示的待转换排版方案,其对应的待评估排版方案可以如图8和图9所示。
本实施例中,通过获取版面分割多叉树的至少两种遍历顺序,根据遍历顺序和缩放比例,得到与遍历顺序对应的待评估排版方案,对待评估排版方案进行评估,能够输出目标排版转换方案。
在一个实施例中,对待评估排版方案进行评估,输出目标排版转换方案包括:
统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值;
根据原始版面组件数值得到第一组件密度,并根据转换版面组件数值得到第二组件密度;
根据第一组件密度和第二组件密度,对待评估排版方案进行排序;
根据排序结果输出目标排版转换方案。
其中,原始版面组件数值是指在对待转换排版方案对应的版面图进行版面分割后,在选定方向上统计的每个分割后版面区域内的基础组件数量。转换版面组件数值是指在待评估排版方案中,在选定方向上统计的每个版面区域内的基础组件数量。选定方向可按照需要自行设置,比如,针对待转换排版方案和待评估排版方案,选定方向可根据排版方案对应的排版长度和排版宽度确定,当排版长度大于排版宽度时,选定方向为纵向,当排版宽度大于排版长度时,选定方向为横向。第一组件密度是指原始版面组件数值之间的方差,第二组件密度是指转换版面组件数值之间的方差。
具体的,第一终端会统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值,计算原始版面组件数值之间的方差,得到第一组件密度,计算转换版面组件数值之间的方差,得到第二组件密度,计算第一组件密度和第二组件密度之间的差值,得到相对组件密度,根据第一组件密度和相对组件密度,对待评估排版方案进行排序,根据排序结果,确定并输出目标排版转换方案。
本实施例中,通过统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值,根据原始版面组件数值得到第一组件密度,并根据转换版面组件数值得到第二组件密度,能够利用第一组件密度和第二组件密度,对待评估排版方案进行排序,进而根据排序结果实现对目标排版转换方案的输出。
在一个实施例中,统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值包括:
确定与待转换排版方案对应的第一选定方向,并确定与待评估排版方案对应的第二选定方向;
在第一选定方向上,统计待转换排版方案对应的每个分割后版面区域内的基础组件数量,得到原始版面组件数值;
在第二选定方向上,统计待评估排版方案中每个版面区域内的基础组件数量,得到转换版面组件数值。
其中,第一选定方向是指对原始版面组件数值进行统计的方向。第二选定方向是指对转换版面组件数值进行统计的方向。
具体的,第一终端会获取待转换排版方案的排版长度和排版宽度,根据待转换排版方案的排版长度和排版宽度,确定与待转换排版方案对应的第一选定方向,并获取待评估排版方案的排版长度和排版宽度,根据待评估排版方案的排版长度和排版宽度,确定与待评估排版方案对应的第二选定方向。在确定第一选定方向和第二选定方向后,第一终端会在在第一选定方向上,统计待转换排版方案对应的每个分割后版面区域内的基础组件数量,得到原始版面组件数值,并在第二选定方向上,统计待评估排版方案中每个版面区域内的基础组件数量,得到转换版面组件数值。
举例说明,如图10所示,为与图4的版面图的版面分割结果,由于排版长度大于排版宽度,可确定第一选定方向为纵向,由图10可以看出,在纵向上包括三个分割后版面区域1001、1002以及1003,其中,分割后版面区域1001内的基础组件数量为7,分割后版面区域1002内的基础组件数量为6,分割后版面区域1003内的基础组件数量为7,则对应的原始版面组件数值分别为7、6、7。需要说明的是,由于是在纵向上统计的每个分割后版面区域内的基础组件数量,会同时对版面标题区域以及版面内容区域进行统计。举例说明,由图10可以看出,在分割后版面区域1001内,在版面标题区域的基础组件数量为1,在版面内容区域的基础组件数量为6。
本实施例中,通过确定第一选定方向以及第二选定方向,能够在第一选定方向上实现对原始版面组件数值的统计,并在第二选定方向上实现对转换版面组件数值的统计。
在一个实施例中,确定与待转换排版方案对应的第一选定方向包括:
获取待转换排版方案的排版长度和排版宽度;
当排版长度大于排版宽度时,确定第一选定方向为纵向;
当排版长度小于排版宽度时,确定第一选定方向为横向。
具体的,第一终端会获取待转换排版方案的排版长度和排版宽度,比对排版长度和排版宽度,当排版长度大于排版宽度时,确定第一选定方向为纵向,当排版长度小于排版宽度时,确定第一选定方向为横向。
本实施例中,通过获取排版长度和排版宽度,比对排版长度和排版宽度,能够实现对第一选定方向的确定。
在一个实施例中,根据第一组件密度和第二组件密度,对待评估排版方案进行排序包括:
计算第一组件密度和第二组件密度之间的差值,得到相对组件密度;
根据第一组件密度和相对组件密度,对待评估排版方案对应的初始分值进行扣减;
根据扣减结果对待评估排版方案进行排序。
具体的,第一终端会计算第一组件密度和第二组件密度之间的差值,得到相对组件密度,根据第一组件密度和相对组件密度,对待评估排版方案对应的初始分值进行扣减,即从初始分值中扣减第一组件密度和相对组件密度,根据扣减结果对待评估排版方案进行排序,根据排序结果选取与最高分值对应的待评估排版方案为目标排版转换方案。其中,初始分值可按照需要自行设置,所有待评估排版方案对应的初始分值相同。
本实施例中,通过根据第一组件密度和第二组件密度计算出相对组件密度,能够利用根据第一组件密度和相对组件密度,对待评估排版方案对应的初始分值进行扣减,从而根据扣减结果对待评估排版方案进行排序。
在一个实施例中,根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息包括:
根据单元组件信息,对单元组件进行组件排序处理,得到单元组件对应的排列顺序;
根据排列顺序确定初始基础组件;
根据初始基础组件对应的组件包围盒和单元组件集合,归并与初始基础组件同一区域内单元组件,得到目标组件;
将目标组件中单元组件从单元组件集合以及排列顺序中剔除,返回根据排列顺序确定初始基础组件的步骤,直到最新的单元组件集合中不存在单元组件;
将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息。
其中,初始基础组件是指根据排列顺序中面积最大的单元组件。包围盒是一种求解最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。本实施例中,即是用组件包围盒来近似地代替同一区域内的单元组件,组件包围盒为该区域内不与其他单元组件重叠的最小包围盒。举例说明,本实施例中的组件包围盒可以为矩形包围盒。
具体的,第一终端会根据单元组件信息,确定单元组件的面积大小,根据面积大小对单元组件进行排序,得到单元组件对应的排列顺序,根据排列顺序,选取面积最大的单元组件作为初始基础组件,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比,根据交并比归并与初始基础组件同一区域内单元组件,得到目标组件。得到一个目标组件表示已完成一次组件归并,此时,第一终端需要将目标组件中单元组件从单元组件集合以及排列顺序中剔除,再返回根据排列顺序确定初始基础组件的步骤,从更新后的排列顺序中选取当前面积最大的单元组件作为新的初始基础组件,根据新的初始基础组件的包围盒以及更新后的单元组件集合,归并与初始基础组件同一区域内单元组件,得到目标组件,将目标组件中单元组件从单元组件集合以及排列顺序中剔除,再次返回根据排列顺序确定初始基础组件的步骤,直到最新的单元组件集合中不存在单元组件,即所有单元组件均已被归并,将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息。
其中,根据目标组件中单元组件的单元组件信息得到基础组件信息,是指通过比对单元组件信息确定目标组件的边界坐标,将边界坐标作为基础组件信息。举例说明,基础组件信息具体可以为:
其中,boxi(i属于0到m)用于表示目标组件中单元组件,boxi[0]表示单元组件信息中的左上角位置横坐标,boxi[1]表示单元组件信息中左上角位置纵坐标,boxi[2]表示单元组件信息中右上角位置横坐标,boxi[3]表示单元组件信息中右上角位置纵坐标。
本实施例中,通过根据单元组件信息,确定单元组件对应的排列顺序,根据排列顺序确定初始基础组件,能够根据初始基础组件对应的组件包围盒和单元组件集合,实现对与初始基础组件同一区域内单元组件的归并,得到目标组件,进而可以将目标组件中单元组件从单元组件集合以及排列顺序中剔除,返回根据排列顺序确定初始基础组件的步骤,直到最新的单元组件集合中不存在单元组件,将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息,完成对所有单元组件的归并。
在一个实施例中,根据初始基础组件对应的组件包围盒和单元组件集合,归并与初始基础组件同一区域内单元组件,得到目标组件包括:
计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比;
根据计算得到的交并比以及预设归并条件,更新组件包围盒,将最新的组件包围盒作为目标组件。
其中,交并比是指初始基础组件与单元组件的交叠率,即它们的交集与并集的比值。
具体的,第一终端会计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比,根据计算得到的交并比以及预设归并条件,更新组件包围盒,即在计算交并比后,根据交并比确定对应的单元组件是否可以与初始基础组件对应的组件包围盒归并,直到初始基础组件与单元组件集合中单元组件之间的交并比均计算完毕,将最新的组件包围盒作为目标组件,目标组件包括至少一个单元组件。
下面以对图3-1中五个单元组件进行归并为例对本实施例中涉及的组件归并进行说明。
如图3-1所示,根据单元组件信息,对五个单元组件进行排序,可以得到单元组件对应的排列顺序为单元组件1>单元组件5>单元组件2=单元组件3=单元组件4,则可以根据排列顺序确定初始基础组件为单元组件1,首先计算单元组件1对应的组件包围盒(即仅包括单元组件1的最小包围盒)与单元组件2的交并比,若根据预设归并条件,判定组件包围盒与单元组件2可以归并,更新组件包围盒,此时该组件包围盒为包围单元组件1和单元组件2的最小包围盒,再计算更新后的组件包围盒与单元组件3的交并比,若根据预设归并条件,判定更新后的组件包围盒与单元组件3可以归并,再次更新组件包围盒,此时该组件包围盒为包围单元组件1、单元组件2和单元组件3的最小包围盒,再计算最新的组件包围盒与单元组件4的交并比,若根据预设归并条件,判定再次更新后的组件包围盒与单元组件4可以归并,继续更新组件包围盒,此时该组件包围盒为包围单元组件1、单元组件2、单元组件3和单元组件4的最小包围盒,最后计算最新的组件包围盒与单元组件5的交并比,若根据预设归并条件,判定最新的组件包围盒与单元组件5可以归并,更新组件包围盒,此时该组件包围盒为包围单元组件1、单元组件2、单元组件3、单元组件4和单元组件5的最小包围盒。需要说明的是,此处比较特殊的是,在图3-1中,单元组件1对应的组件包围盒,可以将其他四个单元组件都包围在内,因此,每次更新后的组件包围盒均为单元组件1的最小包围盒。对应的,在图3-2中,若单元组件6、单元组件7以及单元组件8可以归并,则组件包围盒为包围单元组件6、单元组件7以及单元组件8的最小包围盒。
本实施例中,通过计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比,能够利用计算得到的交并比以及预设归并条件,更新组件包围盒,实现对初始基础组件和其他单元组件的归并,将最新的组件包围盒作为目标组件。
在一个实施例中,以将可视化大屏排版方案自动化适配为手机端版面为例,对本申请的显示版面排版转换方法进行举例说明,该显示版面排版转换方法的流程图可以如图11所示,其中:
第一终端首先获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件属性,通过统一关键字、标准化组件属性以及计算单元组件信息等进行预处理。其中,第一终端可根据单元组件i的组件长度wi、组件宽度hi以及组件位置(xi,yi),计算出单元组件信息[xi,yi,xi+wi,yi+hi]。
在得到单元组件信息后,终端就可以根据单元组件信息进行组件归并,此时,第一终端会根据单元组件信息,对单元组件进行排序,得到单元组件对应的排列顺序,根据排列顺序确定初始基础组件,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比,根据计算得到的交并比以及预设归并条件,更新组件包围盒,将最新的组件包围盒作为目标组件,将目标组件中单元组件从单元组件集合以及排列顺序中剔除,返回根据排列顺序确定初始基础组件,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比的步骤,直到最新的单元组件集合中不存在单元组件,将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息。
在得到基础组件信息后,第一终端可根据基础组件信息,生成与基础组件对应的版面图,对版面图进行版面分割,得到版面分割多叉树,确定基础组件的缩放比例,获取版面分割多叉树的三种遍历顺序(即版面分割策略1、版面分割策略2以及版面分割策略3),根据遍历顺序和缩放比例,得到与遍历顺序对应的待评估排版方案,对待评估排版方案进行评估,得到、输出目标排版转换方案。
其中,对版面图进行版面分割,得到版面分割多叉树的方式为:对版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域,根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值,根据单排第二方向平均值,对像素值进行二值化处理,根据二值化处理结果确定第二方向跳跃点,第二方向跳跃点为二值化像素值变化点,根据第二方向跳跃点,确定第二方向分割点,根据第二方向分割点,得到第二方向分割线,第二方向与第一方向垂直。根据第二方向分割线分割版面内容区域,得到至少两个待分割第二方向区域,对待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线,根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域,对待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止,根据每次分割结果,得到版面分割多叉树。
其中,对待评估排版方案进行评估,得到目标排版转换方案的方式为:统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值,根据原始版面组件数值之间的方差得到第一组件密度,并根据转换版面组件数值之间的方差得到第二组件密度,根据第一组件密度和第二组件密度的差值,得到相对组件密度,根据第一组件密度和相对组件密度,对待评估排版方案对应的初始分值进行扣减,根据扣减结果对待评估排版方案进行排序,根据排序结果选取与最高分值对应的待评估排版方案为目标排版转换方案,即手机端版面。举例说明,针对图7的待转换排版方案,其对应的待评估排版方案可以为图8和图9所示,通过效果评估,可选择出最终的手机端版面。
在一个实施例中,如图12所示,提供一个流程示意图来说明本申请的显示版面排版转换方法,该显示版面排版转换方法具体包括以下步骤:
步骤1202,获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息。
具体的,当需要进行显示版面排版转换时,第一终端会获取待转换排版方案中单元组件集合以及单元组件对应的单元组件属性,根据单元组件属性中组件大小以及组件位置,得到单元组件信息。其中,单元组件属性用于对单元组件进行描述,包括组件标识、组件对应的父组件信息以及组件风格,其中,组件风格包括组件大小、组件位置、组件文本内容、组件文本的属性设置等。
步骤1204,根据单元组件信息,对单元组件进行组件排序处理,得到单元组件对应的排列顺序。
具体的,第一终端会根据单元组件信息,确定单元组件的面积大小,根据面积大小对单元组件进行组件排序处理,得到单元组件对应的排列顺序。
步骤1206,根据排列顺序确定初始基础组件。
具体的,第一终端会选取排列顺序中面积最大的单元组件作为初始基础组件。
步骤1208,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比。
其中,交并比是指初始基础组件与单元组件的交叠率,即它们的交集与并集的比值。
具体的,第一终端会确定与初始基础组件对应的组件包围盒,即包围初始基础组件的最小包围盒,计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比。
步骤1210,根据计算得到的交并比以及预设归并条件,更新组件包围盒,将最新的组件包围盒作为目标组件。
具体的,在计算交并比后,第一终端会根据计算得到的交并比以及预设归并条件,判断与交并比对应的单元组件是否可以与初始基础组件进行归并,当交并比满足预设归并条件时,表示单元组件可以与初始基础组件进行归并,第一终端会对与交并比对应的单元组件和初始基础组件进行归并,更新组件包围盒,此时组件包围盒为同时包围与交并比对应的单元组件和初始基础组件的最小包围盒。在完成一次更新后,在计算与下一个单元组件的交并比时,第一终端会以更新后的组件包围盒进行计算,即每一次计算完交并比后,都会判断是否可以归并,若可以归并则对组件包围盒进行更新,再进行下一次计算,若不能归并,则不对组件包围盒进行更新,进行下一次计算,也就是说,在每次计算交并比时,所利用的组件包围盒都是最近一次更新得到的。
步骤1212,将目标组件中单元组件从单元组件集合以及排列顺序中剔除,返回步骤1206,直到最新的单元组件集合中不存在单元组件,跳转至步骤1214。
具体的,在目标组件中单元组件属于已经归并的单元组件,在进行下一次归并前,第一终端需要将目标组件从单元组价集合以及排列顺序中剔除,再从更新后的排列顺序中确定当前面积最大的单元组件为新的初始基础组件,再次开始组件归并,直到最新的单元组件集合中不存在单元组件。
步骤1214,将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息。
具体的,当最新的单元组件集合中不存在单元组件时,表示所有单元组件均已完成归并,此时第一终端会将每次得到的目标组件作为基础组件,通过比对目标组件中单元组件的单元组件信息确定目标组件的边界坐标,将边界坐标作为基础组件信息。步骤1216,根据基础组件信息,生成与基础组件对应的版面图。
具体的,第一终端会创建一个与待转换排版方案的分辨率大小相同的画布,根据基础组件信息,基础组件依次用矩形框在画布上进行表示,生成与基础组件对应的版面图。
步骤1218,根据版面图中像素点的像素值,确定像素点的单排第一方向平均值。
具体的,第一终端会根据版面图中像素点的像素值,先统计像素点在第一方向上每个单排的像素总和,再用像素总和除以对应的版面尺寸,得到像素点在第一方向上每个单排的像素平均值,即像素点的单排第一方向平均值。其中,对应的版面尺寸是指与第一方向对应的版面尺寸,当第一方向为横向时,版面尺寸为版面长度,当第一方向为纵向时,版面尺寸为版面宽度。
步骤1220,根据单排第一方向平均值,对版面图中像素点的像素值进行二值化处理,根据二值化处理结果确定第一方向跳跃点,第一方向跳跃点为第一方向上的二值化像素值变化点。
具体的,第一终端会比对单排第一方向平均值和预先确定的二值化阈值,当单排第一方向平均值小于二值化阈值时,将与单排第一方向平均值对应单排的像素点的像素值二值化为0,当单排第一方向平均值大于或者等于二值化阈值时,将与单排第一方向平均值对应单排的像素点的像素值二值化为1。在完成二值化处理后,终端会遍历像素点的二值化后的像素值,通过遍历可以确定像素值变化点,即第一方向跳跃点。
步骤1222,根据第一方向跳跃点,得到版面标题分割线、版面标题区域以及版面内容区域。
具体的,在确定第一方向跳跃点后,第一终端会根据第一个和第二个第一方向跳跃点得到版面标题分割点,利用版面标题分割点,得到对应的版面标题分割线、版面标题区域以及版面内容区域。
步骤1224,根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值。
具体的,第一终端会根据版面内容区域中像素点的像素值,先统计版面内容区域中像素点在第二方向上每个单排的像素总和,再用像素总和除以对应的版面尺寸,得到版面内容区域中像素点在第二方向上每个单排的像素平均值,即像素点的单排第二方向平均值。其中,对应的版面尺寸是指与第二方向对应的版面尺寸,当第二方向为横向时,版面尺寸为版面长度,当第二方向为纵向时,版面尺寸为版面宽度。
步骤1226,根据单排第二方向平均值,对版面内容区域中像素点的像素值进行二值化处理,根据二值化处理结果确定第二方向跳跃点,第二方向跳跃点为第二方向上的二值化像素值变化点,第二方向与第一方向垂直。
具体的,第一终端会比对单排第二方向平均值和预先确定的二值化阈值,当单排第二方向平均值小于二值化阈值时,将与单排第二方向平均值对应单排的像素点的像素值二值化为0,当单排第二方向平均值大于或者等于二值化阈值时,将与单排第二方向平均值对应单排的像素点的像素值二值化为1。在完成二值化处理后,终端会遍历像素点的二值化后的像素值,通过遍历可以确定像素值变化点,即第二方向跳跃点。
步骤1228,根据第二方向跳跃点,确定第二方向分割点。
具体的,第一终端会根据每两个相邻的第二方向跳跃点,确定一个第二方向分割点。举例说明,举例说明,当第二方向为纵向时,如图5所示,针对图3中的两个基础组件,其之间包含两个跳跃点(左跳跃点和右跳跃点),则第二方向分割点为s-p2=左跳跃点/2+右跳跃点/2。
步骤1230,根据第二方向分割点,得到第二方向分割线。
具体的,第一终端通过连接第二方向上同一单排的第二方向分割点,即可得到第二方向分割线。步骤1232,根据第二方向分割线分割版面内容区域,得到至少两个待分割第二方向区域。
具体的,第一终端会利用第二方向分割线对版面内容区域进行分割,得到至少两个待分割第二方向区域。
步骤1234,对待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线。
具体的,第一终端会根据待分割第二方向区域中像素点的像素值,确定像素点的单排第一方向平均值,根据单排第一方向平均值,对像素值进行二值化处理,根据二值化处理结果确定待分割第二方向区域中的第一方向跳跃点,将第一方向跳跃点作为第一方向分割点,根据第一方向分割点,得到第一方向分割线。
步骤1236,根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域。
具体的,第一终端会根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域。
步骤1238,对待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止。
具体的,在得到待分割第一方向区域后,第一终端会继续对待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止。其中,预设分割截止条件可以按照需要自行设置,本实施例在此处不做具体限定,举例说明,预设分割截止条件具体可以为不可分割和/或待分割的版面区域的宽度小于目标宽度,其中,目标宽度可按照需要自行设置。需要说明的是,除了二次分割时,在每次进行第二方向分割和第一方向分割时,也需要判断待分割的版面区域是否满足预设分割截止条件,并在满足预设分割截止条件时,停止分割该待分割的版面区域。
步骤1240,根据每次分割结果,得到版面分割多叉树。
需要说明的是,在根据每次分割结果,得到版面分割多叉树时,为了防止版面分割过细,造成排版混乱,还需要对分割线进行过滤,此时,第一终端会计算同一方向上每两条分割线之间的分割线距离,通过比对分割线距离和分割距离阈值对分割线进行过滤,滤除分割线距离小于分割距离阈值的分割线。其中,分割距离阈值可按照需要自行设置。
步骤1242,根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例。
具体的,第一终端会将待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸的比值,作为基础组件的缩放比例。
步骤1244,获取版面分割多叉树的至少两种遍历顺序。
具体的,第一终端会根据预先设定的遍历方式,对版面分割多叉树进行遍历,获取版面分割多叉树的至少两种遍历顺序。
步骤1246,根据遍历顺序和缩放比例,得到与遍历顺序对应的待评估排版方案。
具体的,第一终端会按照遍历顺序依次对基础组件进行缩放并由上到下排列,得到与遍历顺序对应的待评估排版方案。
步骤1248,统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值。
具体的,第一终端会确定与待转换排版方案对应的第一选定方向,并确定与待评估排版方案对应的第二选定方向,在第一选定方向上,统计待转换排版方案对应的每个分割后版面区域内的基础组件数量,得到原始版面组件数值,在第二选定方向上,统计待评估排版方案中每个版面区域内的基础组件数量,得到转换版面组件数值。其中,确定第一选定方向和第二选定方向的方式为:获取排版方案的排版长度和排版宽度,比对排版长度和排版宽度,当排版长度大于排版宽度时,确定第一选定方向为纵向,当排版长度小于排版宽度时,确定第一选定方向为横向。
步骤1250,根据原始版面组件数值得到第一组件密度,并根据转换版面组件数值得到第二组件密度。
具体的,第一终端会计算原始版面组件数值之间的差值,将该差值作为第一组件密度,并计算转换版面组件数值之间的差值,将该差值作为第二组件密度。
步骤1252,根据第一组件密度和第二组件密度,对待评估排版方案进行排序。
具体的,第一终端会计算第一组件密度和第二组件密度之间的差值,得到相对组件密度,根据第一组件密度和相对组件密度,对待评估排版方案对应的初始分值进行扣减,根据扣减结果对待评估排版方案进行排序。
步骤1254,根据排序结果输出目标排版转换方案。
具体的,第一终端会根据排序结果,确定分值最高的待评估排版方案为目标排版转换方案。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的显示版面排版转换方法的显示版面排版转换装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个显示版面排版转换装置实施例中的具体限定可以参见上文中对于显示版面排版转换方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种显示版面排版转换装置,包括:获取模块1302、归并模块1304、版面生成模块1306、版面分割模块1308、缩放模块1310和处理模块1312,其中:
获取模块1302,用于获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息;
归并模块1304,用于根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息;
版面生成模块1306,用于根据基础组件信息,生成与基础组件对应的版面图;
版面分割模块1308,用于对版面图进行版面分割,得到版面分割多叉树;其中,版面分割多叉树中每个节点表征不同版面区域;
缩放模块1310,用于根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例;
处理模块1312,用于根据版面分割多叉树和缩放比例输出目标排版转换方案。
上述显示版面排版转换装置,通过获取待转换排版方案中单元组件集合以及单元组件集合中单元组件对应的单元组件信息,根据单元组件信息,归并同一区域内的单元组件,得到基础组件以及对应的基础组件信息,能够实现对待转换排版方案的单元组件分布情况的分析,通过根据基础组件信息,生成与基础组件对应的版面图,对版面图进行版面分割,得到版面分割多叉树,能够结合显示效果将待转换排版方案分割为基础组件的集合,通过根据待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定基础组件的缩放比例,根据版面分割多叉树和缩放比例输出目标排版转换方案,能够按照一定的显示顺序排列基础组件,实现排版转换。整个过程,由于不需要依赖算法流程可以适用于各种显示版面排版转换情况,泛化性好,由于不需要依赖获取大量训练数据进行标注就可以直接进行显示版面排版转换,可行性高。
在一个实施例中,版面分割模块还用于对版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域,版面标题分割线用于分割版面标题区域和版面内容区域,对版面内容区域进行分割,根据分割结果得到版面分割多叉树。
在一个实施例中,版面分割模块还用于根据版面图中像素点的像素值,确定像素点的单排第一方向平均值,根据单排第一方向平均值,对版面图中像素点的像素值进行二值化处理,根据二值化处理结果确定第一方向跳跃点,第一方向跳跃点为第一方向上的二值化像素值变化点,根据第一方向跳跃点,得到版面标题分割线、版面标题区域以及版面内容区域。
在一个实施例中,版面分割模块还用于根据版面内容区域中像素点的像素值,对版面内容区域进行第二方向分割,得到第二方向分割线,第二方向与第一方向垂直,根据第二方向分割线分割版面内容区域,得到至少两个待分割第二方向区域,对待分割第二方向区域进行第一方向分割,得到与待分割第二方向区域对应的第一方向分割线,根据第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域,对待分割第一方向区域进行二次分割,直到待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止,根据每次分割结果,得到版面分割多叉树。
在一个实施例中,版面分割模块还用于根据版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值,根据单排第二方向平均值,对版面内容区域中像素点的像素值进行二值化处理,根据二值化处理结果确定第二方向跳跃点,第二方向跳跃点为第二方向上的二值化像素值变化点,根据第二方向跳跃点,确定第二方向分割点,根据第二方向分割点,得到第二方向分割线。
在一个实施例中,处理模块还用于获取版面分割多叉树的至少两种遍历顺序,根据遍历顺序和缩放比例,得到与遍历顺序对应的待评估排版方案,对待评估排版方案进行评估,输出目标排版转换方案。
在一个实施例中,处理模块还用于统计与待评估排版方案对应的原始版面组件数值以及转换版面组件数值,根据原始版面组件数值得到第一组件密度,并根据转换版面组件数值得到第二组件密度,根据第一组件密度和第二组件密度,对待评估排版方案进行排序,根据排序结果输出目标排版转换方案。
在一个实施例中,处理模块还用于确定与待转换排版方案对应的第一选定方向,并确定与待评估排版方案对应的第二选定方向,在第一选定方向上,统计待转换排版方案对应的每个分割后版面区域内的基础组件数量,得到原始版面组件数值,在第二选定方向上,统计待评估排版方案中每个版面区域内的基础组件数量,得到转换版面组件数值。
在一个实施例中,处理模块还用于获取待转换排版方案的排版长度和排版宽度,当排版长度大于排版宽度时,确定第一选定方向为纵向,当排版长度小于排版宽度时,确定第一选定方向为横向。
在一个实施例中,处理模块还用于计算第一组件密度和第二组件密度之间的差值,得到相对组件密度,根据第一组件密度和相对组件密度,对待评估排版方案对应的初始分值进行扣减,根据扣减结果对待评估排版方案进行排序。
在一个实施例中,归并模块还用于根据单元组件信息,对单元组件进行组件排序处理,得到单元组件对应的排列顺序,根据排列顺序确定初始基础组件,根据初始基础组件对应的组件包围盒和单元组件集合,归并与初始基础组件同一区域内单元组件,得到目标组件,将目标组件中单元组件从单元组件集合以及排列顺序中剔除,返回根据排列顺序确定初始基础组件的步骤,直到最新的单元组件集合中不存在单元组件,将每次得到的目标组件作为基础组件,根据目标组件中单元组件的单元组件信息得到基础组件信息。
在一个实施例中,归并模块还用于计算初始基础组件对应的组件包围盒和单元组件集合中单元组件的交并比,根据计算得到的交并比以及预设归并条件,更新组件包围盒,将最新的组件包围盒作为目标组件。
上述显示版面排版转换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种显示版面排版转换方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种显示版面排版转换方法,其特征在于,所述方法包括:
获取待转换排版方案中单元组件集合以及所述单元组件集合中单元组件对应的单元组件信息;
根据所述单元组件信息,归并同一区域内的所述单元组件,得到基础组件以及对应的基础组件信息;
根据所述基础组件信息,生成与所述基础组件对应的版面图;
对所述版面图进行版面分割,得到版面分割多叉树;其中,所述版面分割多叉树中每个节点表征不同版面区域;
根据所述待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定所述基础组件的缩放比例;
根据所述版面分割多叉树和所述缩放比例输出所述目标排版转换方案。
2.根据权利要求1所述的方法,其特征在于,所述对所述版面图进行版面分割,得到版面分割多叉树包括:
对所述版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域,所述版面标题分割线用于分割所述版面标题区域和所述版面内容区域;
对所述版面内容区域进行分割,根据分割结果得到版面分割多叉树。
3.根据权利要求2所述的方法,其特征在于,所述对所述版面图进行第一方向分割,得到版面标题分割线、版面标题区域以及版面内容区域包括:
根据所述版面图中像素点的像素值,确定像素点的单排第一方向平均值;
根据所述单排第一方向平均值,对所述版面图中像素点的像素值进行二值化处理,根据二值化处理结果确定第一方向跳跃点,所述第一方向跳跃点为第一方向上的二值化像素值变化点;
根据所述第一方向跳跃点,得到版面标题分割线、版面标题区域以及版面内容区域。
4.根据权利要求2所述的方法,其特征在于,所述对所述版面内容区域进行分割,根据分割结果得到版面分割多叉树包括:
根据所述版面内容区域中像素点的像素值,对所述版面内容区域进行第二方向分割,得到第二方向分割线,所述第二方向与所述第一方向垂直;
根据所述第二方向分割线分割所述版面内容区域,得到至少两个待分割第二方向区域;
对所述待分割第二方向区域进行第一方向分割,得到与所述待分割第二方向区域对应的第一方向分割线;
根据所述第一方向分割线,对对应的待分割第二方向区域进行分割,得到至少两个待分割第一方向区域;
对所述待分割第一方向区域进行二次分割,直到所述待分割第一方向区域内的待分割的版面区域满足预设分割截止条件为止;
根据每次分割结果,得到版面分割多叉树。
5.根据权利要求4所述的方法,其特征在于,所述根据所述版面内容区域中像素点的像素值,对所述版面内容区域进行第二方向分割,得到第二方向分割线包括:
根据所述版面内容区域中像素点的像素值,确定像素点的单排第二方向平均值;
根据所述单排第二方向平均值,对所述版面内容区域中像素点的像素值进行二值化处理,根据二值化处理结果确定第二方向跳跃点,所述第二方向跳跃点为第二方向上的二值化像素值变化点;
根据所述第二方向跳跃点,确定第二方向分割点;
根据所述第二方向分割点,得到第二方向分割线。
6.根据权利要求1所述的方法,其特征在于,所述根据所述版面分割多叉树和所述缩放比例输出所述目标排版转换方案包括:
获取所述版面分割多叉树的至少两种遍历顺序;
根据所述遍历顺序和所述缩放比例,得到与所述遍历顺序对应的待评估排版方案;
对所述待评估排版方案进行评估,输出所述目标排版转换方案。
7.根据权利要求6所述的方法,其特征在于,所述对所述待评估排版方案进行评估,输出所述目标排版转换方案包括:
统计与所述待评估排版方案对应的原始版面组件数值以及转换版面组件数值;
根据所述原始版面组件数值得到第一组件密度,并根据所述转换版面组件数值得到第二组件密度;
根据所述第一组件密度和所述第二组件密度,对所述待评估排版方案进行排序;
根据排序结果输出所述目标排版转换方案。
8.根据权利要求7所述的方法,其特征在于,所述统计与所述待评估排版方案对应的原始版面组件数值以及转换版面组件数值包括:
确定与所述待转换排版方案对应的第一选定方向,并确定与所述待评估排版方案对应的第二选定方向;
在所述第一选定方向上,统计所述待转换排版方案对应的每个分割后版面区域内的基础组件数量,得到原始版面组件数值;
在所述第二选定方向上,统计所述待评估排版方案中每个版面区域内的基础组件数量,得到转换版面组件数值。
9.根据权利要求8所述的方法,其特征在于,所述确定与待转换排版方案对应的第一选定方向包括:
获取所述待转换排版方案的排版长度和排版宽度;
当所述排版长度大于所述排版宽度时,确定第一选定方向为纵向;
当所述排版长度小于所述排版宽度时,确定第一选定方向为横向。
10.根据权利要求7所述的方法,其特征在于,所述根据所述第一组件密度和所述第二组件密度,对所述待评估排版方案进行排序包括:
计算所述第一组件密度和所述第二组件密度之间的差值,得到相对组件密度;
根据所述第一组件密度和所述相对组件密度,对所述待评估排版方案对应的初始分值进行扣减;
根据扣减结果对待评估排版方案进行排序。
11.根据权利要求1所述的方法,其特征在于,所述根据所述单元组件信息,归并同一区域内的所述单元组件,得到基础组件以及对应的基础组件信息包括:
根据所述单元组件信息,对所述单元组件进行组件排序处理,得到所述单元组件对应的排列顺序;
根据所述排列顺序确定初始基础组件;
根据所述初始基础组件对应的组件包围盒和所述单元组件集合,归并与所述初始基础组件同一区域内单元组件,得到目标组件;
将所述目标组件中单元组件从所述单元组件集合以及所述排列顺序中剔除,返回所述根据所述排列顺序确定初始基础组件的步骤,直到最新的单元组件集合中不存在单元组件;
将每次得到的所述目标组件作为基础组件,根据所述目标组件中单元组件的单元组件信息得到基础组件信息。
12.根据权利要求11所述的方法,其特征在于,所述根据所述初始基础组件对应的组件包围盒和所述单元组件集合,归并与所述初始基础组件同一区域内单元组件,得到目标组件包括:
计算所述初始基础组件对应的组件包围盒和所述单元组件集合中单元组件的交并比;
根据计算得到的交并比以及预设归并条件,更新所述组件包围盒,将最新的组件包围盒作为目标组件。
13.一种显示版面排版转换装置,其特征在于,所述装置包括:
获取模块,用于获取待转换排版方案中单元组件集合以及所述单元组件集合中单元组件对应的单元组件信息;
归并模块,用于根据所述单元组件信息,归并同一区域内的所述单元组件,得到基础组件以及对应的基础组件信息;
版面生成模块,用于根据所述基础组件信息,生成与所述基础组件对应的版面图;
版面分割模块,用于对所述版面图进行版面分割,得到版面分割多叉树;其中,所述版面分割多叉树中每个节点表征不同版面区域;
缩放模块,用于根据所述待转换排版方案对应的屏幕尺寸和目标排版转换方案对应的屏幕尺寸确定所述基础组件的缩放比例;处理模块,用于根据所述版面分割多叉树和所述缩放比例输出所述目标排版转换方案。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210096328.2A CN116541108A (zh) | 2022-01-26 | 2022-01-26 | 显示版面排版转换方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210096328.2A CN116541108A (zh) | 2022-01-26 | 2022-01-26 | 显示版面排版转换方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116541108A true CN116541108A (zh) | 2023-08-04 |
Family
ID=87451182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210096328.2A Pending CN116541108A (zh) | 2022-01-26 | 2022-01-26 | 显示版面排版转换方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541108A (zh) |
-
2022
- 2022-01-26 CN CN202210096328.2A patent/CN116541108A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083517B2 (en) | Segmentation of an image based on color and color differences | |
US10963632B2 (en) | Method, apparatus, device for table extraction based on a richly formatted document and medium | |
CN110706314B (zh) | 元素布局方法、装置、电子设备及可读存储介质 | |
CN111428457B (zh) | 数据表的自动格式化 | |
CN108334805B (zh) | 检测文档阅读顺序的方法和装置 | |
Gottschlich et al. | The shortlist method for fast computation of the earth mover's distance and finding optimal solutions to transportation problems | |
US20190333256A1 (en) | Methods and Systems For Simplified Graphical Depictions of Bipartite Graphs | |
Ahmadi et al. | Context-aware saliency detection for image retargeting using convolutional neural networks | |
CN108710628A (zh) | 一种基于草图交互的面向多模态数据的可视分析方法和系统 | |
CN110874618A (zh) | 基于小样本的ocr模板学习方法、装置、电子设备及介质 | |
CN112949477B (zh) | 基于图卷积神经网络的信息识别方法、装置及存储介质 | |
CN113283355A (zh) | 一种表格图像的识别方法、装置、计算机设备及存储介质 | |
CN116310656B (zh) | 训练样本确定方法、装置和计算机设备 | |
CN114239508A (zh) | 表格还原方法和装置、存储介质及电子设备 | |
CN112883926A (zh) | 表格类医疗影像的识别方法及装置 | |
CN116051575A (zh) | 图像分割方法、装置、计算机设备、存储介质程序产品 | |
CN105808682A (zh) | 一种关系图展示的方法和装置 | |
CN116644729A (zh) | 表格文件处理方法、装置、计算机设备和存储介质 | |
CN115131803A (zh) | 文档字号的识别方法、装置、计算机设备和存储介质 | |
Makwana et al. | Axes re-ordering in parallel coordinate for pattern optimization | |
Burch | The dynamic graph wall: visualizing evolving graphs with multiple visual metaphors | |
JP4903671B2 (ja) | 解析モデル作成装置 | |
CN110609927A (zh) | 一种可视化家谱布局方法、终端设备及存储介质 | |
CN116541108A (zh) | 显示版面排版转换方法、装置、计算机设备和存储介质 | |
Burch | Dynamic graph visualization with multiple visual metaphors |
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 |