本技术涉及机器视觉,特别是涉及一种图像渲染方法、显示设备、装置、存储介质及程序产品。
背景技术:
1、在机器视觉技术领域,往往需要在显示设备显示图像。例如,当需要显示图像时,gpu(graphics processing unit,图形处理器)需要获取整张图像,并按照显示设备中的显示区域的尺寸对整张图像进行缩放,以在显示区域渲染缩放后的图像。后续,用户可以对显示区域内显示的画面内容进行调整,以显示图像中不同的图像区域。响应于用户触发的调整操作,gpu从整张图像中确定当前需要显示的图像区域,并在显示区域渲染确定出的图像区域。
2、可见,在渲染图像的整个过程中,gpu需要在显存中存储整张图像,而整张图像的分辨率往往较高,对于显存的占用也较高。
技术实现思路
1、本技术实施例的目的在于提供一种图像渲染方法、显示设备、装置、存储介质及程序产品,以降低图像渲染过程中对于显存空间的占用,节省存储资源。具体技术方案如下:
2、本技术实施例的第一方面,提供了一种图像渲染方法,应用于cpu(centralprocessing unit,中央处理器),所述方法包括:
3、响应于针对显示区域内当前显示的图像的调整操作,确定经过所述调整操作后原始图像中需要在所述显示区域显示的图像区域的位置,作为基准位置;其中,所述显示区域内当前显示的图像为基于所述原始图像得到的;
4、生成与所述显示区域的尺寸相同,且与所述原始图像中所述基准位置处的画面内容一致的图像,得到第一图像;
5、向gpu发送所述第一图像,以使所述gpu在所述显示区域渲染所述第一图像。
6、可选的,生成与所述显示区域的尺寸相同,且与所述原始图像中所述基准位置处的画面内容一致的图像,得到第一图像,包括:
7、若所述基准位置处的图像区域的第一尺寸大于所述显示区域的第二尺寸,按照所述第一尺寸与所述第二尺寸的比值对所述基准位置处的图像区域进行采样,得到所述第二尺寸的图像,作为第一图像;
8、若所述第一尺寸等于所述第二尺寸,从所述原始图像中提取所述基准位置处的图像区域,作为第一图像;
9、若所述第一尺寸小于所述第二尺寸,在所述原始图像中对所述基准位置处的图像区域进行扩充,得到待利用图像区域;其中,所述待利用图像区域的顶点在所述原始图像中的像素坐标为整数;按照所述第二尺寸与所述第一尺寸的待利用比值,对所述待利用图像区域进行插值;从得到的插值结果中提取所述第二尺寸的图像区域,作为第一图像。
10、可选的,在所述原始图像中对所述基准位置处的图像区域进行扩充,得到待利用图像区域,包括:
11、在所述原始图像中,对所述基准位置处的图像区域左上角顶点的像素坐标向左上角的方向取整,以及对所述基准位置处的图像区域右下角顶点的像素坐标向右下角的方向取整,得到待利用图像区域;
12、所述从得到的插值结果中提取所述第二尺寸的图像区域,作为第一图像,包括:
13、计算所述原始图像中所述基准位置处的图像区域左上角顶点的像素坐标与所述待利用比值的乘积,得到起始像素坐标;
14、以所述起始像素坐标为左上角顶点的像素坐标,在得到的插值结果中提取所述第二尺寸的图像区域,得到所述第一图像。
15、可选的,在所述响应于针对显示区域内当前显示的图像的调整操作,确定经过所述调整操作后原始图像中需要在所述显示区域显示的图像区域的位置,作为基准位置之前,所述方法还包括:
16、当接收到针对所述原始图像的显示指令时,按照所述显示区域的尺寸对所述原始图像进行缩放,得到第二图像;
17、向所述gpu发送所述第二图像,以使所述gpu在所述显示区域渲染所述第二图像。
18、可选的,所述方法还包括:
19、获取针对所述原始图像标记的图形的颜色信息,以及所述图形在所述原始图像中对应的位置;
20、基于所述图形在所述原始图像中对应的位置和所述基准位置之间的关系,以及所述第一图像相对于所述原始图像的缩放倍率,确定位于所述第一图像内的待渲染图形区域,并确定所述待渲染图形区域在所述第一图像内的位置;
21、向所述gpu发送所述待渲染图形区域在所述第一图像内的位置,以及所述待渲染图形区域的颜色信息,以使所述gpu在所述显示区域中所述第一图像的上层渲染所述待渲染图形区域。
22、本技术实施例的第二方面,还提供了一种图像渲染方法,应用于gpu,所述方法包括:
23、接收cpu发送的第一图像;其中,所述第一图像为:所述cpu生成的与显示区域的尺寸相同,且与原始图像中基准位置处的画面内容一致的图像;所述基准位置为:所述cpu响应于针对所述显示区域内当前显示的图像的调整操作,确定的经过所述调整操作后所述原始图像中需要在所述显示区域显示的图像区域的位置;所述显示区域内当前显示的图像为基于所述原始图像得到的;
24、在所述显示区域渲染所述第一图像。
25、可选的,在所述接收cpu发送的第一图像之前,所述方法还包括:
26、接收所述cpu发送的第二图像;其中,所述第二图像为:当接收到针对所述原始图像的显示指令时,所述cpu按照所述显示区域的尺寸对所述原始图像进行缩放得到的;
27、在所述显示区域渲染所述第二图像。
28、可选的,所述方法还包括:
29、接收所述cpu发送的待渲染图形区域在所述第一图像内的位置,以及所述待渲染图形区域的颜色信息;其中,所述待渲染图形区域为:所述cpu基于针对所述原始图像标记的图形在所述原始图像中对应的位置和所述基准位置之间的关系,以及所述第一图像相对于所述原始图像的缩放倍率确定的;
30、根据接收到的位置和颜色信息,在所述显示区域中所述第一图像的上层渲染所述待渲染图形区域。
31、可选的,在所述显示区域渲染所述第一图像,包括:
32、在所述显示区域中加载底层画布,并在所述底层画布中渲染所述第一图像;
33、所述根据接收到的位置和颜色信息,在所述显示区域中所述第一图像的上层渲染所述待渲染图形区域,包括:
34、在所述显示区域中所述底层画布的上层加载顶层画布,并根据接收到的位置和颜色信息,在所述顶层画布中渲染所述待渲染图形区域。
35、可选的,在所述显示区域中加载底层画布,并在所述底层画布中渲染所述第一图像之后,所述方法还包括:
36、在显存中存储已渲染所述第一图像的底层画布;
37、当接收到所述cpu发送的新的待渲染图形区域在所述第一图像内的位置,以及新的待渲染图形区域的颜色信息时,加载所述显存中记录的已渲染所述第一图像的底层画布,并根据接收到的新的位置和颜色信息,在所述顶层画布中渲染新的待渲染图形区域。
38、本技术实施例的第三方面,还提供了一种显示设备,包括:
39、cpu,用于执行上述任一所述的应用于cpu的图像渲染方法;
40、gpu,用于执行上述任一所述的应用于gpu的图像渲染方法。
41、本技术实施例的第四方面,还提供了一种图像渲染装置,应用于cpu,所述装置包括:
42、基准位置确定模块,用于响应于针对显示区域内当前显示的图像的调整操作,确定经过所述调整操作后原始图像中需要在所述显示区域显示的图像区域的位置,作为基准位置;其中,所述显示区域内当前显示的图像为基于所述原始图像得到的;
43、图像生成模块,用于生成与所述显示区域的尺寸相同,且与所述原始图像中所述基准位置处的画面内容一致的图像,得到第一图像;
44、第一图像发送模块,用于向gpu发送所述第一图像,以使所述gpu在所述显示区域渲染所述第一图像。
45、可选的,所述图像生成模块,包括:
46、第一图像生成子模块,用于若所述基准位置处的图像区域的第一尺寸大于所述显示区域的第二尺寸,按照所述第一尺寸与所述第二尺寸的比值对所述基准位置处的图像区域进行采样,得到所述第二尺寸的图像,作为第一图像;
47、第二图像生成子模块,用于若所述第一尺寸等于所述第二尺寸,从所述原始图像中提取所述基准位置处的图像区域,作为第一图像;
48、第三图像生成子模块,用于若所述第一尺寸小于所述第二尺寸,在所述原始图像中对所述基准位置处的图像区域进行扩充,得到待利用图像区域;其中,所述待利用图像区域的顶点在所述原始图像中的像素坐标为整数;按照所述第二尺寸与所述第一尺寸的待利用比值,对所述待利用图像区域进行插值;从得到的插值结果中提取所述第二尺寸的图像区域,作为第一图像。
49、可选的,所述第三图像生成子模块,具体用于在所述原始图像中,对所述基准位置处的图像区域左上角顶点的像素坐标向左上角的方向取整,以及对所述基准位置处的图像区域右下角顶点的像素坐标向右下角的方向取整,得到待利用图像区域;计算所述原始图像中所述基准位置处的图像区域左上角顶点的像素坐标与所述待利用比值的乘积,得到起始像素坐标;以所述起始像素坐标为左上角顶点的像素坐标,在得到的插值结果中提取所述第二尺寸的图像区域,得到所述第一图像。
50、可选的,所述装置还包括:
51、图像缩放模块,用于在所述响应于针对显示区域内当前显示的图像的调整操作,确定经过所述调整操作后原始图像中需要在所述显示区域显示的图像区域的位置,作为基准位置之前,当接收到针对所述原始图像的显示指令时,按照所述显示区域的尺寸对所述原始图像进行缩放,得到第二图像;
52、第二图像发送模块,用于向所述gpu发送所述第二图像,以使所述gpu在所述显示区域渲染所述第二图像。
53、可选的,所述装置还包括:
54、图形信息获取模块,用于获取针对所述原始图像标记的图形的颜色信息,以及所述图形在所述原始图像中对应的位置;
55、图形位置确定模块,用于基于所述图形在所述原始图像中对应的位置和所述基准位置之间的关系,以及所述第一图像相对于所述原始图像的缩放倍率,确定位于所述第一图像内的待渲染图形区域,并确定所述待渲染图形区域在所述第一图像内的位置;
56、图形信息发送模块,用于向所述gpu发送所述待渲染图形区域在所述第一图像内的位置,以及所述待渲染图形区域的颜色信息,以使所述gpu在所述显示区域中所述第一图像的上层渲染所述待渲染图形区域。
57、本技术实施例的第五方面,还提供了一种图像渲染装置,应用于gpu,所述装置包括:
58、第一图像接收模块,用于接收cpu发送的第一图像;其中,所述第一图像为:所述cpu生成的与显示区域的尺寸相同,且与原始图像中基准位置处的画面内容一致的图像;所述基准位置为:所述cpu响应于针对所述显示区域内当前显示的图像的调整操作,确定的经过所述调整操作后所述原始图像中需要在所述显示区域显示的图像区域的位置;所述显示区域内当前显示的图像为基于所述原始图像得到的;
59、第一图像渲染模块,用于在所述显示区域渲染所述第一图像。
60、可选的,所述装置还包括:
61、第二图像接收模块,用于在所述接收cpu发送的第一图像之前,接收所述cpu发送的第二图像;其中,所述第二图像为:当接收到针对所述原始图像的显示指令时,所述cpu按照所述显示区域的尺寸对所述原始图像进行缩放得到的;
62、第二图像渲染模块,用于在所述显示区域渲染所述第二图像。
63、可选的,所述装置还包括:
64、图形信息接收模块,用于接收所述cpu发送的待渲染图形区域在所述第一图像内的位置,以及所述待渲染图形区域的颜色信息;其中,所述待渲染图形区域为:所述cpu基于针对所述原始图像标记的图形在所述原始图像中对应的位置和所述基准位置之间的关系,以及所述第一图像相对于所述原始图像的缩放倍率确定的;
65、图形区域渲染模块,用于根据接收到的位置和颜色信息,在所述显示区域中所述第一图像的上层渲染所述待渲染图形区域。
66、可选的,所述第一图像渲染模块,具体用于在所述显示区域中加载底层画布,并在所述底层画布中渲染所述第一图像;
67、所述图形区域渲染模块,具体用于在所述显示区域中所述底层画布的上层加载顶层画布,并根据接收到的位置和颜色信息,在所述顶层画布中渲染所述待渲染图形区域。
68、可选的,所述装置还包括:
69、画布存储模块,用于在所述显示区域中加载底层画布,并在所述底层画布中渲染所述第一图像之后,在显存中存储已渲染所述第一图像的底层画布;
70、画布加载模块,用于当接收到所述cpu发送的新的待渲染图形区域在所述第一图像内的位置,以及新的待渲染图形区域的颜色信息时,加载所述显存中记录的已渲染所述第一图像的底层画布,并根据接收到的新的位置和颜色信息,在所述顶层画布中渲染新的待渲染图形区域。
71、本技术实施例的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的应用于cpu的图像渲染方法或者任一所述的应用于gpu的图像渲染方法。
72、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的应用于cpu的图像渲染方法或者任一所述的应用于gpu的图像渲染方法。
73、本技术实施例有益效果:
74、本技术实施例提供的一种图像渲染方法,应用于cpu,cpu可以响应于针对显示区域内当前显示的图像的调整操作,确定经过调整操作后原始图像中需要在显示区域显示的图像区域的位置,作为基准位置;其中,显示区域内当前显示的图像为基于原始图像得到的;生成与显示区域的尺寸相同,且与原始图像中基准位置处的画面内容一致的图像,得到第一图像;向gpu发送第一图像,以使gpu在显示区域渲染第一图像。
75、基于上述处理,可以基于原始图像得到显示区域内当前显示的图像。用户可以触发针对显示区域内当前显示的图像的调整操作,以调整显示区域内显示的画面内容。cpu可以响应于调整操作,从原始图像中确定当前需要显示的图像区域的位置,并生成第一图像。进而,cpu可以向gpu发送第一图像,相应的,gpu可以在显示区域渲染接收到的第一图像。如此,在图像渲染的整个过程中,cpu对原始图像进行处理,得到当前需要显示的图像区域。gpu仅需对接收到的第一图像进行渲染,而无需对整张原始图像进行处理,也就无需在显存中存储整张原始图像。可以避免在图像渲染过程中占用较多的显存空间,特别是在原始图像的分辨率较高的情况下,也就可以降低图像渲染过程中对于显存空间的占用,节省存储资源。
76、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。