本技术涉及计算机视觉,本技术涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术:
1、在一些场景中,通常用图像序列实现对动画或全屏的氛围效果。时间较长的动画对应的图像序列中图像数量也较多。
2、相关技术中,出于对设计工具友好并且带透明度等目的,通常采用png格式的图像,该png格式的图像中包括的rgba数据,需占用较多存储空间。然而,当使用包括大量图片的图像序列来展示动画时,会导致内存开销大的问题。
技术实现思路
1、本技术提供了一种图像处理方法、装置、电子设备及存储介质,可以解决相关技术中内存开销大的问题。所述技术方案如下:
2、一方面,本技术提供了一种图像处理方法,该方法包括:
3、将待显示图像的颜色yuv通道数据和透明度a通道数据加载到内存中;
4、通过图形处理器gpu,从所述内存中读取所述待显示图像的所述yuv通道数据和所述a通道数据,并基于读取的所述yuv通道数据和所述a通道数据生成rgba通道数据;
5、基于所述rgba通道数据对所述待显示图像进行渲染并展示。
6、在一些实施例中,所述基于读取的所述yuv通道数据和所述a通道数据生成rgba通道数据,包括:
7、基于读取的所述yuv通道数据生成rgb通道数据;
8、基于读取的所述a通道数据和所述rgb通道数据,生成所述rgba通道数据。
9、在一些实施例中,所述基于读取的所述a通道数据和所述rgb通道数据,生成所述rgba通道数据,包括:
10、基于目标压缩比例对所读取的a通道数据进行反压缩变换,得到所述待显示图像中每个像素点的a通道数据;
11、其中,所读取的a通道数据是基于所述目标压缩比例、对待显示图像的各个像素点的a通道数据进行压缩得到的;
12、基于所述每个像素点的a通道数据和所述rgb通道数据,生成所述每个像素点的rgba通道数据。
13、在一些实施例中,所述将待显示图像的颜色yuv通道数据和透明度a通道数据加载到内存中,包括:
14、接收服务器发送的所述待显示图像的第一jpeg数据和第二jpeg数据,所述第一jpeg数据携带所述yuv通道数据,所述第二jpeg数据携带所述a通道数据;
15、将所述第一jpeg数据和所述第二jpeg数据加载到所述内存中。
16、在一些实施例中,所述通过图形处理器gpu,从所述内存中读取所述待显示图像的所述yuv通道数据和所述a通道数据,包括:
17、通过所述gpu,从所述内存中读取所述待显示图像的第一jpeg数据和第二jpeg数据;
18、其中,所述第一jpeg数据是包括y通道、u通道和v通道的多通道数据,所述第二jpeg数据是包括y通道的单通道数据;
19、从所述第一jpeg数据的y通道、u通道和v通道中获取所述yuv通道数据;
20、从所述第二jpeg数据的y通道中获取所述a通道数据。
21、另一方面,本技术提供了一种图像处理方法,所述方法包括:
22、获取待显示图像的rgba通道数据;
23、基于所述rgba通道数据中的rgb通道数据,生成携带yuv通道数据的第一jpeg数据,所述第一jpeg数据是包括y通道、u通道和v通道的多通道数据;
24、基于所述rgba通道数据中的透明度a通道数据,生成携带所述a通道数据的第二jpeg数据,所述第二jpeg数据是包括y通道的单通道数据;
25、向终端发送所述待显示图像的所述第一jpeg数据和所述第二jpeg数据,以使所述终端将待显示图像的所述yuv通道数据和所述a通道数据加载到内存中。
26、另一方面,本技术提供了一种图像处理装置,所述装置包括:
27、加载模块,被配置为将待显示图像的颜色yuv通道数据和透明度a通道数据加载到内存中;
28、读取模块,被配置为通过图形处理器gpu,从所述内存中读取所述待显示图像的所述yuv通道数据和所述a通道数据,并基于读取的所述yuv通道数据和所述a通道数据生成rgba通道数据;
29、渲染模块,被配置为基于所述rgba通道数据对所述待显示图像进行渲染并展示。
30、在一些实施例中,所述读取模块,包括:
31、第一读取单元,被配置为基于读取的所述yuv通道数据生成rgb通道数据;
32、生成单元,被配置为基于读取的所述a通道数据和所述rgb通道数据,生成所述rgba通道数据。
33、在一些实施例中,所述生成单元,被配置为:
34、基于目标压缩比例对所读取的a通道数据进行反压缩变换,得到所述待显示图像中每个像素点的a通道数据;
35、其中,所读取的a通道数据是基于所述目标压缩比例、对待显示图像的各个像素点的a通道数据进行压缩得到的;
36、基于所述每个像素点的a通道数据和所述rgb通道数据,生成所述每个像素点的rgba通道数据。
37、在一些实施例中,所述加载模块,包括:
38、接收单元,被配置为接收服务器发送的所述待显示图像的第一jpeg数据和第二jpeg数据,所述第一jpeg数据携带所述yuv通道数据,所述第二jpeg数据携带所述a通道数据;
39、加载单元,被配置为将所述第一jpeg数据和所述第二jpeg数据加载到所述内存中。
40、在一些实施例中,所述渲染模块,包括:
41、第二读取单元,被配置为通过所述gpu,从所述内存中读取所述待显示图像的第一jpeg数据和第二jpeg数据;
42、其中,所述第一jpeg数据是包括y通道、u通道和v通道的多通道数据,所述第二jpeg数据是包括y通道的单通道数据;
43、获取单元,被配置为从所述第一jpeg数据的y通道、u通道和v通道中获取所述yuv通道数据;
44、所述获取单元,还被配置为从所述第二jpeg数据的y通道中获取所述a通道数据。
45、另一方面,本技术提供了一种图像处理装置,所述装置包括:
46、获取模块,被配置为获取待显示图像的rgba通道数据;
47、第一生成模块,被配置为基于所述rgba通道数据中的rgb通道数据,生成携带yuv通道数据的第一jpeg数据,所述第一jpeg数据是包括y通道、u通道和v通道的多通道数据;
48、第二生成模块,被配置为基于所述rgba通道数据中的透明度a通道数据,生成携带所述a通道数据的第二jpeg数据,所述第二jpeg数据是包括y通道的单通道数据;
49、发送模块,被配置为向终端发送所述待显示图像的所述第一jpeg数据和所述第二jpeg数据,以使所述终端将待显示图像的所述yuv通道数据和所述a通道数据加载到内存中。
50、另一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述的图像处理方法。
51、另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的图像处理方法。
52、另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述的图像处理方法。
53、本技术实施例提供的技术方案带来的有益效果是:
54、本技术实施例提供的图像处理方法,通过将待显示图像的颜色yuv通道数据和透明度a通道数据加载到内存中;通过图形处理器gpu,从内存中读取待显示图像的yuv通道数据和a通道数据,并基于读取的yuv通道数据和a通道数据生成渲染所需rgba通道数据;从而基于该rgba通道数据对该待显示图像进行渲染并展示。本技术通过将yuv通道数据和a通道数据加载到内存、而不是直接加载rgba数据,以及利用gpu中生成渲染所需的rgba数据,均可在保证显示效果的前提下、大大节省了内存开销。
55、本技术实施例提供的图像处理方法,通过获取待显示图像的rgba通道数据;基于该rgba通道数据中的rgb通道数据,生成携带yuv通道数据的第一jpeg数据,该第一jpeg数据是包括y通道、u通道和v通道的多通道数据;基于该rgba通道数据中的透明度a通道数据,生成携带该a通道数据的第二jpeg数据,该第二jpeg数据是包括y通道的单通道数据;向终端发送该待显示图像的该第一jpeg数据和该第二jpeg数据,以使该终端将待显示图像的该yuv通道数据和该a通道数据加载到内存中,而不是直接加载rgba数据,大大节省终端内存开销。