CN110264543B - 拼接画面的边框绘制方法、装置及存储介质 - Google Patents
拼接画面的边框绘制方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110264543B CN110264543B CN201910540280.8A CN201910540280A CN110264543B CN 110264543 B CN110264543 B CN 110264543B CN 201910540280 A CN201910540280 A CN 201910540280A CN 110264543 B CN110264543 B CN 110264543B
- Authority
- CN
- China
- Prior art keywords
- indication information
- picture
- frame
- position indication
- horizontal
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请涉及一种拼接画面的边框绘制方法、装置及存储介质,属于计算机技术领域,该方法包括:获取边框宽度;基于拼接画面中每个子画面的画面位置和边框宽度确定每个子画面的边框位置,边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;一次性绘制合并后的边框;可以解决分别绘制每个子画面的边框时边框绘制效率较低的问题;由于可以将竖直边框位置存在重叠的竖直边框合并,将水平边框位置存在重叠的水平边框合并,可以一次性绘制多个子画面的竖直边框和/或水平边框,可以减少边框绘制的次数,提高边框绘制的效率。
Description
技术领域
本申请涉及拼接画面的边框绘制方法、装置及存储介质,属于计算机技术领域。
背景技术
视频会议系统是指通过传输线路及多媒体设备,将两个或两个以上不同地方的个人或群体的声音、影像及文件资料互传,以实现远程会议的系统设备。在视频会议召开时需要将多个终端接入会议平台,这些终端会向平台发送视频编码数据,会议平台将收到的视频编码数据进行解码,将多个终端的画面拼接后再编码发送给各个终端。为了将每个与会人员区分开来,在拼接画面的结合处需要绘制边框。
现有的边框绘制方法为分别对拼接画面中的每个子画面进行绘制。比如:对子画面A的边框进行绘制,然后对子画面B的边框进行绘制。但是这种绘制方式的边框绘制效率较低。
发明内容
本申请提供了一种拼接画面的边框绘制方法、装置及存储介质,可以解决分别绘制每个子画面的边框时边框绘制效率较低的问题。本申请提供如下技术方案:
第一方面,提供了一种拼接画面的边框绘制方法,所述方法包括:
获取边框宽度;
基于拼接画面中每个子画面的画面位置和所述边框宽度,确定每个子画面的边框位置,所述边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;
将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;
一次性绘制合并后的边框。
可选地,所述将多个子画面中水平边框位置存在重叠的水平边框合并,包括:
获取每个子画面的水平边框的第一位置指示信息,所述第一位置指示信息用于指示所述水平边框位置;
创建水平边框列表,初始化的所述水平边框列表包括任意一个子画面的第一位置指示信息;
对于未遍历的每个目标子画面,将所述目标子画面的第一位置指示信息与所述水平边框列表中的第n个第一位置指示信息进行比较;所述n依次取大于或等于1的整数;
在比较结果为水平边框位置存在重叠时,将所述目标子画面的第一位置指示信息与所述第n个第一位置指示信息合并,所述重叠包括:前向交叉重叠、横向被包含重叠、横向包含重叠和后向交叉重叠。
可选地,所述第一位置指示信息包括水平边框的起始点坐标;所述在比较结果为边框位置存在重叠时,将所述目标子画面的第一位置指示信息与所述第n个第一位置指示信息合并,包括:
在比较结果为水平边框位置存在前向交叉重叠时,在所述水平边框列表中将所述第n个第一位置指示信息的起始点坐标更新为所述目标子画面的第一位置指示信息的起始点坐标;
在比较结果为水平边框位置存在横向被包含重叠时,保持所述第n个第一位置指示信息不变;
在比较结果为水平边框位置存在横向包含重叠时,删除所述第n个第一位置指示信息;令n的值加1,再次执行所述将所述目标子画面的第一位置指示信息与所述水平边框列表中第n个第一位置指示信息进行比较的步骤;
在比较结果为水平边框位置存在后向交叉重叠时,在所述水平边框列表中将所述第n个第一位置指示信息删除;将所述目标子画面的第一位置指示信息的起始点坐标更新为所述第n个第一位置指示信息的起始点坐标;令n的值加1,再次执行所述将所述目标子画面的第一位置指示信息与所述水平边框列表中第n个第一位置指示信息进行比较的步骤。
可选地,所述第一位置指示信息包括水平边框的起始点坐标;所述方法还包括:
在比较结果为前向未重叠时,将所述目标子画面的第一位置指示信息添加至所述第n个第一位置指示信息之前;
在比较结果为后向未重叠时,令n的值加1,再次执行所述将所述目标子画面的第一位置指示信息与所述水平边框列表中第n个第一位置指示信息进行比较的步骤。
可选地,所述将多个子画面中竖直边框位置存在重叠的竖直边框合并,包括:
获取每个子画面的竖直边框的第二位置指示信息,所述第二位置指示信息用于指示所述竖直边框位置;
创建竖直边框列表,初始化的所述竖直边框列表包括任意一个子画面的第二位置指示信息;
对于未遍历的每个目标子画面,将所述目标子画面的第二位置指示信息与所述竖直边框列表中的第m个第二位置指示信息进行比较;所述m依次取大于或等于1的整数;
在比较结果为竖直边框位置存在重叠时,将所述目标子画面的第二位置指示信息与所述第m个第二位置指示信息合并,所述重叠包括:向上交叉重叠、竖向被包含重叠、竖向包含重叠和向下交叉重叠。
可选地,所述第二位置指示信息包括竖直边框的起始点坐标;所述在比较结果为边框位置存在重叠时,将所述目标子画面的第二位置指示信息与所述第m个第二位置指示信息合并,包括:
在比较结果为竖直边框位置存在向上交叉重叠时,在所述竖直边框列表中将所述第m个第二位置指示信息的起始点坐标更新为所述目标子画面的第二位置指示信息的起始点坐标;
在比较结果为竖直边框位置存在竖向被包含重叠时,保持所述第m个第二位置指示信息不变;
在比较结果为竖直边框位置存在竖向包含重叠时,删除所述第m个第二位置指示信息;令m的值加1,再次执行所述将所述目标子画面的第二位置指示信息与所述竖直边框列表中第m个第二位置指示信息进行比较的步骤;
在比较结果为竖直边框位置存在向下交叉重叠时,在所述竖直边框列表中将所述第m个第二位置指示信息删除;将所述目标子画面的第二位置指示信息的起始点坐标更新为所述第m个第二位置指示信息的起始点坐标;令m的值加1,再次执行所述将所述目标子画面的第二位置指示信息与所述竖直边框列表中第m个第二位置指示信息进行比较的步骤。
可选地,所述第二位置指示信息包括竖直边框的起始点坐标;所述方法还包括:
在比较结果为向上未重叠时,将所述目标子画面的第二位置指示信息添加至所述第m个第一位置指示信息之前;
在比较结果为向下未重叠时,令m的值加1,再次执行所述将所述目标子画面的第二位置指示信息与所述竖直边框列表中第m个第二位置指示信息进行比较的步骤。
可选地,所述一次性绘制合并后的水平边框,并一次性绘制合并后的竖直边框之前,还包括:
对于未处于所述拼接画面边缘的水平边框和竖直边框,将所述水平边框向竖直绘制方向的反方向平移第一平移量;将所述竖直边框向水平绘制方向的反方向平移第二平移量;
其中,所述第一平移量是基于所述水平边框的边框宽度确定的;所述第二平移量是基于所述竖直边框的边框宽度确定的。
可选地,所述将所述水平边框向竖直绘制方向的反方向平移第一平移量;将所述竖直边框向水平绘制方向的反方向平移第二平移量之后,还包括:
在存在一个子画面的边框位置的起始点不是所述拼接画面的起始点,和/或终止点未在所述拼接画面的边缘时,调节所述子画面的水平边框的第一位置指示信息,以使所述水平边框起始点的水平方向坐标减小第一数值;和/或,调节所述子画面的竖直边框的第二位置指示信息,以使将所述子画面的竖直边框起始点的竖直方向坐标减小第二数值;
其中,第一数值基于所述水平边框的边框宽度确定的;所述第二数值是基于所述竖直边框的边框宽度确定的。
可选地,所述一次性绘制合并后的水平边框,并一次性绘制合并后的竖直边框之前,还包括:
在存在一个水平边框位置在所述拼接画面之外时,将所述水平边框位置更新至所述拼接画面边缘;
在存在一个竖直边框位置在所述拼接画面之外时,将所述竖直边框位置更新至所述拼接画面边缘。
第二方面,提供了一种拼接画面的边框绘制装置,所述装置包括:
参数获取模块,用于获取边框宽度;
位置确定模块,用于基于拼接画面中每个子画面的画面位置和所述边框宽度,确定每个子画面的边框位置,所述边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;
边框合并模块,用于将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;
边框绘制模块,用于一次性绘制合并后的边框。
第三方面,提供一种拼接画面的边框绘制装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的拼接画面的边框绘制方法。
第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的拼接画面的边框绘制方法。
本申请的有益效果在于:通过获取边框宽度;基于拼接画面中每个子画面的画面位置和边框宽度,确定每个子画面的边框位置,边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;一次性绘制合并后的边框;可以解决分别绘制每个子画面的边框时,每个子画面都需要绘制4次边框,边框绘制效率较低的问题;由于可以将竖直边框位置存在重叠的竖直边框合并,这样可以一次性绘制多个子画面的竖直边框,将水平边框位置存在重叠的水平边框合并,这样可以一次性绘制多个子画面的水平边框,因此,可以减少边框绘制的次数,提高边框绘制的效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的拼接画面的边框绘制方法的流程图;
图2是本申请一个实施例提供的前向交叉重叠的示意图;
图3是本申请一个实施例提供的横向被包含重叠的示意图;
图4是本申请一个实施例提供的横向包含重叠的示意图;
图5是本申请一个实施例提供的后向交叉重叠的示意图;
图6是本申请一个实施例提供的水平边框合并方法的流程图;
图7是本申请一个实施例提供的向上交叉重叠的示意图;
图8是本申请一个实施例提供的竖向被包含重叠的示意图;
图9是本申请一个实施例提供的竖向包含重叠的示意图;
图10是本申请一个实施例提供的向下交叉重叠的示意图;
图11是本申请一个实施例提供的竖直边框合并方法的流程图;
图12是本申请一个实施例提供的调整边框的示意图;
图13是本申请另一个实施例提供的调整边框的示意图;
图14是本申请另一个实施例提供的调整边框的示意图;
图15是本申请一个实施例提供的拼接画面的边框绘制装置的框图;
图16是本申请一个实施例提供的拼接画面的边框绘制装置的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
可选地,本申请中以各个实施例中每个步骤的执行主体为电子设备为例进行说明,该电子设备可以是服务器、终端等具有计算能力和图像处理能力的设备,终端可以计算机、平板电脑、手机等,本实施例不对终端的类型作限定。
图1是本申请一个实施例提供的拼接画面的边框绘制方法的流程图。该方法至少包括以下几个步骤:
步骤101,获取边框宽度。
边框宽度用于指示边框的粗细程度。可选地,边框宽度可以是用户设置的;或者,也可以是电子设备中默认设置的,本实施例不对边框宽度的获取方式作限定。
本申请中,每个子画面的边框为矩形,由于矩形包括两条水平方向的边和两条竖直的边,因此,该矩形的边框包括两条水平边框和两条竖直边框,相应地,边框宽度包括水平边框的边框宽度和竖直边框的边框宽度。其中,水平边框的边框宽度和竖直边框的边框宽度相同或不同。
步骤102,基于拼接画面中每个子画面的画面位置和边框宽度,确定每个子画面的边框位置。
拼接画面是将多个子画面进行拼接后得到的画面。可选地,拼接画面是电子设备根据画面显示风格、拼接背景的尺寸对多个子画面进行拼接得到的。
画面显示风格用于指示子画面的数量和子画面的显示方式。显示方式包括但不限于:画中画显示、多画面排列显示等,本实施例不对显示方式的类型作限定。
拼接背景是指供多个子画面进行拼接的背景,类似于画布。拼接背景为矩形,该拼接背景的尺寸通过宽、高表示,其中,宽为拼接背景在水平方向的边的长度、高为拼接背景在竖直方向的边的长度。基于拼接背景得到的拼接画面的尺寸与该拼接背景的尺寸相同。
边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置。
在一个示例中,边框覆盖在子画面之上,此时确定每个子画面的水平边框位置,包括:以子画面在拼接画面中的左上顶点坐标作为水平边框的左上顶点坐标;将左上顶点坐标中的竖直方向坐标减去水平边框的边框宽度,得到水平边框的左下顶点坐标;将子画面的宽作为水平边框的长度;基于水平边框的左上顶点坐标、左下顶点坐标和水平边框的长度确定水平边框位置。
确定每个子画面的竖直边框位置,包括:以子画面在拼接画面中的左上顶点坐标作为竖直边框的左上顶点坐标;将左上顶点坐标中的水平方向坐标加上竖直边框的边框宽度,得到竖直边框的右上顶点坐标;将子画面的高作为竖直边框的长度;基于竖直边框的左上顶点坐标、右上顶点坐标和竖直边框的长度确定竖直边框位置。
在另一个示例中,边框覆盖在子画面之上,此时确定每个子画面的水平边框位置,包括:以子画面在拼接画面中的左上顶点坐标作为水平边框的左上顶点坐标;将左上顶点坐标中的竖直方向坐标减去水平边框的边框宽度,得到水平边框的左下顶点坐标;将子画面在拼接画面中的右上顶点坐标作为水平边框的右上顶点坐标;将右上顶点坐标中的竖直方向坐标减去水平边框的边框宽度,得到水平边框的右下顶点坐标;基于水平边框的左上顶点坐标、左下顶点坐标、右上顶点坐标和右下顶点坐标确定水平边框位置。
确定每个子画面的竖直边框位置,包括:以子画面在拼接画面中的左上顶点坐标作为竖直边框的左上顶点坐标;将左上顶点坐标中的水平方向坐标加上竖直边框的边框宽度,得到竖直边框的右上顶点坐标;以子画面在拼接画面中左下顶点的坐标作为竖直边框的左下顶点坐标;将左下顶点坐标中的水平方向坐标加上竖直边框的边框宽度,得到竖直边框的右下顶点坐标;基于竖直边框的左上顶点坐标、右上顶点坐标、左下顶点坐标和右下顶点坐标确定竖直边框位置。
上述边框位置的确定方式仅是示意性地,在实际实现时,也可以使用其它方式确定边框位置,本实施例在此不再一一列举。
步骤103,将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并。
本实施例中,通过将多个子画面中水平边框位置存在重叠的水平边框合并,使得电子设备可以一次性绘制存在重叠的多个水平边框,可以提高水平边框的绘制效率。通过将多个子画面中竖直边框位置存在重叠的竖直边框合并,使得电子设备可以一次性绘制存在重叠的多个竖直边框,可以提高竖直边框的绘制效率。
下面对合并存在重叠的水平边框和合并存在重叠的竖直边框的过程分别进行介绍。需要补充说明的是,电子设备在既合并存在重叠的水平边框,又合并存在重叠的竖直边框时,既可以先合并存在重叠的水平边框再合并存在重叠的竖直边框;或者,也可以先合并存在重叠的竖直边框再合并存在重叠的水平边框;或者,还可以同时合并存在重叠的竖直边框和水平边框,本实施例不对边框合并的执行顺序作限定。
第一、将多个子画面中水平边框位置存在重叠的水平边框合并,包括:
获取每个子画面的水平边框的第一位置指示信息;创建水平边框列表,初始化的水平边框列表包括任意一个子画面的第一位置指示信息;对于未遍历的每个目标子画面,将目标子画面的第一位置指示信息与水平边框列表中的第n个第一位置指示信息进行比较;在比较结果为水平边框位置存在重叠时,将目标子画面的第一位置指示信息与第n个第一位置指示信息合并,重叠包括:前向交叉重叠、横向被包含重叠、横向包含重叠和后向交叉重叠。n依次取大于或等于1的整数。
第一位置指示信息用于指示水平边框位置。在一个示例中,第一位置指示信息包括水平边框的起始点坐标和水平边框的长度,比如:第一位置指示信息为{(x1,y1)、(x1,y2)、w1},其中,(x1,y1)和(x1,y2)为水平边框的起始点坐标(y2-y1的值为水平边框的边框宽度,水平方向坐标相等);在另一个示例中,第一位置指示信息包括水平边框的终止点坐标和水平边框的长度,比如:第一位置指示信息为{(x1+w1,y1)、(x1+w1,y2)、w1},其中,
(x1+w1,y1)、(x1+w1,y2)为水平边框的终止点坐标;在又一个示例中,第一位置指示信息包括水平边框的起始点坐标和终止点坐标,比如:第一位置指示信息为{(x1,y1)、(x1,y2)、(x1+w1,y1)、(x1+w1,y2)},本实施例不对第一位置指示信息的格式作限定。
前向交叉重叠是指:两个水平边框在同一水平线上,且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之前、目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的起始点之后、终止点之前。
参考图2所示的前向交叉重叠示意图,第n个第一位置指示信息指示的起始点为xn,目标子画面的第一位置指示信息指示的起始点为x1,第n个第一位置指示信息指示的终止点为xn’,目标子画面的第一位置指示信息指示的终止点为x1’,其中,x1<xn,且xn<x1’<xn’,两个水平边框的竖直方向坐标相同,此时为前向交叉重叠。
横向被包含重叠是指:两个水平边框在同一水平线上,且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之后、目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的终止点之前。
参考图3所示的横向被包含重叠的示意图,第n个第一位置指示信息指示的起始点为xn,目标子画面的第一位置指示信息指示的起始点为x2,第n个第一位置指示信息指示的终止点为xn’,目标子画面的第一位置指示信息指示的终止点为x2’,其中,xn<x2<x2’<xn’,两个水平边框的竖直方向坐标相同,此时为横向被包含重叠。
横向包含重叠是指:两个水平边框在同一水平线上,且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之前、目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的终止点之后。
参考图4所示的横向包含重叠的示意图,第n个第一位置指示信息指示的起始点为xn,目标子画面的第一位置指示信息指示的起始点为x3,第n个第一位置指示信息指示的终止点为xn’,目标子画面的第一位置指示信息指示的终止点为x3’,其中,x3<xn<xn’<x3’,两个水平边框的竖直方向坐标相同,此时为横向包含重叠。
后向交叉重叠是指:两个水平边框在同一水平线上,且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之后、终止点之前;目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的终止点之后。
参考图5所示的后向交叉重叠的示意图,第n个第一位置指示信息指示的起始点为xn,目标子画面的第一位置指示信息指示的起始点为x4,第n个第一位置指示信息指示的终止点为xn’,目标子画面的第一位置指示信息指示的终止点为x4’,其中,xn<x4<xn’、且xn’<x4’,两个水平边框的竖直方向坐标相同,此时为后向交叉重叠。
在一个示例中,第一位置指示信息包括水平边框的起始点坐标。参考图6所示的将目标子画面的第一位置指示信息与第n个第一位置指示信息合并的流程图,该合并过程至少包括步骤61-69:
步骤61,获取每个子画面的水平边框的第一位置指示信息。
步骤62,创建水平边框列表。
本实施例中,以初始化的水平边框列表包括拼接画面左上角的子画面的第一位置指示信息为例进行说明。
步骤63,对于未遍历的每个目标子画面,将目标子画面的第一位置指示信息与水平边框列表中的第n个第一位置指示信息进行比较。n依次大于或等于1的整数。
步骤64,在比较结果为水平边框位置存在前向交叉重叠时,在水平边框列表中将第n个第一位置指示信息的起始点坐标更新为目标子画面的第一位置指示信息的起始点坐标,流程结束。
可选地,在目标子画面的第一位置指示信息指示的水平边框的竖直方向坐标与第n个第一位置指示信息指示的水平边框的竖直方向坐标相等(即两个水平边框在同一水平线上),且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之前、目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的起始点之后、终止点之前时,确定比较结果为水平边框位置存在前向交叉重叠。
根据图2所示的示意图,则在水平边框列表中将第n个第一位置指示信息的起始点坐标由xn更新为x1。
步骤65,在比较结果为水平边框位置存在横向被包含重叠时,保持第n个第一位置指示信息不变,流程结束。
可选地,在目标子画面的第一位置指示信息指示的水平边框的竖直方向坐标与第n个第一位置指示信息指示的水平边框的竖直方向坐标相等(即两个水平边框在同一水平线上),且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之后、目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的终止点之前时,确定比较结果为水平边框位置存在横向被包含重叠。
步骤66,在比较结果为水平边框位置存在横向包含重叠时,删除第n个第一位置指示信息;令n的值加1,再次执行步骤63。
可选地,在目标子画面的第一位置指示信息指示的水平边框的竖直方向坐标与第n个第一位置指示信息指示的水平边框的竖直方向坐标相等(即两个水平边框在同一水平线上),且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之前、目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的终止点之后时,确定比较结果为水平边框位置存在横向包含重叠。
步骤67,在比较结果为水平边框位置存在后向交叉重叠时,在水平边框列表中将第n个第一位置指示信息删除;将目标子画面的第一位置指示信息的起始点坐标更新为第n个第一位置指示信息的起始点坐标;令n的值加1,再次执行步骤63。
可选地,在目标子画面的第一位置指示信息指示的水平边框的竖直方向坐标与第n个第一位置指示信息指示的水平边框的竖直方向坐标相等(即两个水平边框在同一水平线上),且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的起始点之后、终止点之前;目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的终止点之后时,确定比较结果为水平边框位置存在后向交叉重叠。
根据图5所示的示意图,将目标子画面的第一位置指示信息的起始点坐标由x4更新为xn。
可选地,在n的取值为水平边框列表中第一位置指示信息的最大值时,即,水平边框列表中的所有第一位置指示信息均已被比较时,将更新后的目标子画面的第一位置指示信息添加至水平边框列表。
步骤68,在比较结果为前向未重叠时,将目标子画面的第一位置指示信息添加至第n个第一位置指示信息之前,流程结束。
可选地,在目标子画面的第一位置指示信息指示的水平边框的竖直方向坐标与第n个第一位置指示信息指示的水平边框的竖直方向坐标相等(即两个水平边框在同一水平线上),且目标子画面的第一位置指示信息指示的终止点在第n个第一位置指示信息指示的起始点之前时,确定比较结果为前向未重叠。
步骤69,在比较结果为后向未重叠时,令n的值加1,再次执行步骤63。
可选地,在目标子画面的第一位置指示信息指示的水平边框的竖直方向坐标与第n个第一位置指示信息指示的水平边框的竖直方向坐标相等(即两个水平边框在同一水平线上),且目标子画面的第一位置指示信息指示的起始点在第n个第一位置指示信息指示的终止点之后时,确定比较结果为后向未重叠。
可选地,在n的取值为水平边框列表中第一位置指示信息的最大值时,即,水平边框列表中的所有第一位置指示信息均已被比较时,将目标子画面的第一位置指示信息添加至水平边框列表。
经过上述操作,处于同一水平线上、且存在重叠的水平边框可以在水平边框列表中合并为一条第一位置指示信息。
第二、将多个子画面中竖直边框位置存在重叠的竖直边框合并,包括:
获取每个子画面的竖直边框的第二位置指示信息;创建竖直边框列表,初始化的竖直边框列表包括任意一个子画面的第二位置指示信息;对于未遍历的每个目标子画面,将目标子画面的第二位置指示信息与竖直边框列表中的第m个第二位置指示信息进行比较;在比较结果为竖直边框位置存在重叠时,将目标子画面的第二位置指示信息与第m个第二位置指示信息合并,重叠包括:向上交叉重叠、竖向被包含重叠、竖向包含重叠和向下交叉重叠。m依次取大于或等于1的整数。
第二位置指示信息用于指示竖直边框位置。在一个示例中,第二位置指示信息包括竖直边框的起始点坐标和竖直边框的长度,比如:第二位置指示信息为{(x1,y1)、(x2,y1)、w2},其中,(x1,y1)和(x2,y1)为竖直边框的起始点坐标(x2-x1的值为竖直边框的边框宽度,竖直方向坐标相等);在另一个示例中,第二位置指示信息包括竖直边框的终止点坐标和竖直边框的长度,比如:第二位置指示信息为{(x1,y1+w2)、(x2,y1+w2)、w2},其中,(x1,y1+w2)、(x2,y1+w2)为竖直边框的终止点坐标;在又一个示例中,第二位置指示信息包括竖直边框的起始点坐标和终止点坐标,比如:第二位置指示信息为{(x1,y1)、(x2,y1)、(x1,y1+w2)、(x2,y1+w2)},本实施例不对第二位置指示信息的格式作限定。
向上交叉重叠是指:两个竖直边框在同一竖直线上,且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之上、目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的起始点之上、终止点之下。
参考图7所示的向上交叉重叠示意图,第m个第二位置指示信息指示的起始点为ym,目标子画面的第二位置指示信息指示的起始点为y1,第m个第二位置指示信息指示的终止点为ym’,目标子画面的第二位置指示信息指示的终止点为y1’,其中,y1>ym,且ym>y1’>ym’,两个竖直边框的水平方向坐标相同,此时为向上交叉重叠。
竖向被包含重叠是指:两个竖直边框在同一竖直线上,且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之下、目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的终止点之上。
参考图8所示的竖向被包含重叠的示意图,第m个第二位置指示信息指示的起始点为ym,目标子画面的第二位置指示信息指示的起始点为y2,第m个第二位置指示信息指示的终止点为ym’,目标子画面的第二位置指示信息指示的终止点为y2’,其中,ym>y2>y2’>ym’,两个竖直边框的水平方向坐标相同,此时为竖向被包含重叠。
竖向包含重叠是指:两个竖直边框在同一竖直线上,且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之上、目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的终止点之下。
参考图9所示的竖向包含重叠的示意图,第m个第二位置指示信息指示的起始点为ym,目标子画面的第二位置指示信息指示的起始点为y3,第m个第二位置指示信息指示的终止点为ym’,目标子画面的第二位置指示信息指示的终止点为y3’,其中,y3>ym>ym’>y3’,两个竖直边框的水平方向坐标相同,此时为竖向包含重叠。
向下交叉重叠是指:两个竖直边框在同一竖直线上,且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之下、终止点之上;目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的终止点之下。
参考图10所示的后向交叉重叠的示意图,第m个第二位置指示信息指示的起始点为ym,目标子画面的第二位置指示信息指示的起始点为y4,第m个第二位置指示信息指示的终止点为ym’,目标子画面的第二位置指示信息指示的终止点为y4’,其中,ym>y4>ym’、且ym’>y4’,两个竖直边框的水平方向坐标相同,此时为向下交叉重叠。
在一个示例中,第一位置指示信息包括竖直边框的起始点坐标。参考图11所示的将目标子画面的第二位置指示信息与第m个第二位置指示信息合并的流程图,该合并过程至少包括步骤111-119:
步骤111,获取每个子画面的竖直边框的第二位置指示信息。
步骤112,创建竖直边框列表。
本实施例中,以初始化的竖直边框列表包括拼接画面左上角的子画面的第二位置指示信息为例进行说明。
步骤113,对于未遍历的每个目标子画面,将目标子画面的第二位置指示信息与竖直边框列表中的第m个第二位置指示信息进行比较。m依次大于或等于1的整数。
步骤114,在比较结果为竖直边框位置存在向上交叉重叠时,在竖直边框列表中将第m个第二位置指示信息的起始点坐标更新为目标子画面的第二位置指示信息的起始点坐标,流程结束。
可选地,在目标子画面的第二位置指示信息指示的竖直边框的水平方向坐标与第m个第一位置指示信息指示的竖直边框的水平方向坐标相等(两个竖直边框在同一竖直线上),且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之上、目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的起始点之上、终止点之下时,确定比较结果为竖直边框位置存在向上交叉重叠。
根据图7所示的示意图,则在水平边框列表中将第m个第二位置指示信息的起始点坐标由ym更新为y1。
步骤115,在比较结果为竖直边框位置存在竖向被包含重叠时,保持第m个第二位置指示信息不变,流程结束。
可选地,在目标子画面的第二位置指示信息指示的竖直边框的水平方向坐标与第m个第一位置指示信息指示的竖直边框的水平方向坐标相等(两个竖直边框在同一竖直线上),且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之下、目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的终止点之上时,确定比较结果为竖直边框位置存在竖向被包含重叠。
步骤116,在比较结果为竖直边框位置存在竖向包含重叠时,删除第m个第二位置指示信息;令m的值加1,再次执行步骤113。
可选地,在目标子画面的第二位置指示信息指示的竖直边框的水平方向坐标与第m个第一位置指示信息指示的竖直边框的水平方向坐标相等(两个竖直边框在同一竖直线上),且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之上、目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的终止点之下时,确定比较结果为竖直边框位置存在竖向包含重叠。
步骤117,在比较结果为竖直边框位置存在向下交叉重叠时,在竖直边框列表中将第m个第二位置指示信息删除;将目标子画面的第二位置指示信息的起始点坐标更新为第m个第二位置指示信息的起始点坐标;令m的值加1,再次执行步骤113。
可选地,在目标子画面的第二位置指示信息指示的竖直边框的水平方向坐标与第m个第一位置指示信息指示的竖直边框的水平方向坐标相等(两个竖直边框在同一竖直线上),且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的起始点之下、终止点之上;目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的终止点之下时,确定比较结果为竖直边框位置存在向下交叉重叠。
根据图10所示的示意图,将目标子画面的第二位置指示信息的起始点坐标由y4更新为ym。
可选地,在m的取值为竖直边框列表中第二位置指示信息的最大值时,即,竖直边框列表中的所有第二位置指示信息均已被比较时,将更新后的目标子画面的第二位置指示信息添加至竖直边框列表。
步骤118,在比较结果为向上未重叠时,将目标子画面的第二位置指示信息添加至第m个第一位置指示信息之前,流程结束。
可选地,在目标子画面的第二位置指示信息指示的竖直边框的水平方向坐标与第m个第一位置指示信息指示的竖直边框的水平方向坐标相等(两个竖直边框在同一竖直线上),且目标子画面的第二位置指示信息指示的终止点在第m个第二位置指示信息指示的起始点之上时,确定比较结果为向上未重叠。
步骤119,在比较结果为向下未重叠时,令m的值加1,再次执行步骤113。
可选地,在目标子画面的第二位置指示信息指示的竖直边框的水平方向坐标与第m个第一位置指示信息指示的竖直边框的水平方向坐标相等(两个竖直边框在同一竖直线上),且目标子画面的第二位置指示信息指示的起始点在第m个第二位置指示信息指示的终止点之下时,确定比较结果为向下未重叠。
可选地,在m的取值为竖直边框列表中第二位置指示信息的最大值时,即,竖直边框列表中的所有第二位置指示信息均已被比较时,将目标子画面的第二位置指示信息添加至竖直边框列表。
经过上述操作,处于同一竖直线上、且存在重叠的竖直边框可以在竖直边框列表中合并为一条第二位置指示信息。
步骤104,一次性绘制合并后的边框。
在电子设备将多个子画面中水平边框位置存在重叠的水平边框合并之后,根据水平边框列表中的第一位置指示信息一次性绘制合并后的水平边框;在电子设备将多个子画面中竖直边框位置存在重叠的竖直边框合并之后,根据竖直边框列表中的第二位置指示信息一次性绘制合并后的竖直边框。
综上所述,本实施例提供的拼接画面的边框绘制方法,通过获取边框宽度;基于拼接画面中每个子画面的画面位置和边框宽度,确定每个子画面的边框位置,边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;一次性绘制合并后的边框;可以解决分别绘制每个子画面的边框时,每个子画面都需要绘制4次边框,边框绘制效率较低的问题;由于可以将竖直边框位置存在重叠的竖直边框合并,这样可以一次性绘制多个子画面的竖直边框,将水平边框位置存在重叠的水平边框合并,这样可以一次性绘制多个子画面的水平边框,因此,可以减少边框绘制的次数,提高边框绘制的效率。
需要补充说明的是,对于未与任何其它水平边框存在重叠的水平边框,电子设备可以单独绘制,对于未与任何其它竖直边框存在重叠的竖直边框,电子设备可以单独绘制。
可选地,基于上述实施例,电子设备一次性绘制合并后的水平边框,并一次性绘制合并后的竖直边框之前,还包括:对于未处于拼接画面边缘的水平边框和竖直边框,将水平边框向竖直绘制方向的反方向平移第一平移量;将竖直边框向水平绘制方向的反方向平移第二平移量。
其中,第一平移量是基于水平边框的边框宽度确定的;第二平移量是基于竖直边框的边框宽度确定的。示意性地,第一平移量为水平边框的边框宽度的一半,第二平移量为竖直边框的边框宽度的一半。
参考图12所示的边框示意图,假设电子设备从拼接画面的左上顶点开始一次性绘制边框,则每个子画面的竖直边框会整体向右移,水平边框会整体向下移。此时,位于最右侧的子画面被边框覆盖的显示区域最大,导致最右侧的子画面的显示效果较差,此时,将中间的竖直边框向左平移(水平绘制方向的反方向)竖直边框的边框宽度的一半可以减小最右侧的子画面被边框覆盖的显示区域,从而提高最右侧的子画面的显示效果。另外,由于水平边框会整体向下移,位于最下侧的子画面被边框覆盖的显示区域最大,导致最下侧的子画面的显示效果较差,此时,将中间的水平边框向上平移(竖直绘制方向的反方向)水平边框的边框宽度的一半可以减小最下侧的子画面被边框覆盖的显示区域,从而提高最下侧的子画面的显示效果。
可选地,对于起始点未处于拼接画面的起始点、终止点未处于拼接画面的边缘上的边框,经过平移之后可能会出现交叉口,此时需要对该边框进行调整。将水平边框向竖直绘制方向的反方向平移第一平移量;将竖直边框向水平绘制方向的反方向平移第二平移量之后,还包括:在存在一个子画面的边框位置的起始点不是拼接画面的起始点,和/或终止点未在拼接画面的边缘时,调节子画面的水平边框的第一位置指示信息,以使水平边框起始点的水平方向坐标减小第一数值;和/或,调节子画面的竖直边框的第二位置指示信息,以使将子画面的竖直边框起始点的竖直方向坐标减小第二数值。
其中,第一数值是基于水平边框的边框宽度确定的;第二数值是基于竖直边框的边框宽度确定的。示意性地,第一数值为水平边框的边框宽度的一半;第二数值为竖直边框的边框宽度的一半。当然,第一数值和第二数值也可以为其它数值,本实施例对此不作限定。
在一个示例中,在第一位置指示信息包括水平边框的水平方向坐标时,电子设备可以直接将起始点的水平方向坐标减小第一数值;在第二位置指示信息包括竖直边框的竖直方向坐标时,电子设备可以直接将起始点的竖直方向坐标减小第二数值。
在另一个示例中,在第一位置指示信息包括水平边框的长度时,电子设备可以直接将长度增加第一数值,以使水平边框起始点的水平方向坐标减小第一数值;在第二位置指示信息包括竖直边框的长度时,电子设备可以将该长度增加第二数值,以使竖直边框起始点的竖直方向坐标减小第二数值。
参考图13所示的边框示意图,子画面2边框位置的起始点不是拼接画面的起始点。子画面2的水平边框上移水平边框的边框宽度的一半、竖直边框左移竖直边框的边框宽度的一半之后,出现子画面2左上角处所示的交叉口。此时,将子画面的水平边框起始点的水平方向坐标减小第一数值、将子画面的竖直边框起始点的竖直方向坐标减小第二数值,可以消除交叉口的影响,增加边框的美观性。
参考图14所示的边框示意图,子画面2边框位置的终止点未处于拼接画面的边缘。子画面2的水平边框上移水平边框的边框宽度的一半、竖直边框左移竖直边框的边框宽度的一半之后,出现子画面2右下角处所示的交叉口。此时,将子画面的水平边框起始点的水平方向坐标减小第一数值、将子画面的竖直边框起始点的竖直方向坐标减小第二数值可以消除交叉口的影响,增加边框的美观性。
可选地,根据图14可知,在进行边框调节之后,水平边框和/或竖直边框可能会溢出拼接画面,此时,一次性绘制合并后的水平边框,并一次性绘制合并后的竖直边框之前,还包括:在存在一个水平边框位置在拼接画面之外时,将水平边框位置更新至拼接画面边缘;在存在一个竖直边框位置在拼接画面之外时,将竖直边框位置更新至拼接画面边缘。这样,可以避免边缘处的边框溢出拼接画面的问题,提高边框的显示效果。
电子设备确定竖直方向坐标大于拼接画面的高的水平边框为在拼接画面之外的水平边框,此时,将该水平边框的竖直方向坐标设置为拼接画面的高。可选地,对于起始点的水平方向坐标小于拼接画面左上顶点(也可以是左下顶点)的水平方向坐标的水平边框,电子设备还可以将该水平边框的起始点的水平方向坐标设置为拼接画面左上顶点(也可以是左下顶点)的水平方向坐标。对于终止点的水平方向坐标大于拼接画面右上顶点(也可以是右下顶点)的水平方向坐标的水平边框,电子设备还可以将该水平边框的终止点的水平方向坐标设置为拼接画面右上顶点(也可以是右下顶点)的水平方向坐标。
电子设备确定水平方向坐标大于拼接画面的宽的竖直边框为在拼接画面之外的竖直边框,此时,将该竖直边框的水平方向坐标设置为拼接画面的宽。可选地,对于起始点的竖直方向坐标大于拼接画面左上顶点(也可以是右上顶点)的竖直方向坐标的竖直边框,电子设备还可以将该竖直边框的起始点的竖直方向坐标设置为拼接画面左上顶点(也可以是右上顶点)的竖直方向坐标。对于终止点的竖直方向坐标小于拼接画面左下顶点(也可以是右下顶点)的竖直方向坐标的竖直边框,电子设备还可以将该竖直边框的终止点的竖直方向坐标设置为拼接画面左下顶点(也可以是右下顶点)的竖直方向坐标。
综上所述,本实施例通过在一次性绘制合并后的边框之前,通过对边框进行调整,可以提高拼接画面的美观性,提高拼接画面的显示效果。
图15是本申请一个实施例提供的拼接画面的边框绘制装置的框图。该装置至少包括以下几个模块:参数获取模块1510、位置确定模块1520、边框合并模块1530和边框绘制模块1540。
参数获取模块1510,用于获取边框宽度;
位置确定模块1520,用于基于拼接画面中每个子画面的画面位置和所述边框宽度,确定每个子画面的边框位置,所述边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;
边框合并模块1530,用于将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;
边框绘制模块1540,用于一次性绘制合并后的边框。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的拼接画面的边框绘制装置在进行拼接画面的边框绘制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将拼接画面的边框绘制装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的拼接画面的边框绘制装置与拼接画面的边框绘制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图16是本申请一个实施例提供的拼接画面的边框绘制装置的框图。该装置至少包括处理器1601和存储器1602。
处理器1601可以包括一个或多个处理核心,比如:4核心处理器、6核心处理器等。处理器1601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1601所执行以实现本申请中方法实施例提供的拼接画面的边框绘制方法。
在一些实施例中,拼接画面的边框绘制装置还可选包括有:外围设备接口和至少一个外围设备。处理器1601、存储器1602和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,拼接画面的边框绘制装置还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的拼接画面的边框绘制方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的拼接画面的边框绘制方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种拼接画面的边框绘制方法,其特征在于,所述方法包括:
获取边框宽度;
基于拼接画面中每个子画面的画面位置和所述边框宽度,确定每个子画面的边框位置,所述边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;
将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;
一次性绘制合并后的边框;
所述将多个子画面中水平边框位置存在重叠的水平边框合并,包括:
获取每个子画面的水平边框的第一位置指示信息,所述第一位置指示信息用于指示所述水平边框位置;
创建水平边框列表,初始化的所述水平边框列表包括任意一个子画面的第一位置指示信息;
对于未遍历的每个目标子画面,将所述目标子画面的第一位置指示信息与所述水平边框列表中的第n个第一位置指示信息进行比较;所述n依次取大于或等于1的整数;
在比较结果为水平边框位置存在重叠时,将所述目标子画面的第一位置指示信息与所述第n个第一位置指示信息合并,所述重叠包括:前向交叉重叠、横向被包含重叠、横向包含重叠和后向交叉重叠;
所述将多个子画面中竖直边框位置存在重叠的竖直边框合并,包括:
获取每个子画面的竖直边框的第二位置指示信息,所述第二位置指示信息用于指示所述竖直边框位置;
创建竖直边框列表,初始化的所述竖直边框列表包括任意一个子画面的第二位置指示信息;
对于未遍历的每个目标子画面,将所述目标子画面的第二位置指示信息与所述竖直边框列表中的第m个第二位置指示信息进行比较;所述m依次取大于或等于1的整数;
在比较结果为竖直边框位置存在重叠时,将所述目标子画面的第二位置指示信息与所述第m个第二位置指示信息合并,所述重叠包括:向上交叉重叠、竖向被包含重叠、竖向包含重叠和向下交叉重叠。
2.根据权利要求1所述的方法,其特征在于,所述第一位置指示信息包括水平边框的起始点坐标;所述在比较结果为边框位置存在重叠时,将所述目标子画面的第一位置指示信息与所述第n个第一位置指示信息合并,包括:
在比较结果为水平边框位置存在前向交叉重叠时,在所述水平边框列表中将所述第n个第一位置指示信息的起始点坐标更新为所述目标子画面的第一位置指示信息的起始点坐标;
在比较结果为水平边框位置存在横向被包含重叠时,保持所述第n个第一位置指示信息不变;
在比较结果为水平边框位置存在横向包含重叠时,删除所述第n个第一位置指示信息;令n的值加1,再次执行所述将所述目标子画面的第一位置指示信息与所述水平边框列表中第n个第一位置指示信息进行比较的步骤;
在比较结果为水平边框位置存在后向交叉重叠时,在所述水平边框列表中将所述第n个第一位置指示信息删除;将所述目标子画面的第一位置指示信息的起始点坐标更新为所述第n个第一位置指示信息的起始点坐标;令n的值加1,再次执行所述将所述目标子画面的第一位置指示信息与所述水平边框列表中第n个第一位置指示信息进行比较的步骤。
3.根据权利要求1所述的方法,其特征在于,所述第一位置指示信息包括水平边框的起始点坐标;所述方法还包括:
在比较结果为前向未重叠时,将所述目标子画面的第一位置指示信息添加至所述第n个第一位置指示信息之前;
在比较结果为后向未重叠时,令n的值加1,再次执行所述将所述目标子画面的第一位置指示信息与所述水平边框列表中第n个第一位置指示信息进行比较的步骤。
4.根据权利要求1所述的方法,其特征在于,所述第二位置指示信息包括竖直边框的起始点坐标;所述在比较结果为边框位置存在重叠时,将所述目标子画面的第二位置指示信息与所述第m个第二位置指示信息合并,包括:
在比较结果为竖直边框位置存在向上交叉重叠时,在所述竖直边框列表中将所述第m个第二位置指示信息的起始点坐标更新为所述目标子画面的第二位置指示信息的起始点坐标;
在比较结果为竖直边框位置存在竖向被包含重叠时,保持所述第m个第二位置指示信息不变;
在比较结果为竖直边框位置存在竖向包含重叠时,删除所述第m个第二位置指示信息;令m的值加1,再次执行所述将所述目标子画面的第二位置指示信息与所述竖直边框列表中第m个第二位置指示信息进行比较的步骤;
在比较结果为竖直边框位置存在向下交叉重叠时,在所述竖直边框列表中将所述第m个第二位置指示信息删除;将所述目标子画面的第二位置指示信息的起始点坐标更新为所述第m个第二位置指示信息的起始点坐标;令m的值加1,再次执行所述将所述目标子画面的第二位置指示信息与所述竖直边框列表中第m个第二位置指示信息进行比较的步骤。
5.根据权利要求1所述的方法,其特征在于,所述第二位置指示信息包括竖直边框的起始点坐标;所述方法还包括:
在比较结果为向上未重叠时,将所述目标子画面的第二位置指示信息添加至所述第m个第一位置指示信息之前;
在比较结果为向下未重叠时,令m的值加1,再次执行所述将所述目标子画面的第二位置指示信息与所述竖直边框列表中第m个第二位置指示信息进行比较的步骤。
6.根据权利要求1至5任一所述的方法,其特征在于,所述一次性绘制合并后的水平边框,并一次性绘制合并后的竖直边框之前,还包括:
对于未处于所述拼接画面边缘的水平边框和竖直边框,将所述水平边框向竖直绘制方向的反方向平移第一平移量;将所述竖直边框向水平绘制方向的反方向平移第二平移量;
其中,所述第一平移量是基于所述水平边框的边框宽度确定的;所述第二平移量是基于所述竖直边框的边框宽度确定的。
7.根据权利要求6所述的方法,其特征在于,所述将所述水平边框向竖直绘制方向的反方向平移第一平移量;将所述竖直边框向水平绘制方向的反方向平移第二平移量之后,还包括:
在存在一个子画面的边框位置的起始点不是所述拼接画面的起始点,和/或终止点未在所述拼接画面的边缘时,调节所述子画面的水平边框的第一位置指示信息,以使所述水平边框起始点的水平方向坐标减小第一数值;和/或,调节所述子画面的竖直边框的第二位置指示信息,以使将所述子画面的竖直边框起始点的竖直方向坐标减小第二数值;
其中,第一数值基于所述水平边框的边框宽度确定的;所述第二数值是基于所述竖直边框的边框宽度确定的。
8.根据权利要求1至5任一所述的方法,其特征在于,所述一次性绘制合并后的水平边框,并一次性绘制合并后的竖直边框之前,还包括:
在存在一个水平边框位置在所述拼接画面之外时,将所述水平边框位置更新至所述拼接画面边缘;
在存在一个竖直边框位置在所述拼接画面之外时,将所述竖直边框位置更新至所述拼接画面边缘。
9.一种拼接画面的边框绘制装置,其特征在于,所述装置包括:
参数获取模块,用于获取边框宽度;
位置确定模块,用于基于拼接画面中每个子画面的画面位置和所述边框宽度,确定每个子画面的边框位置,所述边框位置包括水平边框的水平边框位置和竖直边框的竖直边框位置;
边框合并模块,用于将多个子画面中水平边框位置存在重叠的水平边框合并;和/或,将多个子画面中竖直边框位置存在重叠的竖直边框合并;
边框绘制模块,用于一次性绘制合并后的边框;
所述边框合并模块,用于获取每个子画面的水平边框的第一位置指示信息,所述第一位置指示信息用于指示所述水平边框位置;创建水平边框列表,初始化的所述水平边框列表包括任意一个子画面的第一位置指示信息;对于未遍历的每个目标子画面,将所述目标子画面的第一位置指示信息与所述水平边框列表中的第n个第一位置指示信息进行比较;所述n依次取大于或等于1的整数;在比较结果为水平边框位置存在重叠时,将所述目标子画面的第一位置指示信息与所述第n个第一位置指示信息合并,所述重叠包括:前向交叉重叠、横向被包含重叠、横向包含重叠和后向交叉重叠;
和/或,
获取每个子画面的竖直边框的第二位置指示信息,所述第二位置指示信息用于指示所述竖直边框位置;
创建竖直边框列表,初始化的所述竖直边框列表包括任意一个子画面的第二位置指示信息;
对于未遍历的每个目标子画面,将所述目标子画面的第二位置指示信息与所述竖直边框列表中的第m个第二位置指示信息进行比较;所述m依次取大于或等于1的整数;
在比较结果为竖直边框位置存在重叠时,将所述目标子画面的第二位置指示信息与所述第m个第二位置指示信息合并,所述重叠包括:向上交叉重叠、竖向被包含重叠、竖向包含重叠和向下交叉重叠。
10.一种拼接画面的边框绘制装置,其特征在于,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的拼接画面的边框绘制方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至8任一项所述的拼接画面的边框绘制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910540280.8A CN110264543B (zh) | 2019-06-21 | 2019-06-21 | 拼接画面的边框绘制方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910540280.8A CN110264543B (zh) | 2019-06-21 | 2019-06-21 | 拼接画面的边框绘制方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110264543A CN110264543A (zh) | 2019-09-20 |
CN110264543B true CN110264543B (zh) | 2022-07-12 |
Family
ID=67920122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910540280.8A Active CN110264543B (zh) | 2019-06-21 | 2019-06-21 | 拼接画面的边框绘制方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110264543B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113012260B (zh) * | 2021-02-09 | 2023-04-28 | 福建天泉教育科技有限公司 | 一种在Canvas下交叉区域擦除的方法与终端 |
CN115496914B (zh) * | 2022-08-18 | 2023-05-02 | 成都智元汇信息技术股份有限公司 | 一种基于列数据的最大轮廓的包裹提取方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7755629B2 (en) * | 2004-06-30 | 2010-07-13 | Canon Kabushiki Kaisha | Method of rendering graphic objects |
CN100583985C (zh) * | 2007-04-27 | 2010-01-20 | 华为技术有限公司 | 一种在视频业务中实现画面切换的方法、装置及系统 |
CN101604453A (zh) * | 2009-07-08 | 2009-12-16 | 西安电子科技大学 | 基于分块策略的大规模数据场体绘制方法 |
CN103677501B (zh) * | 2012-09-12 | 2018-01-30 | 腾讯科技(深圳)有限公司 | 一种在用户界面中标识选中对象的方法及装置 |
CN106210599B (zh) * | 2015-04-30 | 2021-02-12 | 中兴通讯股份有限公司 | 一种多画面调整方法、装置及多点控制单元 |
-
2019
- 2019-06-21 CN CN201910540280.8A patent/CN110264543B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110264543A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI776066B (zh) | 圖片生成方法、裝置、終端、伺服器及儲存媒體 | |
CN110377264B (zh) | 图层合成方法、装置、电子设备及存储介质 | |
CN110377263B (zh) | 图像合成方法、装置、电子设备及存储介质 | |
CN109327727A (zh) | 一种WebRTC中的直播流处理方法及推流客户端 | |
EP4002281A1 (en) | Layer composition method and apparatus, electronic device, and storage medium | |
CN111612873A (zh) | Gif图片生成方法、装置及电子设备 | |
WO2021008427A1 (zh) | 图像合成方法、装置、电子设备及存储介质 | |
US20190230311A1 (en) | Video interface display method and apparatus | |
CN110264543B (zh) | 拼接画面的边框绘制方法、装置及存储介质 | |
CN111770288A (zh) | 视频编辑方法、装置、终端及存储介质 | |
CN110971953B (zh) | 视频播放方法、装置、终端及存储介质 | |
US11039196B2 (en) | Method and device for displaying a screen shot | |
CN111258519B (zh) | 屏幕分屏实现方法、装置、终端和介质 | |
CN109121000A (zh) | 一种视频处理方法及客户端 | |
CN113625983A (zh) | 图像显示方法、装置、计算机设备及存储介质 | |
CN114363696A (zh) | 视频支持元素插入的显示处理方法、电子终端及存储介质 | |
CN111290822A (zh) | 一种桌面壁纸的显示方法、装置及计算机可读存储介质 | |
CN110505512A (zh) | 全屏播放方法、终端设备及计算机可读存储介质 | |
CN112711459B (zh) | 多媒体数据处理方法、装置、设备及计算机可读存储介质 | |
CN111475665B (zh) | 图片播放方法、装置、终端及存储介质 | |
CN114416005A (zh) | 界面显示方法、装置及计算机可读存储介质 | |
CN114710643A (zh) | 视频会议中的视频渲染方法、装置、设备和可读存储介质 | |
CN113900758B (zh) | 内容显示方法、装置、计算机设备和计算机可读存储介质 | |
US20230409195A1 (en) | Display method, terminal device and non-transitory storage medium | |
CN108777739B (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 |