一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

Linux系统中应用窗口背景模糊处理方法及装置与流程

2021-12-14 22:14:00 来源:中国专利 TAG:

linux系统中应用窗口背景模糊处理方法及装置
技术领域
1.本发明涉及linux应用ui技术领域,尤其涉及一种linux系统中应用窗口背景模糊处理方法及装置。


背景技术:

2.为了实现较好的界面显示效果,在下拉菜单、重叠显示等情况时,需要对应用窗口的背景进行模糊处理,以避免视觉上的冲突。
3.在相关技术中,应用窗口的背景模糊处理方法通常是获取背景图像,确定需要模糊处理的范围和区域,将该区域裁剪出一个副本,然后对副本进行模糊处理,再把处理后得到的模糊图片贴图到上层应用窗口控件中,最后渲染到屏幕上。
4.以上处理方式中,由于模糊处理的过程是在中央处理单元中进行的,图像处理效率较低,而且副本拷贝的形式由于拷贝时间的因素,影响处理效率。


技术实现要素:

5.本发明提供一种linux系统中应用窗口背景模糊处理方法及装置,用以解决现有技术中模糊处理效率较低的缺陷,实现高效进行应用窗口背景模糊处理。
6.本发明提供一种linux系统中应用窗口背景模糊处理方法,包括:
7.确定应用窗口中需要进行模糊处理的子控件;
8.确定所述子控件所在的背景控件;
9.离屏渲染所述背景控件,得到用户交互界面纹理单元;
10.根据子控件在背景控件中的位置获取模糊区域;
11.通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;
12.将所述处理结果渲染到应用窗口的显示屏幕上。
13.根据本发明提供一种linux系统中应用窗口背景模糊处理方法,所述离屏渲染所述背景控件,得到用户交互界面纹理单元,具体包括:在保持当前用户交互界面屏幕显示内容的情况下,根据背景控件,在图像处理单元的显存中形成图片形式的所述用户交互界面纹理单元。
14.根据本发明提供一种linux系统中应用窗口背景模糊处理方法,所述根据子控件在背景控件中的位置获取模糊区域,具体包括:
15.获取所述子控件在背景控件中的位置坐标;
16.将所述位置坐标对应的区域确定为背景控件中需要模糊处理的模糊区域。
17.根据本发明提供一种linux系统中应用窗口背景模糊处理方法,所述通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果,具体包括:将所述用户交互界面纹理单元、需要模糊处理的模糊区域的参数以及模糊参数,输入所述图像处理单元,进行处理后得到所述处理结果。
18.根据本发明提供一种linux系统中应用窗口背景模糊处理方法,所述将所述用户交互界面纹理单元、需要模糊处理的模糊区域的参数以及模糊参数,输入所述图像处理单元,进行处理后得到所述处理结果,具体包括:通过所述图像处理单元根据所述模糊参数,对所述用户交互界面纹理单元中的需要模糊处理的模糊区域,进行并行逐像素模糊处理,得到所述处理结果。
19.根据本发明提供一种linux系统中应用窗口背景模糊处理方法,所述将所述处理结果渲染到应用窗口的显示屏幕上,具体包括:通过所述图像处理单元,将图片形式的所述处理结果直接渲染到应用窗口的显示屏幕上
20.本发明还提供一种linux系统中应用窗口背景模糊处理装置,包括:
21.模糊子控件确定单元,用于确定应用窗口中需要进行模糊处理的子控件;
22.背景控件确定单元,用于确定所述子控件所在的背景控件;
23.离屏渲染单元,用于离屏渲染所述背景控件,得到用户交互界面纹理单元;
24.模糊区域确定单元,用于根据子控件在背景控件中的位置获取模糊区域;
25.模糊处理单元,用于通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;
26.屏幕渲染单元,用于将所述处理结果渲染到应用窗口的显示屏幕上。
27.本发明还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行如上述任一项所述linux系统中应用窗口背景模糊处理方法的步骤。
28.本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述任一项所述linux系统中应用窗口背景模糊处理方法的步骤。
29.本发明提供的linux系统中应用窗口背景模糊处理方法及装置,通过对应用窗口中需要模糊处理的子控件所在的背景控件进行离屏渲染后得到用户交互界面纹理单元,再根据子控件在背景控件中的位置确定需要模糊处理的模糊区域,通过图像处理单元在离屏渲染形成的纹理单元中直接对需要模糊处理的模糊区域进行并行加速处理,将处理后的结果直接渲染到应用窗口的屏幕上显示,充分利用了图像处理单元的高性能图像处理逻辑,完成图像的渲染和模糊处理,提升模糊处理效率。
附图说明
30.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本发明提供的linux系统中应用窗口背景模糊处理方法流程图;
32.图2是图1中步骤140的具体流程图;
33.图3是本发明提供的linux系统中应用窗口背景模糊处理系统的软件架构示意图;
34.图4是本发明提供的linux系统中应用窗口背景模糊处理装置结构示意图;
35.图5是本发明提供的移动终端设备的结构示意图。
具体实施方式
36.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.关于本发明实施例提供的技术方案的名词解释和释义:
38.qtquick:是qt(应用程序开发框架)的一种快速界面开发框架,通过qml(类似html的描述性脚本语言)进行界面的开发,可以通过一定方式和c 进行交互,从而实现业务逻辑控制。
39.背景模糊:使得上层的应用窗口的背景做类似盖上一层毛玻璃的效果的处理。
40.纹理(texture):opengl(open graphics library)将图片渲染到应用窗口时,首先是将图片数据形成纹理单元,才能传入中央处理单元(cpu)进行渲染。
41.离屏渲染(offscreen rendering):图像处理单元(gpu)在当前屏幕缓冲区以外开辟了一个缓冲区进行操作,一般通过创建帧缓冲区(fbo)获取,可以将fbo绑定到纹理单元。
42.在相关技术中,应用窗口的背景模糊处理方法通常是获取背景图像,确定需要模糊处理的范围和区域,将该区域裁剪出一个副本,然后对副本进行模糊算法处理,再把处理后得到的模糊图片贴图到上层应用窗口控件中,然后渲染到屏幕上。
43.上面的处理方式相对效率较慢,主要原因有两点:
44.1.获取背景图片,这个动作是从图像处理单元(gpu)中将当前纹理拷贝到内存当中,效率较低、操作时间长;
45.2.模糊处理,这个过程是在中央处理单元(cpu)中进行的,处理效率低,尤其是大图片处理时更加明显。
46.本发明实施例要解决的问题是提高背景模糊效率、降低cpu占用率、减少运行时间、提高用户体验。
47.如图1所示,本发明实施例提供一种linux系统中应用窗口背景模糊处理方法,在当前应用窗口需要进行背景模糊时,所述方法包括:
48.步骤110:确定应用窗口中需要进行模糊处理的子控件;
49.具体地,在应用窗口中确定要进行模糊处理的ui子控件。
50.步骤120:确定所述子控件所在的背景控件;
51.具体地,确定ui子控件后找到其所在的背景控件也即ui父控件。
52.步骤130:离屏渲染所述背景控件,得到用户交互界面纹理单元;
53.本发明实施例中,通过qtquick进行应用开发,本发明实施例涉及的背景模糊处理方法涉及的是qtquick程序中ui控件的渲染处理方法。
54.本发明实施例中,所述离屏渲染所述背景控件,得到用户交互界面纹理单元,具体包括:在保持当前用户交互界面屏幕显示内容的情况下,根据背景控件,在内存中形成图片形式的所述用户交互界面纹理单元。
55.具体地,将背景控件通过opengl传送至gpu中进行离屏渲染,形成图片形式的用户交互界面纹理单元,也即ui纹理单元。
56.步骤140:根据子控件在背景控件中的位置获取模糊区域;
57.本发明实施例中,所述根据子控件在背景控件中的位置获取模糊区域,如图2所示,具体包括:
58.步骤210:获取所述子控件在背景控件中的位置坐标;
59.具体地,在gpu中根据子控件及背景控件,计算得到子控件在背景控件中的位置,获得子控件在背景控件中的位置坐标。
60.步骤220:将所述位置坐标对应的区域确定为背景控件中需要模糊处理的模糊区域。
61.具体地,将所述背景控件区域中子控件位置坐标的区域作为所述模糊区域,并将模糊区域范围的位置信息发送至图像处理单元(gpu)。
62.步骤150:通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;
63.具体地,将在gpu中进行离屏渲染得到的用户交互界面纹理单元中对应传入的需要模糊处理的模糊区域的位置进行模糊处理,得到处理结果。
64.本发明实施例中,所述通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果,具体包括:将所述用户交互界面纹理单元、需要模糊处理的模糊区域的参数以及模糊参数,输入所述图像处理单元,进行处理后得到所述处理结果。
65.本发明实施例中,所述将所述用户交互界面纹理单元、需要模糊处理的模糊区域的参数以及模糊参数,输入所述图像处理单元,进行处理后得到所述处理结果,具体包括:通过所述图像处理单元根据所述模糊参数,对所述用户交互界面纹理单元中的需要模糊处理的模糊区域,进行并行逐像素模糊处理,得到所述处理结果。具体地,利用gpu自身优势可进行并行逐像素处理,从而明显提高模糊处理效率。
66.步骤160:将所述处理结果渲染到应用窗口的显示屏幕上。
67.本发明实施例中,所述将所述处理结果渲染到应用窗口的显示屏幕上,具体包括:通过所述图像处理单元,将图片形式的所述处理结果直接渲染到应用窗口的显示屏幕上。具体地,gpu将处理后的结果直接渲染到屏幕,形成上层应用窗口控件清晰,而背景控件中除应用窗口控件外的区域模糊的显示效果。
68.本发明实施例中,在应用窗口上对一个ui子控件进行模糊处理,需要将包含该控件的ui父控件(相当于本发明实施例中的背景控件)进行离屏渲染,然后将渲染完成后的纹理单元、ui子控件在ui父控件中的位置信息形成的模糊区域参数、模糊参数传入当前屏幕的opengl渲染环境中,对需要模糊的区域进行模糊,完成之后,直接渲染到应用窗口的屏幕上显示。通过本发明实施例的方法减少了cpu和gpu之间的大量数据传递,充分利用gpu的高性能图像处理逻辑,完成图像的渲染和模糊处理,提升处理效率。
69.本发明实施例中,在应用窗口若未开启背景模糊功能的情况下,应用窗口控件直接在cpu中进行渲染到屏幕上进行显示。
70.如图3所示,根据应用窗口的ui子控件的模糊需求,确认ui子控件所在的ui父控件(背景控件),并将其在gpu中进行离屏渲染得到ui纹理单元,根据ui子控件在ui父控件中的位置信息,获取其位置坐标,根据其位置坐标获得模糊区域的位置信息,通过gpu在ui纹理单元中对应模糊区域的位置进行并行模糊处理,得到模糊处理结果,再将其直接渲染至应
用窗口的显示屏幕上进行显示,形式应用窗口中,子控件所在区域为毛玻璃的模糊显示效果,而背景其余区域正常清晰显示的效果。
71.下面对本发明实施例提供的linux系统中应用窗口背景模糊处理装置进行描述,下文描述的linux系统中应用窗口背景模糊处理装置与上文描述的linux系统中应用窗口背景模糊处理方法可相互对应参照,如图4所示,本发明实施例提供一种linux系统中应用窗口背景模糊处理装置,包括:
72.模糊子控件确定单元410,用于确定应用窗口中需要进行模糊处理的子控件;具体地,通过模糊子控件确定单元410确定在应用窗口中要进行要模糊处理的区域的ui子控件。
73.背景控件确定单元420,用于确定所述子控件所在的背景控件;具体地,通过背景控件确定单元420确定ui子控件后找到其所在的背景控件也即ui父控件。
74.离屏渲染单元430,用于离屏渲染所述背景控件,得到用户交互界面纹理单元;
75.本发明实施例中,通过应用页面开发程序(qtquick)对应用页面进行开发,本发明实施例涉及的背景模糊处理方法涉及的是qtquick程序中ui控件的渲染处理方法。
76.本发明实施例中,所述离屏渲染所述背景控件,得到用户交互界面纹理单元,具体包括:在保持当前用户交互界面屏幕显示内容的情况下,根据背景控件,在内存中形成图片形式的所述用户交互界面纹理单元。
77.具体地,将背景控件通过opengl传送至gpu中进行离屏渲染,形成图片形式的用户交互界面纹理单元,也即ui纹理单元。
78.模糊区域确定单元440,用于根据子控件在背景控件中的位置获取模糊区域;
79.本发明实施例中,模糊区域确定单元440还包括:
80.子控件位置坐标确定子单元,用于所述获取所述子控件在背景控件中的位置坐标;
81.具体地,在gpu中根据子控件及背景控件,计算得到子控件在背景控件中的位置,获得子控件在背景控件中的位置坐标。
82.模糊位置确定子单元,用于根据所述位置坐标确定背景控件中需要模糊处理的模糊区域。
83.具体地,将所述背景控件区域中子控件位置坐标的区域作为所述模糊区域。并将模糊区域范围的位置信息发送至图像处理单元(gpu)。
84.模糊处理单元450,用于通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;
85.具体地,将在gpu中进行离屏渲染得到的用户交互界面纹理单元中对应传入的需要模糊处理的模糊区域的位置进行模糊处理,得到处理结果。
86.本发明实施例中,模糊处理单元450将所述用户交互界面纹理单元、需要模糊处理的模糊区域的参数以及模糊参数,输入所述图像处理单元,进行处理后得到所述处理结果。具体地,通过所述图像处理单元根据所述模糊参数,对所述用户交互界面纹理单元中的需要模糊处理的模糊区域,进行并行逐像素模糊处理,得到所述处理结果。具体地,利用gpu自身优势可进行并行加速逐像素处理,从而明显提高模糊处理效率。
87.屏幕渲染单元460,用于将所述处理结果渲染到应用窗口的显示屏幕上。
88.本发明实施例中,屏幕渲染单元460通过所述图像处理单元,将图片形式的所述处
理结果直接渲染到应用窗口的显示屏幕上。具体地,gpu将处理后的结果直接渲染到屏幕,形成上层应用窗口控件清晰,而背景控件中除应用窗口控件外的区域模糊的显示效果。
89.下面结合图5描述本发明实施例提供的一种移动终端设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530、通信总线540,其中,处理器510,通信接口520,存储530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行linux系统中应用窗口背景模糊处理方法,该方法包括:确定应用窗口中需要进行模糊处理的子控件;确定所述子控件所在的背景控件;离屏渲染所述背景控件,得到用户交互界面纹理单元;根据子控件在背景控件中的位置获取模糊区域;通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;将所述处理结果渲染到应用窗口的显示屏幕上。
90.此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
91.在上述终端设备实施例中,应理解,处理器510可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
92.另一方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法所提供的linux系统中应用窗口背景模糊处理方法,该方法包括:确定应用窗口中需要进行模糊处理的子控件;确定所述子控件所在的背景控件;离屏渲染所述背景控件,得到用户交互界面纹理单元;根据子控件在背景控件中的位置获取模糊区域;通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;将所述处理结果渲染到应用窗口的显示屏幕上。
93.又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的linux系统中应用窗口背景模糊处理方法:确定应用窗口中需要进行模糊处理的子控件;确定所述子控件所在的背景控件;离屏渲染所述背景控件,得到用户交互界面纹理单元;根据子控件在背景控件中的位置获取模糊区域;通过图像处理单元在所述用户交互界面纹理单元中对应所述模糊区域的位置进行并行模糊处理,得到处理结果;将所述处理结果渲染到应用窗口的显示屏幕上。
94.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
95.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
96.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献