CN117437346A - 图像处理方法、装置、电子设备、存储介质及程序产品 - Google Patents
图像处理方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN117437346A CN117437346A CN202210827405.7A CN202210827405A CN117437346A CN 117437346 A CN117437346 A CN 117437346A CN 202210827405 A CN202210827405 A CN 202210827405A CN 117437346 A CN117437346 A CN 117437346A
- Authority
- CN
- China
- Prior art keywords
- perspective
- sampling point
- texture
- sampling
- coordinate system
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 98
- 238000003672 processing method Methods 0.000 title claims abstract description 42
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000005070 sampling Methods 0.000 claims abstract description 351
- 238000009877 rendering Methods 0.000 claims abstract description 83
- 230000000694 effects Effects 0.000 claims abstract description 48
- 230000009466 transformation Effects 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 24
- 230000003993 interaction Effects 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000007499 fusion processing Methods 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008439 repair process Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241000826860 Trapezium Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种虚拟场景的图像处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品;方法包括:获取虚拟场景的用户界面的原始图像;获取用户界面对应纹理坐标系的界面纹理区域,并获取界面纹理区域的每个采样点在纹理坐标系的第一纹理坐标;对每个采样点在纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第二纹理坐标;基于每个采样点的第二纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据;基于每个采样点的透视渲染数据生成用户界面的具有透视效果的渲染图像。通过本申请,能够完全基于用户界面的原始图像进行采样,从而提高处理灵活度。
Description
技术领域
本申请涉及虚拟场景的图像处理技术,尤其涉及一种虚拟场景的图像处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的多媒体技术,借助与人机交互引擎技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有各种典型的应用场景,例如在游戏等虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。
相关技术中虚拟场景的呈现效果可以是三维的,从而向用户提供优秀的视觉体验,除了虚拟场景外,用户界面的视觉呈现效果也会影响用户的视觉体验,因此相关技术中会将用户界面与虚拟场景共同渲染,从而在用户界面中也可以实现三维的透视效果,但是相关技术中的共同渲染方式会导致渲染灵活度较低,且需要耗费较高的计算资源。
发明内容
本申请实施例提供一种虚拟场景的图像处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够完全基于用户界面的原始图像进行采样,从而提高处理灵活度并节约计算资源。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟场景的图像处理方法,包括:
获取所述虚拟场景的用户界面的原始图像;
获取用户界面对应纹理坐标系的界面纹理区域,并获取所述界面纹理区域的每个采样点在所述纹理坐标系的第一纹理坐标;
对每个所述采样点在所述纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个所述采样点在所述纹理坐标系的第二纹理坐标;
基于每个所述采样点的第二纹理坐标,在所述原始图像进行采样处理,得到每个所述采样点的透视渲染数据;
基于每个所述采样点的透视渲染数据,将具有透视效果的用户界面渲染至屏幕。
本申请实施例提供一种虚拟场景的图像处理装置,包括:
获取模块,用于获取虚拟场景的用户界面的原始图像;
坐标模块,用于获取用户界面对应纹理坐标系的界面纹理区域,并获取所述界面纹理区域的每个采样点在所述纹理坐标系的第一纹理坐标;
变换模块,用于对每个所述采样点在所述纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个所述采样点在所述纹理坐标系的第二纹理坐标;
采样模块,用于基于每个所述采样点的第二纹理坐标,在所述原始图像进行采样处理,得到每个所述采样点的透视渲染数据;
渲染模块,用于基于每个所述采样点的透视渲染数据,将具有透视效果的用户界面渲染至屏幕。
在上述方案中,所述获取模块,还用于:调用渲染引擎对所述虚拟场景的用户界面进行平面渲染处理,得到用于输出的原始图像,其中,所述虚拟场景是三维虚拟场景,且所述原始图像中不具有所述透视效果。
在上述方案中,所述变换模块,还用于:根据所述界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系;将每个所述采样点在所述纹理坐标系的第一纹理坐标进行转换处理,得到每个所述采样点在所述透视坐标系的第一透视坐标;对每个所述采样点的第一透视坐标进行基于所述透视图形的变换处理,得到每个所述采样点的第二透视坐标;对每个所述采样点的第二透视坐标进行从所述透视坐标系到所述纹理坐标系的变换处理,得到每个所述采样点的第二纹理坐标。
在上述方案中,所述变换模块,还用于:获取经过所述指定纹理坐标所指向的目标点,且与所述纹理坐标系的水平轴平行的目标水平轴;获取处于所述界面纹理区域内,关于所述目标水平轴对称,且符合所述透视参数的透视图形;获取所述透视图形在所述目标水平轴的聚焦点作为原点;获取垂直于所述目标水平轴,且经过所述原点的目标竖直轴;生成由所述目标竖直轴以及所述目标水平轴构成的透视坐标轴。
在上述方案中,当所述透视参数包括第一透视长度、第二透视长度以及透视夹角,所述变换模块,还用于:获取以所述目标点为中点,长度为所述第一透视长度,且垂直于所述目标水平轴的梯形底边;获取与所述梯形底边平行,长度为所述第二透视长度,且被所述目标水平轴等分的梯形上边;将由所述梯形上边、所述梯形底边以及透视夹角表征的等腰梯形作为所述透视图形。
在上述方案中,将每个所述采样点在所述纹理坐标系的第一纹理坐标进行转换处理,得到每个所述采样点在所述透视坐标系的第一透视坐标之前,所述变换模块,还用于:获取所述用户界面的水平边像素数目以及竖直边像素数目;基于所述水平边像素数目以及所述竖直边像素数目对所述界面纹理区域进行网格划分处理,得到所述界面纹理区域的多个交叉点作为所述采样点。
在上述方案中,当所述透视图形是等腰梯形时,所述变换模块,还用于:获取在所述透视坐标系中所述等腰梯形与所述界面纹理区域之间的透视坐标转换关系;基于所述透视坐标转换关系对每个所述采样点的第一透视坐标进行变换处理,得到每个所述采样点的第二透视坐标。
在上述方案中,所述采样模块,还用于:基于每个所述采样点的第二纹理坐标,在所述原始图像进行初始采样处理,得到每个所述采样点的初始采样结果;对每个所述采样点的初始采样结果进行竖直方向的反走样处理,得到每个所述采样点的透视渲染数据。
在上述方案中,所述采样模块,还用于:针对每个所述采样点执行以下处理:获取所述原始图像中对应所述第二纹理坐标的基础颜色值以及透明度值;当所述第二纹理坐标不处于所述界面纹理区域对应的坐标范围外时,将所述基础颜色值以及所述透明度值组成所述采样点的初始采样结果;当所述第二纹理坐标处于所述界面纹理区域对应的坐标范围外时,将所述采样点的透明度值更新为零值,并将所述基础颜色值以及经过更新的透明度值组成所述采样点的初始采样结果。
在上述方案中,所述采样模块,还用于:针对每个采样点执行以下处理:当所述采样点在竖直方向上具有两个相邻采样点时,获取每个所述相邻采样点的初始采样结果,将所述两个相邻采样点的初始采样结果与所述采样点的初始采样结果进行融合处理,得到所述采样点的透视渲染数据;当所述采样点在竖直方向上具有一个相邻采样点时,获取所述一个相邻采样点的初始采样结果,将所述一个相邻采样点的初始采样结果与所述采样点的初始采样结果进行融合处理,得到所述采样点的透视渲染数据。
本申请实施例提供一种虚拟场景的图像处理方法,包括:
在人机交互界面中显示所述虚拟场景;
在所述人机交互界面中显示所述虚拟场景的用户界面,其中,所述用户界面具有透视效果,且所述用户界面是通过执行本申请实施例提供的虚拟场景的图像处理方法渲染得到的。
本申请实施例提供一种虚拟场景的图像处理装置,所述装置包括:
显示模块,用于在人机交互界面中显示所述虚拟场景;
所述显示模块,还用于在所述人机交互界面中显示所述虚拟场景的用户界面,其中,所述用户界面具有透视效果,且所述用户界面是通过执行本申请实施例提供的虚拟场景的图像处理方法渲染得到的。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟场景的图像处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的虚拟场景的图像处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例提供的虚拟场景的图像处理方法。
本申请实施例具有以下有益效果:
对采样点的纹理坐标进行基于透视图形的变换,并基于变换后的第二纹理坐标对用户界面的原始图像进行采样来达到透视效果。由于完全是对用户界面进行采样渲染,可以节省采样开销,提升处理时机的灵活度。
附图说明
图1是本申请实施例提供的图像文件坐标示意图;
图2是相关技术的用户界面的渲染流程示意图;
图3是本申请实施例提供的虚拟场景的图像处理方法的应用模式示意图;
图4是本申请实施例提供的应用虚拟场景的图像处理方法的电子设备的结构示意图;
图5A-图5C是本申请实施例提供的虚拟场景的图像处理方法的流程示意图;
图6A-图6B是本申请实施例提供的虚拟场景的图像处理方法的界面示意图;
图7是本申请实施例提供的虚拟场景的图像处理方法的流程示意图;
图8是本申请实施例提供的虚拟场景的图像处理方法的透视梯形示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)透视效果:将平面图像沿竖直轴旋转得到的二维投影效果。
2)UV坐标:参见图1,图1是本申请实施例提供的图像文件坐标示意图,UV坐标是指所有的图像文件都是一个二维平面,水平方向是U,垂直方向是V,通过这个二维平面的UV坐标系,可以定位图像上任意一个像素。
3)面片:指由四个三维坐标的点形成的图形。
4)纹理:这里特指二维纹理,指一张可以被采样的贴图,采样时输入坐标(X,Y),输出RGB颜色或者RGBA颜色
参见图2,图2是相关技术的用户界面的渲染流程示意图,在步骤101中,将二维的用户界面会被设置成具有三维坐标的面片,在步骤102中,将面片和虚拟场景共同进行三维渲染,在步骤103中,同时输出用户界面和虚拟场景。
相关技术中将用户界面视作三维场景中的面片,由于用户界面大多为半透明材质,而半透明材质的渲染需要额外的性能开销;用户界面的实际深度为0,则难以进行深度测试;将用户界面和三维场景共同进行渲染可能会导致三维光照对用户界面的正常显示产生影响。综上,相关技术中的渲染方式必须与虚拟场景绑定渲染,无法随时对用户界面实施轻量的透视处理,导致灵活度较低,且需要耗费较大的计算资源。
本申请实施例提供一种虚拟场景的图像处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够在二维空间中对用户界面的原始图像进行采样来实现三维透视效果,从而提高透视化用户界面的灵活度并节约计算资源。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端。
为便于更容易理解本申请实施例提供的虚拟场景的图像处理方法,首先说明本申请实施例提供的虚拟场景的图像处理方法的示例性实施场景,虚拟场景可以完全基于终端输出,或者基于终端和服务器的协同来输出。
在一些实施例中,虚拟场景可以是供游戏角色交互的环境,例如可以是供游戏角色在虚拟场景中进行对战,通过控制虚拟对象的行动可以在虚拟场景中进行双方互动,从而使用户能够在游戏的过程中舒缓生活压力,例如可以是供用户通过用户界面对虚拟场景中的建筑物进行建造修补,从而使用户能够在游戏的过程中寓教于乐。
在另一个实施场景中,参见图3,图3是本申请实施例提供的虚拟场景的图像处理方法的应用模式示意图,应用于终端400和服务器200,一般地,适用于依赖服务器200的计算能力完成虚拟场景计算、并在终端400输出虚拟场景的应用模式。
作为示例,以模拟建筑修复的APP为例进行说明,服务器200获取虚拟场景(待修复的建筑物,例如长城)的用户界面的原始图像,用户界面可以为用户的用户界面(例如修复界面,修复界面中包括多个修复控件);获取用户界面对应纹理坐标系的界面纹理区域,并根据界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系;获取界面纹理区域的每个采样点在透视坐标系的第一透视坐标,并对每个采样点的第一透视坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第一纹理坐标;基于每个采样点的第一纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据;基于每个采样点的透视渲染数据生成用户界面的具有透视效果的渲染图像,服务器200将渲染图像发送至终端400,以使得终端400中游戏客户端运行时通过输出渲染图像向用户呈现出用户界面。
作为示例,终端400获取虚拟场景(待修复的建筑物,例如长城)的用户界面(例如修复界面,修复界面中包括多个修复控件)的原始图像;获取用户界面对应纹理坐标系的界面纹理区域,并根据界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系;获取界面纹理区域的每个采样点在透视坐标系的第一透视坐标,并对每个采样点的第一透视坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第一纹理坐标;基于每个采样点的第一纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据;基于每个采样点的透视渲染数据生成用户界面的具有透视效果的渲染图像,得终端400中游戏客户端运行时通过输出渲染图像向用户呈现出用户界面。
在一些实施例中,终端400可以通过运行计算机程序来实现本申请实施例提供的虚拟场景的图像处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,例如游戏APP(即上述的客户端);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的游戏小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图4,图4是本申请实施例提供的应用虚拟场景的图像处理方法的电子设备的结构示意图,以电子设备为终端为例进行说明,图4所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的虚拟场景的图像处理装置可以采用软件方式实现,图4示出了存储在存储器450中的虚拟场景的图像处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4551、坐标模块4552、变换模块4553、采样模块4554及渲染模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的虚拟场景的图像处理方法。
参见图5A,图5A是本申请实施例提供的虚拟场景的图像处理方法的流程示意图,将结合图5A示出的步骤301至步骤305进行说明。
在步骤301中,获取虚拟场景的用户界面的原始图像。
用户界面是是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面可以为用户的操作界面,或者提示信息的显示界面等等。
在一些实施例中,步骤301中获取虚拟场景的用户界面的原始图像,可以通过以下技术方案实现:调用渲染引擎对虚拟场景的用户界面进行平面渲染处理,得到用于输出的原始图像,其中,虚拟场景是三维虚拟场景,且原始图像中不具有透视效果。通过获取原始图像直接作为后续采样基础,从而可以降低采样次数,提高图像处理效率。
作为示例,以游戏为例,游戏中的虚拟场景是三维虚拟场景,游戏的用户界面是二维用户界面,若是想在二维用户界面中实现透视效果,可以将二维用户界面的原始图像(不具有透视效果)作为后续采样基础,通过渲染引擎(例如Unreal引擎)的渲染管线渲染出二维用户界面的原始图像作为待采样纹理,二维用户界面的原始图像不具有透视效果,参见图6A,图6A所示即为原始图像,将原始图像作为采样基础。
在步骤302中,获取用户界面对应纹理坐标系的界面纹理区域,并获取界面纹理区域的每个采样点在纹理坐标系的第一纹理坐标。
作为示例,纹理坐标系是以m为原点的UV坐标系,参见图1,图1是本申请实施例提供的图像文件坐标示意图,UV坐标是指所有的图像文件都是一个二维平面,水平方向是U,垂直方向是V,通过这个二维平面的UV坐标系,可以定位图像上任意一个像素。界面纹理区域是在纹理坐标系中由设定坐标约束出的区域,例如,图8示出的界面纹理区域是正方形,是由坐标点(0,0),(0,1),(1,0)以及(1,1)约束出的区域。
在步骤303中,对每个采样点在纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第二纹理坐标。
在一些实施例中,参见图5B,图5B是本申请实施例提供的虚拟场景的图像处理方法的流程示意图,步骤303中对每个采样点在纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第二纹理坐标,可以通过图5B的步骤3031至步骤3034实现。
在步骤3031中,根据界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系。
在一些实施例中,透视坐标系是用于进行透视变换的新构建的坐标系,基于已知的纹理坐标系以及透视参数可以构建出新坐标系(透视坐标系XOY),步骤3031中根据界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系,可以通过以下技术方案实现:获取经过指定纹理坐标所指向的目标点,且与纹理坐标系的水平轴平行的目标水平轴,指定纹理坐标处于界面纹理区域中,也可以处于界面纹理区域的边界上,指定纹理坐标是正方形上的f点,f点在纹理坐标系的坐标是(1,0.5),目标水平轴经过纹理坐标系(UV坐标系)下的f点,并且目标水平轴与纹理坐标系的水平轴(U轴)平行;获取处于界面纹理区域内,关于目标水平轴对称,且符合透视参数的透视图形,透视图形可以是梯形或者三角形,例如透视图形是图8所示的等腰梯形,等腰梯形关于目标水平轴对称,且等腰梯形符合透视参数,透视参数可以是与梯形相关的夹角以及边长,例如图8中梯形的斜边和x轴的夹角a,根据透视张角2a和设定的梯形上边长度h,构建出关于X轴对称的等腰梯形;获取透视图形在目标水平轴的聚焦点作为原点,取梯形的两条斜边在X轴的交点(聚焦点)作为透视坐标系XOY的原点O(0,0);获取垂直于目标水平轴,且经过原点的目标竖直轴,由于已经获得了透视坐标系的原点,且透视坐标系是直角坐标系,因此目标竖直轴与目标水平轴垂直,如图8所示的目标竖直轴(Y轴),最终生成由目标竖直轴以及目标水平轴构成的透视坐标轴。在进行透视变换之前先构建出XOY坐标系,从而后续可以在XOY坐标系中进行透视变换,可以降低计算复杂度,提高处理效率。
在一些实施例中,当透视参数包括第一透视长度、第二透视长度以及透视夹角,上述获取处于界面纹理区域内,关于目标水平轴对称,且符合透视参数的透视图形,可以通过以下技术方案实现:获取以目标点为中点,长度为第一透视长度,且垂直于目标水平轴的梯形底边;获取与梯形底边平行,长度为第二透视长度,且被目标水平轴等分的梯形上边;将由梯形上边、梯形底边以及透视夹角表征的等腰梯形作为透视图形。通过本申请实施例将等腰梯形作为透视图形,从而后续可以基于等腰梯形进行变换,最终渲染之后在视觉上可以形成由近及远汇聚到某个点的透视效果。
作为示例,参见图8,第一透视长度是等腰梯形的较长下边的长度,第二透视长度是等腰梯形的较短上边的长度,通过等腰梯形可以形成由近及远逐渐聚焦的透视效果,同理还可以采用等腰梯形作为透视图形,透视参数还可以为等腰三角形的等腰边长以及等腰边的夹角。目标点是图8所示的f点,此处的第一透视长度可以为正方形的边长1,或者第一透视长度可以小于1,例如第一透视长度为0.8,梯形上边的长度为第二透视长度,如图8,第二透视长度为h,等腰梯形的两条斜边在X轴的交点作为聚焦点,从而任意斜边与X轴形成了透视夹角a。
在步骤3032中,将每个采样点在纹理坐标系的第一纹理坐标进行转换处理,得到每个采样点在透视坐标系的第一透视坐标。
在一些实施例中,在步骤3032之前,获取用户界面的水平边像素数目以及竖直边像素数目;基于水平边像素数目以及竖直边像素数目对界面纹理区域进行网格划分处理,得到界面纹理区域的多个交叉点作为采样点。通过本申请实施例可以跟随用户界面的实际参数来控制采样点的数目,避免无效采样,从而提升采样效率。
作为示例,参见图8,界面纹理区域即为图8中的正方形,通常将正方形的边长设定为1,正方形的四个顶点在纹理坐标系中的坐标分别为(0,0),(0,1),(1,0),(1,1),由于屏幕的分辨率多种多样,例如1024*512的分辨率,例如1920*1480的分辨率,假设屏幕的分辨率为100*50,则竖直边像素数目为50,水平边像素数目为100,进行网格划分时需要在正方形上横向划分出98个横向划分线,并在正方形上纵向划分出48个纵向划分线,从而形成5000个交叉点,交叉点包括划分线之间的交叉点,也包括划分线与正方形的边的交叉点,从而整体需要针对5000个采样点进行采样。
在步骤3033中,对每个采样点的第一透视坐标进行基于透视图形的变换处理,得到每个采样点的第二透视坐标。
在一些实施例中,当透视图形是等腰梯形时,步骤3033中对每个采样点的第一透视坐标进行基于透视图形的变换处理,得到每个采样点的第二透视坐标,可以通过以下技术方案实现:获取在透视坐标系中等腰梯形与界面纹理区域之间的透视坐标转换关系;基于透视坐标转换关系对每个采样点的第一透视坐标进行变换处理,得到每个采样点的第二透视坐标。通过本申请实施例可以降低透视变换的计算量,在XOY坐标系中进行透视变换可以降低计算复杂度,提高变换处理效率。
作为示例,参见图8,等腰梯形与界面纹理区域之间的透视坐标转换关系即为将等腰梯形中的点映射到正方形中的转换关系,可以选择顶点之间的转换来拟合出转换关系,例如,将点n拉伸至点m,将点p拉伸至点q,可以计算出m点在透视坐标系下的坐标为n点在透视坐标系下的坐标为/>可以计算出q点在透视坐标系下的坐标为/>p点在透视坐标系下的坐标为/>根据上述四个关键点,可以拟合出基于n点坐标得到m点坐标的透视坐标转换关系,以及基于p点坐标得到q点的透视坐标转换关系,透视坐标转换关系可以参见公式(1)和公式(2):
其中,x代表正方形中采样点n在新坐标系的x轴坐标,y代表正方形中采样点n在新坐标系的y轴坐标,X1代表拉伸后采样点n在新坐标系的x轴坐标,Y1代表拉伸后采样点n在新坐标系的y轴坐标。
上述基于透视坐标转换关系对每个采样点的第一透视坐标进行变换处理,可以是将第一透视坐标代入公式(1)以及公式(2),从而得到每个采样点的第二透视坐标(X1,Y1)。
在步骤3034中,对每个采样点的第二透视坐标进行从透视坐标系到纹理坐标系的变换处理,得到每个采样点的第二纹理坐标。
作为示例,在进行透视变换之后需要从新坐标系变换回UV坐标系(纹理坐标系),参见公式(3)和公式(4):
其中,x代表正方形中采样点n在新坐标系的x轴坐标,y代表正方形中采样点n在新坐标系的y轴坐标,X1代表拉伸后采样点n在新坐标系的x轴坐标,Y1代表拉伸后采样点n在新坐标系的y轴坐标,X2代表拉伸后采样点n在UV坐标系的U轴坐标,Y2代表拉伸后采样点n在UV坐标系的V轴坐标。
在步骤304中,基于每个采样点的第二纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据。
在一些实施例中,步骤304中基于每个采样点的第二纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据,可以通过以下技术方案实现:基于每个采样点的第二纹理坐标,在原始图像进行初始采样处理,得到每个采样点的初始采样结果;对每个采样点的初始采样结果进行竖直方向的反走样处理,得到每个采样点的透视渲染数据。通过本申请实施例可以对采样结果进行修正以避免图像走样,提升后续渲染效果。
作为示例,在进行透视化坐标变换处理之后,基于第二纹理坐标对原始图像进行采样处理,得到初始采样结果,初始采样结果包括从原始图像获得的对应第二纹理坐标的红黄蓝三个颜色值以及透明度值,此时用户界面的上下边界可能由水平变成斜线,会导致出现走样效果,由于透视效果带来的走样均在水平方向上。因此可以在竖直方向上利用相邻像素进行基于高斯模糊的反走样处理。
在一些实施例中,上述基于每个采样点的第二纹理坐标,在原始图像进行初始采样处理,得到每个采样点的初始采样结果,可以通过以下技术方案实现:针对每个采样点执行以下处理:获取原始图像中对应第二纹理坐标的基础颜色值以及透明度值;当第二纹理坐标不处于界面纹理区域对应的坐标范围外时,将基础颜色值以及透明度值组成采样点的初始采样结果;当第二纹理坐标处于界面纹理区域对应的坐标范围外时,将采样点的透明度值更新为零值,并将基础颜色值以及经过更新的透明度值组成采样点的初始采样结果。通过边界检测可以将界面纹理区域的坐标范围之外的采样点的透明度清零,从而保证后续用于渲染的采样结果对应的采样点均是来源于梯形内。
作为示例,在进行抗锯齿处理之前,需要针对a通道进行边界检测,将超出界面纹理区域的坐标范围的采样点的透明度清零。如果采样点A超出界面纹理区域的坐标范围(即X2<0,或者X2>1,或者Y2<0,或者Y2>1),那么在屏幕上采样点A是在梯形之外的点,由于最终需要形成等腰梯形的视觉下效果,梯形之外应该是没有颜色的,所以透明度需要清零。
在一些实施例中,上述对每个采样点的初始采样结果进行竖直方向的反走样处理,得到每个采样点的透视渲染数据,可以通过以下技术方案实现:针对每个采样点执行以下处理:当采样点在竖直方向上具有两个相邻采样点时,获取每个相邻采样点的初始采样结果,将两个相邻采样点的初始采样结果与采样点的初始采样结果进行融合处理,得到采样点的透视渲染数据;当采样点在竖直方向上具有一个相邻采样点时,获取一个相邻采样点的初始采样结果,将一个相邻采样点的初始采样结果与采样点的初始采样结果进行融合处理,得到采样点的透视渲染数据。通过对采样点进行竖直方向上的相邻像素点的采样结果融合处理,从而图像在竖直方向会实现抗锯齿的效果。
作为示例,针对某个采样点,将竖直位置上前一个像素点的采样值(初始采样结果)、后一个像素点的采样值(初始采样结果)、以及该采样点的采样值(初始采样结果)进行加权平均,加权平均之后得到的图像在竖直方向会略微模糊,从而实现抗锯齿的效果。抗锯齿后每个采样点的透视渲染颜色参见公式(5):
其中,等式左边的rgba(X2,Y2)是抗锯齿后某个采样点A的最终的渲染颜色值,等式右边的rgba(X2,(Y-0.5*PixelSize)2)代表采样点A在竖直方向上的下方相邻采样点的采样值,等式右边的rgba(X2,Y2)代表采样点A的采样值,等式右边的rgba(X2,(Y+0.5*PixelSize)2)代表采样点A在竖直方向上的上方相邻采样点的采样值。边界走样处理后,就可以直接将抗锯齿后的最终渲染颜色渲染到屏幕上,得到最终用于输出的渲染图像。
在步骤305中,基于每个采样点的透视渲染数据,将具有透视效果的用户界面渲染至屏幕。
将计算得到的透视渲染数据通过数据总线传给图形硬件,以使图形硬件进行像素点的填充计算,渲染到屏幕的帧缓冲区。
参见图5C,图5C是本申请实施例提供的虚拟场景的图像处理方法的流程示意图,将结合图5C示出的步骤进行说明。
在步骤401中,在人机交互界面中显示虚拟场景。
在步骤402中,在人机交互界面中显示虚拟场景的用户界面,其中,用户界面具有透视效果,且用户界面是通过执行本申请实施例提供的虚拟场景的图像处理方法得到的。
本申请实施例通过在二维空间中对屏幕空间的原始图像进行采样来达到三维透视效果。由于采用纯二维屏幕空间的渲染方式,带来的开销仅为一次采样开销,由于完全是基于二维屏幕空间的后处理,因此处理时机灵活,即插即用,适合动态迭代的游戏开发场景。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
以模拟建筑修复的APP为例进行说明,服务器获取虚拟场景(待修复的建筑物,例如长城)的用户界面的原始图像,用户界面可以为用户的用户界面(例如修复界面,修复界面中包括多个修复控件);获取用户界面对应纹理坐标系的界面纹理区域,并根据界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系;获取界面纹理区域的每个采样点在透视坐标系的第一透视坐标,并对每个采样点的第一透视坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第一纹理坐标;基于每个采样点的第一纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据;基于每个采样点的透视渲染数据生成用户界面的具有透视效果的渲染图像,服务器将渲染图像发送至终端,以使得终端中游戏客户端运行时通过输出渲染图像向用户呈现出用户界面。
在一些实施例中,参见图6A-图6B,图6A-图6B是本申请实施例提供的虚拟场景的图像处理方法的界面示意图,本申请实施例提供的虚拟场景的图像处理方法可以应用于建筑修复APP中,通过本申请实施例提供的虚拟场景的图像处理方法可以在二维用户界面中实现三维的透视效果。图6A示出了未应用三维透视效果的二维用户界面,图6B示出了应用有三维透视效果的二维用户界面。
本申请实施例提供的虚拟场景的图像处理方法的基本原理在于:根据Y轴旋转的透视效果,最终图像呈等腰梯形,从而计算屏幕空间中的等腰梯形对应采样空间中的UV坐标,然后根据计算结果对原始的二维用户界面的原始图像进行采样。
参见图7,图7是本申请实施例提供的虚拟场景的图像处理方法的流程示意图,在步骤201中,获取原始用户界面的图像,在步骤202中,构建新坐标系(透视坐标系),在步骤203中,将对应新坐标系的透视梯形映射到纹理坐标系的正方形中,在步骤204中,执行边界走样处理,得到每个采样点的渲染颜色值。
下面详细阐述具体的实现过程:
针对步骤201,具体而言是通过渲染引擎(例如Unreal引擎)的渲染管线渲染出二维用户界面的原始图像作为待采样纹理,原始图像中的二维用户界面不具有透视效果。
针对步骤202,首先构建新坐标系XOY,使其X轴穿过纹理坐标系(UV坐标系)下的点f(1,0.5),在新坐标系中点f表示为参见图8,图8是本申请实施例提供的虚拟场景的图像处理方法的透视梯形示意图,UV坐标默认以点m为原点;a指图8中梯形的斜边和x轴的夹角,根据透视的张角2a和设定的梯形上边长度h,构建出关于X轴对称的梯形,取梯形的两条斜边的交点作为新坐标系XOY的原点O(0,0)。
针对步骤203,步骤203的目的是使用梯形去表示出纹理坐标系中界面纹理区域[0,1]的所有内容,本质就是将梯形拉伸成正方形,正方形代表整个屏幕(屏幕可以是长方形,因此也可以拉伸成长方形),然后根据正方形的坐标去采样纹理。
设定正方形边长为1,设定的梯形上边长度为h,针对正方形中的每个采样点,计算采样点在新坐标系的坐标,例如,可以得出m点在新坐标系下的坐标为n点在新坐标系下的坐标为/>将点n拉伸至点m,可以参见公式(6)和公式(7):
其中,x代表正方形中采样点n在新坐标系的x轴坐标,y代表正方形中采样点n在新坐标系的y轴坐标,X1代表拉伸后采样点n在新坐标系的x轴坐标,Y1代表拉伸后采样点n在新坐标系的y轴坐标。
然后从新坐标系变换回UV坐标系(纹理坐标系),参见公式(8)和公式(9):
其中,x代表正方形中采样点n在新坐标系的x轴坐标,y代表正方形中采样点n在新坐标系的y轴坐标,X1代表拉伸后采样点n在新坐标系的x轴坐标,Y1代表拉伸后采样点n在新坐标系的y轴坐标,X2代表拉伸后采样点n在UV坐标系的U轴坐标,Y2代表拉伸后采样点n在UV坐标系的V轴坐标。
通过将梯形拉伸为正方形,可以得到如图7所示的正方形,例如将正方形内的n点拉伸至m点的位置,然后利用这个正方形的坐标去采样纹理。由于最终采样纹理的时候利用的参数需要为UV坐标,所以需要通过公式(8)以及公式(9)计算拉伸后在UV坐标系的坐标值。
针对步骤204,通过步骤203实现透视处理之后,用户界面的上下边界由水平变成斜线,导致出现走样效果,由于透视效果带来的走样均在水平方向上。因此可以在竖直方向上利用相邻像素进行基于高斯模糊的反走样处理。
在进行抗锯齿处理之前,需要针对a通道进行边界检测,将超出纹理坐标范围的采样点的透明度清零。如果采样点A超出纹理坐标范围(即X2<0,或者X2>1,或者Y2<0,或者Y2>1),那么在屏幕上采样点A是在梯形之外的点。最终需要梯形效果,梯形之外应该是没有颜色的,所以透明度需要清零。
针对某个采样点,将竖直位置上前一个像素点的采样值、后一个像素点的采样值、以及该采样点的采样值进行加权平均,加权平均之后得到的图像在竖直方向会略微模糊,从而实现抗锯齿的效果。抗锯齿后每个采样点的最终颜色参见公式(10):
其中,等式左边的rgba(X2,Y2)是抗锯齿后某个采样点A的最终的渲染颜色值,等式右边的rgba(X2,(Y-0.5*PixelSize)2)代表采样点A在竖直方向上的下方相邻采样点的采样值,等式右边的rgba(X2,Y2)代表采样点A的采样值,等式右边的rgba(X2,(Y+0.5*PixelSize)2)代表采样点A在竖直方向上的上方相邻采样点的采样值。边界走样处理后,就可以直接将抗锯齿后的最终渲染颜色渲染到屏幕上,得到最终用于输出的渲染图像。
本申请实施例通过在二维空间中对屏幕空间的原始图像进行采样来达到三维透视效果。由于采用纯二维屏幕空间的渲染方式,带来的开销仅为一次采样开销,由于完全是基于二维屏幕空间的后处理,因此处理时机灵活,即插即用,适合动态迭代的游戏开发场景。
下面继续说明本申请实施例提供的虚拟场景的图像处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器450的虚拟场景的图像处理装置455中的软件模块可以包括:获取模块4551,用于获取虚拟场景的用户界面的原始图像;坐标模块4552,用于获取用户界面对应纹理坐标系的界面纹理区域,并获取界面纹理区域的每个采样点在纹理坐标系的第一纹理坐标;变换模块4553,用于对每个采样点在纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个采样点在纹理坐标系的第二纹理坐标;采样模块4554,用于基于每个采样点的第二纹理坐标,在原始图像进行采样处理,得到每个采样点的透视渲染数据;渲染模块4555,用于基于每个采样点的透视渲染数据,将具有透视效果的用户界面渲染至屏幕。
在一些实施例中,获取模块4551,还用于:调用渲染引擎对虚拟场景的用户界面进行平面渲染处理,得到用于输出的原始图像,其中,虚拟场景是三维虚拟场景,且原始图像中不具有透视效果。
在一些实施例中,变换模块4553,还用于:根据界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系;将每个采样点在纹理坐标系的第一纹理坐标进行转换处理,得到每个采样点在透视坐标系的第一透视坐标;对每个采样点的第一透视坐标进行基于透视图形的变换处理,得到每个采样点的第二透视坐标;对每个采样点的第二透视坐标进行从透视坐标系到纹理坐标系的变换处理,得到每个采样点的第二纹理坐标。
在一些实施例中,变换模块4553,还用于:获取经过指定纹理坐标所指向的目标点,且与纹理坐标系的水平轴平行的目标水平轴;获取处于界面纹理区域内,关于目标水平轴对称,且符合透视参数的透视图形;获取透视图形在目标水平轴的聚焦点作为原点;获取垂直于目标水平轴,且经过原点的目标竖直轴;生成由目标竖直轴以及目标水平轴构成的透视坐标轴。
在一些实施例中,当透视参数包括第一透视长度、第二透视长度以及透视夹角,变换模块4553,还用于:获取以目标点为中点,长度为第一透视长度,且垂直于目标水平轴的梯形底边;获取与梯形底边平行,长度为第二透视长度,且被目标水平轴等分的梯形上边;将由梯形上边、梯形底边以及透视夹角表征的等腰梯形作为透视图形。
在一些实施例中,将每个采样点在纹理坐标系的第一纹理坐标进行转换处理,得到每个采样点在透视坐标系的第一透视坐标之前,变换模块4553,还用于:获取用户界面的水平边像素数目以及竖直边像素数目;基于水平边像素数目以及竖直边像素数目对界面纹理区域进行网格划分处理,得到界面纹理区域的多个交叉点作为采样点。
在一些实施例中,当透视图形是等腰梯形时,变换模块4553,还用于:获取在透视坐标系中等腰梯形与界面纹理区域之间的透视坐标转换关系;基于透视坐标转换关系对每个采样点的第一透视坐标进行变换处理,得到每个采样点的第二透视坐标。
在一些实施例中,采样模块4554,还用于:基于每个采样点的第二纹理坐标,在原始图像进行初始采样处理,得到每个采样点的初始采样结果;对每个采样点的初始采样结果进行竖直方向的反走样处理,得到每个采样点的透视渲染数据。
在一些实施例中,采样模块4554,还用于:针对每个采样点执行以下处理:获取原始图像中对应第二纹理坐标的基础颜色值以及透明度值;当第二纹理坐标不处于界面纹理区域对应的坐标范围外时,将基础颜色值以及透明度值组成采样点的初始采样结果;当第二纹理坐标处于界面纹理区域对应的坐标范围外时,将采样点的透明度值更新为零值,并将基础颜色值以及经过更新的透明度值组成采样点的初始采样结果。
在一些实施例中,采样模块4554,还用于:针对每个采样点执行以下处理:当采样点在竖直方向上具有两个相邻采样点时,获取每个相邻采样点的初始采样结果,将两个相邻采样点的初始采样结果与采样点的初始采样结果进行融合处理,得到采样点的透视渲染数据;当采样点在竖直方向上具有一个相邻采样点时,获取一个相邻采样点的初始采样结果,将一个相邻采样点的初始采样结果与采样点的初始采样结果进行融合处理,得到采样点的透视渲染数据。
下面继续说明本申请实施例提供的虚拟场景的图像处理装置的实施为软件模块的示例性结构,在一些实施例中,存储在存储器的虚拟场景的图像处理装置中的软件模块可以包括:显示模块,用于在人机交互界面中显示虚拟场景;显示模块,还用于在人机交互界面中显示虚拟场景的用户界面,其中,用户界面具有透视效果,且用户界面是通过执行本申请实施例提供的虚拟场景的图像处理方法得到的。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景的图像处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟场景的图像处理方法,例如,如图5A-5C示出的虚拟场景的图像处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例对采样点的纹理坐标进行基于透视图形的变换,并基于变换后的第二纹理坐标对用户界面的原始图像进行采样来达到透视效果。由于完全是对用户界面进行采样渲染,可以节省采样开销,提升处理时机的灵活度。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种虚拟场景的图像处理方法,其特征在于,所述方法包括:
获取所述虚拟场景的用户界面的原始图像;
获取所述用户界面对应纹理坐标系的界面纹理区域,并获取所述界面纹理区域的每个采样点在所述纹理坐标系的第一纹理坐标;
对每个所述采样点在所述纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个所述采样点在所述纹理坐标系的第二纹理坐标;
基于每个所述采样点的第二纹理坐标,在所述原始图像进行采样处理,得到每个所述采样点的透视渲染数据;
基于每个所述采样点的透视渲染数据,将具有透视效果的用户界面渲染至屏幕。
2.根据权利要求1所述的方法,其特征在于,所述对每个所述采样点在所述纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个所述采样点在所述纹理坐标系的第二纹理坐标,包括:
根据所述界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系;
将每个所述采样点在所述纹理坐标系的第一纹理坐标进行转换处理,得到每个所述采样点在所述透视坐标系的第一透视坐标;
对每个所述采样点的第一透视坐标进行基于所述透视图形的变换处理,得到每个所述采样点的第二透视坐标;
对每个所述采样点的第二透视坐标进行从所述透视坐标系到所述纹理坐标系的变换处理,得到每个所述采样点的第二纹理坐标。
3.根据权利要求2所述的方法,其特征在于,所述根据所述界面纹理区域的指定纹理坐标以及透视参数,构建透视坐标系,包括:
获取经过所述指定纹理坐标所指向的目标点,且与所述纹理坐标系的水平轴平行的目标水平轴;
获取处于所述界面纹理区域内,关于所述目标水平轴对称,且符合所述透视参数的透视图形;
获取所述透视图形在所述目标水平轴的聚焦点作为原点;
获取垂直于所述目标水平轴,且经过所述原点的目标竖直轴;
生成由所述目标竖直轴以及所述目标水平轴构成的透视坐标轴。
4.根据权利要求3所述的方法,其特征在于,当所述透视参数包括第一透视长度、第二透视长度以及透视夹角,所述获取处于所述界面纹理区域内,关于所述目标水平轴对称,且符合所述透视参数的透视图形,包括:
获取以所述目标点为中点,长度为所述第一透视长度,且垂直于所述目标水平轴的梯形底边;
获取与所述梯形底边平行,长度为所述第二透视长度,且被所述目标水平轴等分的梯形上边;
将由所述梯形上边、所述梯形底边以及透视夹角表征的等腰梯形作为所述透视图形。
5.根据权利要求2所述的方法,其特征在于,所述将每个所述采样点在所述纹理坐标系的第一纹理坐标进行转换处理,得到每个所述采样点在所述透视坐标系的第一透视坐标之前,所述方法还包括:
获取所述用户界面的水平边像素数目以及竖直边像素数目;
基于所述水平边像素数目以及所述竖直边像素数目对所述界面纹理区域进行网格划分处理,得到所述界面纹理区域的多个交叉点作为所述采样点。
6.根据权利要求2所述的方法,其特征在于,当所述透视图形是等腰梯形时,所述对每个所述采样点的第一透视坐标进行基于所述透视图形的变换处理,得到每个所述采样点的第二透视坐标,包括:
获取在所述透视坐标系中所述等腰梯形与所述界面纹理区域之间的透视坐标转换关系;
基于所述透视坐标转换关系对每个所述采样点的第一透视坐标进行变换处理,得到每个所述采样点的第二透视坐标。
7.根据权利要求1所述的方法,其特征在于,所述基于每个所述采样点的第二纹理坐标,在所述原始图像进行采样处理,得到每个所述采样点的透视渲染数据,包括:
基于每个所述采样点的第二纹理坐标,在所述原始图像进行初始采样处理,得到每个所述采样点的初始采样结果;
对每个所述采样点的初始采样结果进行竖直方向的反走样处理,得到每个所述采样点的透视渲染数据。
8.根据权利要求7所述的方法,其特征在于,所述基于每个所述采样点的第二纹理坐标,在所述原始图像进行初始采样处理,得到每个所述采样点的初始采样结果,包括:
针对每个所述采样点执行以下处理:
获取所述原始图像中对应所述第二纹理坐标的基础颜色值以及透明度值;
当所述第二纹理坐标不处于所述界面纹理区域对应的坐标范围外时,将所述基础颜色值以及所述透明度值组成所述采样点的初始采样结果;
当所述第二纹理坐标处于所述界面纹理区域对应的坐标范围外时,将所述采样点的透明度值更新为零值,并将所述基础颜色值以及经过更新的透明度值组成所述采样点的初始采样结果。
9.根据权利要求7所述的方法,其特征在于,所述对每个所述采样点的初始采样结果进行竖直方向的反走样处理,得到每个所述采样点的透视渲染数据,包括:
针对每个采样点执行以下处理:
当所述采样点在竖直方向上具有两个相邻采样点时,获取每个所述相邻采样点的初始采样结果,将所述两个相邻采样点的初始采样结果与所述采样点的初始采样结果进行融合处理,得到所述采样点的透视渲染数据;
当所述采样点在竖直方向上具有一个相邻采样点时,获取所述一个相邻采样点的初始采样结果,将所述一个相邻采样点的初始采样结果与所述采样点的初始采样结果进行融合处理,得到所述采样点的透视渲染数据。
10.一种虚拟场景的图像处理方法,其特征在于,所述方法包括:
在人机交互界面中显示所述虚拟场景;
在所述人机交互界面中显示所述虚拟场景的用户界面,其中,所述用户界面具有透视效果,且所述用户界面是通过执行权利要求1至9任一项所述的虚拟场景的图像处理方法渲染得到的。
11.一种虚拟场景的图像处理装置、其特征在于,所述装置包括:
获取模块,用于获取虚拟场景的用户界面的原始图像;
坐标模块,用于获取用户界面对应纹理坐标系的界面纹理区域,并获取所述界面纹理区域的每个采样点在所述纹理坐标系的第一纹理坐标;
变换模块,用于对每个所述采样点在所述纹理坐标系的第一纹理坐标进行基于透视图形的透视变换处理,得到每个所述采样点在所述纹理坐标系的第二纹理坐标;
采样模块,用于基于每个所述采样点的第二纹理坐标,在所述原始图像进行采样处理,得到每个所述采样点的透视渲染数据;
渲染模块,用于基于每个所述采样点的透视渲染数据,将具有透视效果的用户界面渲染至屏幕。
12.一种虚拟场景的图像处理装置,其特征在于,所述装置包括:
显示模块,用于在人机交互界面中显示所述虚拟场景;
所述显示模块,还用于在所述人机交互界面中显示所述虚拟场景的用户界面,其中,所述用户界面具有透视效果,且所述用户界面是通过执行权利要求1至9任一项所述的虚拟场景的图像处理方法渲染得到的。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9或10任一项所述的虚拟场景的图像处理方法。
14.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至9或10任一项所述的虚拟场景的图像处理方法。
15.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至9或10任一项所述的虚拟场景的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210827405.7A CN117437346A (zh) | 2022-07-13 | 2022-07-13 | 图像处理方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210827405.7A CN117437346A (zh) | 2022-07-13 | 2022-07-13 | 图像处理方法、装置、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117437346A true CN117437346A (zh) | 2024-01-23 |
Family
ID=89544928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210827405.7A Pending CN117437346A (zh) | 2022-07-13 | 2022-07-13 | 图像处理方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117437346A (zh) |
-
2022
- 2022-07-13 CN CN202210827405.7A patent/CN117437346A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7085012B2 (ja) | マップレンダリング方法、装置、コンピュータ装置及びコンピュータプログラム | |
CN111145326B (zh) | 三维虚拟云模型的处理方法、存储介质、处理器及电子装置 | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
CN107358643B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN108986200B (zh) | 图形渲染的预处理方法及系统 | |
CN110969685A (zh) | 使用渲染图的可定制渲染管线 | |
JP2022550555A (ja) | 画像処理方法、装置、電子機器及びコンピュータプログラム | |
CN110917617B (zh) | 水波纹图像的生成方法、装置、设备及存储介质 | |
WO2023231537A1 (zh) | 地形图像渲染方法、装置、设备及计算机可读存储介质及计算机程序产品 | |
WO2023197762A1 (zh) | 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN108335342A (zh) | 在web浏览器上进行多人绘画的方法、设备和计算机程序产品 | |
CN112686939B (zh) | 景深图像的渲染方法、装置、设备及计算机可读存储介质 | |
CN117611703A (zh) | 弹幕字符的渲染方法、装置、设备、存储介质及程序产品 | |
WO2023202254A1 (zh) | 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN113192173B (zh) | 三维场景的图像处理方法、装置及电子设备 | |
CN117437346A (zh) | 图像处理方法、装置、电子设备、存储介质及程序产品 | |
CN114428573B (zh) | 特效图像处理方法、装置、电子设备及存储介质 | |
CN112862981B (zh) | 用于呈现虚拟表示的方法和装置、计算机设备和存储介质 | |
CN114399580A (zh) | 一种图像渲染方法、装置、设备、存储介质及程序产品 | |
WO2021155688A1 (zh) | 图片处理方法、装置、存储介质及电子设备 | |
WO2023168999A1 (zh) | 一种虚拟场景的渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
WO2023216771A1 (zh) | 虚拟天气交互方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN113487708B (zh) | 基于图形学的流动动画实现方法、存储介质及终端设备 | |
CN117409128A (zh) | 图像处理方法、装置、电子设备、存储介质及程序产品 | |
CN117528171A (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 |