掌桥专利:专业的专利平台
掌桥专利
首页

一种图像处理方法、装置、存储介质及计算机设备

文献发布时间:2023-06-19 11:09:54


一种图像处理方法、装置、存储介质及计算机设备

技术领域

本申请涉及计算机领域,具体涉及一种图像处理方法、装置、计算机可读存储介质及计算机设备。

背景技术

近年来,伴随计算机设备技术的发展以及普及,涌现出越来越多具备三维虚拟环境的应用程序,如:虚拟现实应用程序、三维地图程序、军事仿真程序、太空航行类游戏等。

现有技术中,在太空航行类游戏中,当虚拟飞船以超光速的速度飞行时,会产生多普勒效应,即处于飞船行驶方向的虚拟对象会发生蓝移,未处于飞船行驶方向的虚拟对象会发生红移。

在对现有技术的研究和实践过程中,本申请的发明人发现,现有技术中未存在可以模拟多普勒效应的图像处理方案。

发明内容

本申请实施例提供一种图像处理方法及装置,可以提升对图像进行处理以模拟多普勒效应。

为解决上述技术问题,本申请实施例提供以下技术方案:

一种图像处理方法,包括:

获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;

对所述原始环境画面进行图像预处理,得到图像预处理后的待合成图像;

基于所述目标视角方向以及所述行驶方向,确定目标效果遮罩图;

将所述待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。

一种图像处理装置,包括:

第一获取模块,用于获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;

预处理模块,用于对所述原始环境画面进行图像预处理,得到图像预处理后的待合成图像;

第一确定模块,用于基于所述目标视角方向以及所述行驶方向,确定目标效果遮罩图;

合成模块,用于将所述待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。

在一些实施例中,所述预处理模块,包括:

去色子模块,用于对所述原始环境画面进行去色处理,得到目标环境画面;

第一采样子模块,用于按照第一方向对所述目标环境画面进行预设次数采样,相邻两次采样相差一个像素;

第二采样子模块,用于按照第二方向对所述目标环境画面进行预设次数采样,相邻两次采样相差一个像素,且所述第一方向与所述第二方向的方向相反;

第一叠加子模块,用于将采样出的多个图像与所述目标环境画面进行叠加,得到待合成图像。

在一些实施例中,所述去色子模块,用于:

对所述原始环境画面进行降采样处理,得到缩小尺寸的环境画面;

将所述缩小尺寸的环境画面中每一像素的第一颜色值、第二颜色值以及第三颜色值分别乘以其所对应的权重值,得到目标环境画面;

所述第一叠加子模块,用于:

将采样出的多个图像与所述目标环境画面进行叠加,得到叠加后环境画面;

对所述叠加后环境画面进行升采样处理,得到与所述原始环境画面尺寸相同的待合成图像。

在一些实施例中,所述第一确定模块,包括:

第一确定子模块,用于确定所述目标视角方向的目标视角方向向量,以及所述行驶方向的行驶方向向量;

第一计算子模块,用于计算所述目标视角方向向量与所述行驶方向向量的点积,得到第一结果;

第二确定子模块,用于根据所述第一结果从多个候选效果遮罩图中确定目标效果遮罩图。

在一些实施例中,所述第一确定模块还包括:

第一获取子模块,用于获取所述待合成图像的尺寸信息;

构建子模块,用于按照所述尺寸信息构建一遮罩模板,并确定所述遮罩模板的中心像素点至其他像素点的距离,其他像素点为组成所述遮罩模板的所有像素点中除所述中心像素点以外的其他像素点;

分布子模块,用于按照预设平滑阶梯函数将所述遮罩模板的中心像素点至其他像素点的距离平均分布至第一预设距离区间,得到所述中心像素点至其他像素点的距离在所述预设距离区间的对应值;

第三计算子模块,用于计算所述中心像素点至其他像素点的距离在所述第一预设距离区间的对应值与第一预设强度值的乘积,得到其他像素点的第一颜色强度值;

第三确定子模块,用于确定第一颜色强度值与多个预设颜色混色值的乘积,得到其他像素点在多个预设颜色中对应的第二结果;

第四确定子模块,用于根据其他像素点在多个预设颜色中对应的第二结果确定出多个候选效果遮罩图。

在一些实施例中,所述第一确定模块还包括:

第五确定子模块,用于根据所述第一颜色强度值以及所述中心像素点确定出黑白遮罩图;

第六确定子模块,用于在所述三维虚拟环境中确定出所述原始环境画面中每一像素点对应的候选位置,得到多个候选位置;

第二获取子模块,用于获取每一候选位置与所述目标对象之间的候选距离;

第七确定子模块,用于将候选距离处于第二预设距离区间的距离,确定为目标距离,并将所述目标距离对应的候选位置确定为目标位置;

第八确定子模块,用于确定所述目标位置在所述黑白遮罩图上对应的目标像素点;

第四计算子模块,用于计算所述目标距离与第二预设强度值的乘积,得到每一目标像素点对应的第二颜色强度值;

第五计算子模块,用于计算所述目标像素点对应的第一颜色强度值与所述第二颜色强度值之和,得到第三计算结果,并将所述第三计算结果确定为所述目标像素点对应的第一颜色强度值。

在一些实施例中,所述合成模块,包括:

第二叠加子模块,用于对所述目标效果遮罩与所述待合成图像进行叠加处理,得到目标效果颜色值;

第一获取子模块,用于获取所述目标效果遮罩的目标颜色混合值;

第二确定子模块,用于基于所述第一结果以及所述目标颜色混合值,确定混合因子;

插值子模块,用于基于所述目标效果颜色值、混合因子对所述原始环境画面的原始颜色值进行插值处理,得到目标效果的环境画面。

在一些实施例中,所述插值子模块,包括:

第六计算子模块,用于计算所述原始环境画面的原始颜色值与所述混合因子的乘积,得到第四结果;

第七计算子模块,用于计算预设参数与所述混合因子的差值,得到第五结果;

第八计算子模块,用于计算所述目标效果颜色值与所述第五结果的乘积,得到第六结果;

第九确定子模块,用于根据所述第四结果与所述第六结果的和,确定出目标效果的环境画面。

在一些实施例中,在所述三维虚拟环境中设置有一目标对象,通过所述目标对象以目标视角方向观察三维虚拟环境,以得到所述原始环境画面,所述装置还包括:

第二获取模块,用于获取所述目标对象的最远显示距离以及最近显示距离;

第二确定模块,用于确定所述三维虚拟环境中处于所述目标视角方向上的虚拟对象至所述目标对象的距离;

第一显示模块,用于若虚拟对象至所述目标对象的距离大于所述最远显示距离,则禁止虚拟对象在所述目标效果的环境画面中显示;

第二显示模块,用于若虚拟对象至所述目标对象的距离小于所述最近显示距离,则禁止虚拟对象在所述目标效果的环境画面中显示。

一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述图像处理方法中的步骤。

一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述图像处理方法中的步骤。

本申请实施例通过获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;对所述原始环境画面进行图像预处理,得到图像预处理后的待合成图像;基于所述目标视角方向以及所述行驶方向,确定目标效果遮罩图;将所述待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。以此,通过对原始环境画面进行预处理,并基于待合成图像、目标视角方向以及行驶方向模拟出多普勒效应时所产生的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a为本申请实施例提供的图像处理方法的场景示意图。

图1b为本申请实施例提供的图像处理方法的流程示意图。

图1c为本申请实施例提供的原始环境画面的示意图。

图1d为本申请实施例提供的待合成图像的示意图。

图1e为本申请实施例提供的黑白遮罩图的示意图。

图1f为本申请实施例提供的带有深度效果的黑白遮罩图。

图1g为本申请实施例提供的目标效果的环境画面的示意图。

图1h为本申请实施例提供的带有深度效果以及目标效果的环境画面。

图2a为本申请实施例提供的图像处理方法的另一流程示意图。

图2b为本申请实施例提供的图像处理方法中制作候选效果遮罩图的流程示意图。

图3为本申请实施例提供的图像处理装置的结构示意图。

图4为本申请实施例提供的计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种图像处理方法、装置、存储介质及计算机设备。具体地,本申请实施例的图像处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备,终端设备还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。

例如,当该图像处理方法运行于终端时,终端设备存储有游戏应用程序并通过显示组件呈现游戏中的部分游戏场景。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。

例如,当该图像处理方法运行于服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,图像处理方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑、个人数字助理等,但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。

请参阅图1a,图1a为本申请实施例提供的图像处理装置的系统示意图。该系统可以包括至少一个终端1000,至少一个服务器2000,至少一个数据库3000,以及网络4000。用户持有的终端1000可以通过网络4000连接到不同游戏的服务器。终端1000是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品。另外,终端1000具有用于感测和获得用户通过在一个或者多个触控显示屏的多个点执行的触摸或者滑动操作的输入的一个或者多个多触敏屏幕。另外,当系统包括多个终端1000、多个服务器2000、多个网络4000时,不同的终端1000可以通过不同的网络4000、通过不同的服务器2000相互连接。网络4000可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,不同的终端1000之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。例如,多个用户可以通过不同的终端1000在线从而通过适当网络连接并且相互同步,以支持多玩家游戏。另外,该系统可以包括多个数据库3000,多个数据库3000耦合到不同的服务器2000,并且可以将与游戏环境有关的信息在不同用户在线进行多玩家游戏时连续地存储于数据库3000中。

本申请实施例提供了一种图像处理方法,该方法可以由终端或服务器执行。本申请实施例以图像处理方法由终端执行为例来进行说明。其中,该终端包括显示组件和处理器,该显示组件用于呈现图形用户界面以及接收用户作用于显示组件产生的操作指令。用户通过显示组件对图形用户界面进行操作时,该图形用户界面可以通过响应于接收到的操作指令控制终端本地的内容,也可以通过响应于接收到的操作指令控制对端服务器的内容。例如,用户作用于图形用户界面产生的操作指令包括用于启动游戏应用程序的指令,处理器被配置为在接收到用户提供的启动游戏应用程序的指令之后启动游戏应用程序。此外,处理器被配置为在触控显示屏上渲染和绘制与游戏相关联的图形用户界面。触控显示屏是能够感测屏幕上的多个点同时执行的触摸或者滑动操作的多触敏屏幕。用户在使用手指在图形用户界面上执行触控操作,图形用户界面在检测到触控操作时,控制游戏的图形用户界面中的不同虚拟对象执行与触控操作对应的动作。例如,该游戏可以为休闲游戏、动作游戏、角色扮演游戏、策略游戏、体育游戏、益智游戏、第一人称射击游戏(First personshooting game,FPS)等游戏中的任一种。其中,游戏可以包括在图形用户界面上绘制的游戏的虚拟场景。此外,游戏的虚拟场景中可以包括由用户(或玩家)控制的一个或多个虚拟对象,诸如虚拟角色。另外,游戏的虚拟场景中还可以包括一个或多个障碍物,诸如栏杆、沟壑、墙壁等,以限制虚拟对象的移动,例如将一个或多个对象的移动限制到虚拟场景内的特定区域。可选地,游戏的虚拟场景还包括一个或多个元素,诸如技能、分值、角色健康状态、能量等,以向玩家提供帮助、提供虚拟服务、增加与玩家表现相关的分值等。此外,图形用户界面还可以呈现一个或多个指示器,以向玩家提供指示信息。例如,游戏可以包括玩家控制的虚拟对象和一个或多个其他虚拟对象(诸如敌人角色)。在一个实施例中,一个或多个其他虚拟对象由游戏的其他玩家控制。例如,一个或多个其他虚拟对象可以由计算机控制,诸如使用人工智能(AI)算法的机器人,实现人机对战模式。例如,虚拟对象拥有游戏玩家用来实现目标的各种技能或能力。例如虚拟对象拥有可用于从游戏中消除其他对象的一种或多种武器、道具、工具等。这样的技能或能力可由游戏的玩家使用与终端的触控显示屏的多个预设触控操作之一来激活。处理器可以被配置为响应于用户的触控操作产生的操作指令来呈现对应的游戏画面。

需要说明的是,图1a所示的图像处理系统的系统示意图仅仅是一个示例,本申请实施例描述的图像处理系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着图像处理系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

在本实施例中,将从图像处理装置的角度进行描述,该图像处理装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的计算机设备中。

请参阅图1b,图1b为本申请实施例提供的图像处理方法的流程示意图。该图像处理方法包括:

在步骤101中,获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向。

其中,图形用户界面所展示的为游戏场景中的虚拟环境,虚拟环境为应用程序在终端上运行时提供的虚拟环境,其可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,或者纯虚构环境。虚拟人物观察虚拟环境时所展现出的环境画面为由摄像机模型采集,以太空航行类游戏为例,当处于第一人称视角时,摄像机模型位于虚拟人物的头部或者颈部,当处于第三人称视角时,摄像机模型位于虚拟人物的后方。目标视角方向即为在游戏中由用户的触控操作所确定的摄像机模型的摄像方向。具体的,原始环境画面如图1c所示,其中,图1c为带有多种色彩的原始环境画面,例如:星球呈现黄色,太空呈现蓝色以及红色。

具体的,在太空航行类游戏中,虚拟飞行器可以为虚拟飞船等航空器。虚拟飞行器可以在太空中以一定航行速度行驶。航行速度在游戏中可设定为超过光速的速度。

多普勒效应是指物体辐射的波长因为波源和观测者的相对运动而产生变化。在运动的波源前面,波被压缩,波长变得较短,频率变得较高,即蓝移(blue shift);在运动的波源后面时,会产生相反的效应。波长变得较长,频率变得较低,即红移(red shift)。而蓝移的直观表现为:目标对象在观察靠近的虚拟对象时,虚拟对象会产生蓝色,红移的直观表现为:目标对象在观察远离的虚拟对象时,虚拟对象会产生红色。

在步骤102中,对原始环境画面进行图像预处理,得到图像预处理后的待合成图像。

其中,为了模拟虚拟飞行器在进行跃迁时产生的一些失真和眩晕感等特殊效果,可对原始环境画面进行图像预处理,从而模拟出虚拟对象在眩晕状态下观看虚拟环境时的虚拟画面。

在一些实施方式中,该对原始环境画面进行图像预处理,得到图像预处理后的待合成图像的步骤,包括:

(1)对该原始环境画面进行去色处理,得到目标环境画面;

(2)按照第一方向对该目标环境画面进行预设次数采样,相邻两次采样相差一个像素;

(3)按照第二方向对该目标环境画面进行预设次数采样,相邻两次采样相差一个像素,且该第一方向与该第二方向的方向相反;

(4)将采样出的多个图像与该目标环境画面进行叠加,得到待合成图像。

其中,由于蓝移及红移的效果为虚拟对象呈现蓝色或红色,因此可先对原始环境画面进行去色处理,目标环境画面即为去色后的环境画面,在后续对目标环境画面进行混色处理从而模拟出蓝移或红移的效果。具体的模糊效果,可通过横向采样的方式实现,按照第一方向及与第一方向相反的第二方向进行多次采样,且在按照同一方向进行采样时,每次采样均比上一次采样时偏移一个像素,并将多次采样得到的多个图像与目标环境画面进行叠加,得到如图1d所示的待合成图像。

具体的,图1d所呈现的待合成图像为对图1c的图像进行去色处理,得到目标环境画面,并对目标环境画面进行向左6次采样以及向右6次采样,并将12次采样得到的12个图像与目标环境画面进行叠加,最终所呈现出的待合成图像。

在一些实施方式中,该对该原始环境画面进行去色处理,得到目标环境画面的步骤,包括:

(1.1)对该原始环境画面进行降采样处理,得到缩小尺寸的环境画面;

(1.2)将该缩小尺寸的环境画面中每一像素的第一颜色值、第二颜色值以及第三颜色值分别乘以其所对应的权重值,得到目标环境画面;

该将采样出的多个图像与该目标环境画面进行叠加,得到待合成图像的步骤,包括:

(1.3)将采样出的多个图像与该目标环境画面进行叠加,得到叠加后环境画面;

(1.4)对该叠加后环境画面进行升采样处理,得到与该原始环境画面尺寸相同的待合成图像。

其中,为了在例如手机等移动终端上模拟多普勒效应,可对原始环境画面进行降采样处理,从而得到缩小尺寸的环境画面。降采样(downsampled)也称下采样(subsampled),即是采样点数减少。对于一幅N*M的图像来说,如果降采样系数为k,则即是在原图中每行每列每隔k个点取一个点组成一幅图像。以原始环境画面的像素点数量为1920*1080为例,降采样系数k为4,则降采样后的环境画面的像素点数量即为960*480。由于像素点数量的减少,图像尺寸也随之减小,因此后续对像素点进行处理时,可降低移动终端的处理压力,提高运行速率。

具体的,去色处理即为将图像上每个像素点中所携带的红、绿、蓝(R、G、B)颜色值分别乘以对应的权重值,从而得到目标环境画面。

例如:将图像中每个像素点中的红色颜色值乘以0.3,绿色颜色值乘以0.59,蓝色颜色值乘以0.11,从而将原始环境画面的颜色去除,得到目标环境画面。

其中,由于对原始环境画面进行降采样处理,使得目标环境画面的尺寸也随之减小,而为了确保游戏的画面质量,还需对采样目标环境画面得到的多个图像与原始环境画面叠加,得到的叠加后环境画面进行升采样处理,从而使得叠加后环境画面的像素点数量恢复成与原始环境画面中的像素点数量相同,也即尺寸相同。升采样(downsampled)也称图像插值(interpolation)。对于图像来说即是二维插值。如果升采样系数为k,即在原图n与n+1两点之间插入k-1个点,使其构成k分。二维插值即在每行插完之后对于每列也进行插值。

在步骤103中,基于目标视角方向以及行驶方向,确定目标效果遮罩图。

其中,目标效果遮罩图可以为蓝移时带有蓝色效果的遮罩图,或者为红移时带有红色效果的遮罩图。

在一些实施方式中,该基于该目标视角方向以及该行驶方向,确定目标效果遮罩图的步骤,包括:

(1)确定该目标视角方向的目标视角方向向量,以及该行驶方向的行驶方向向量;

(2)计算该目标视角方向向量与该行驶方向向量的点积,得到第一结果;

(3)根据该第一结果从多个候选效果遮罩图中确定目标效果遮罩图。

其中,目标视角方向向量(cameravector)以及行驶方向向量(shipvector)为三维虚拟空间中的空间向量,可分别代表目标对象的目标视角方向以及虚拟飞行器的行驶方向。确定目标视角方向向量以及行驶方向的行驶方向向量的目的在于确定目标视角方向与行驶方向所成夹角是否小于90°,若所成夹角小于90°,则说明原始虚拟环境画面中的虚拟对象在靠近虚拟飞行器,则为蓝移,此时需要对待合成图像进行混蓝色;若所成夹角大于90°,则说明原始虚拟环境画面中的虚拟对象在远离虚拟飞行器,此时需要对待合成图像进行混红色。候选效果遮罩图即为有蓝色效果的遮罩图以及红移时带有红色效果的遮罩图。确定目标视角方向与行驶方向所成夹角与90°的大小关系可通过计算目标视角方向向量以及行驶方向向量的点积,点积时可进行归一化处理,从而得到的值域在[-1,1]之间,此时当点积得到的第一结果为0时说明目标视角方向与行驶方向所成夹角为90°;若第一结果小于0,则说明说明目标视角方向与行驶方向所成夹角小于90°;若第一结果大于0,则说明说明目标视角方向与行驶方向所成夹角大于90°,为方便计算,可将值域缩小为[0,1],此时当第一结果为0.5时说明目标视角方向与行驶方向所成夹角为90°;若第一结果小于0.5,则说明说明目标视角方向与行驶方向所成夹角小于90°;若第一结果大于0.5,则说明说明目标视角方向与行驶方向所成夹角大于90°。

具体的,以第一结果小于0.5为例,则原始虚拟环境画面中的虚拟对象在靠近虚拟飞行器,则为蓝移,此时需要对待合成图像进行混蓝色,因此可根据第一结果从多个候选效果遮罩图中确定出目标效果遮罩图为蓝色遮罩。

在一些实施方式中,在该根据该第一结果从多个候选效果遮罩图中确定目标效果遮罩图的步骤之前,还包括:

(1)获取该待合成图像的尺寸信息;

(2)按照该尺寸信息构建一遮罩模板,并确定该遮罩模板的中心像素点至其他像素点的距离,其他像素点为组成该遮罩模板的所有像素点中除该中心像素点以外的其他像素点;

(3)按照预设平滑阶梯函数将该遮罩模板的中心像素点至其他像素点的距离平均分布至第一预设距离区间,得到该中心像素点至其他像素点的距离在该预设距离区间的对应值;

(4)计算该中心像素点至其他像素点的距离在该第一预设距离区间的对应值与第一预设强度值的乘积,得到其他像素点的第一颜色强度值;

(5)确定该第二结果与多个预设颜色混色值的乘积,得到其他像素点在多个预设颜色中对应的第二结果;

(6)根据其他像素点在多个预设颜色中对应的第二结果确定出多个候选效果遮罩图。

其中,生成候选效果遮罩的方式可以为:获取待合成图像的尺寸信息,尺寸信息可具体包括待合成图像的宽度与长度,并按照相同的宽度与长度构建出一遮罩模板。由于蓝移或红移时所观察到的环境画面中是从中心位置向外侧虚拟对象产生的蓝色或红色逐渐加深,因此需模拟出一颜色从中心位置向外侧逐渐加深的候选效果遮罩图。故需确定出遮罩模板中中心像素点到其他像素点的距离,其他像素点为组成该遮罩模板的所有像素点中除该中心像素点以外的其他像素点。预设平滑阶梯函数可以为smoothstep函数,其作用是将中心像素点到其他像素点的距离平均分布至[0,1]的区间内,从而使得虽然遮罩模板的长度与宽度不同,但遮罩模板中不同方向上的像素点当与中心点的距离成一定比例时,不同方向上的像素点的像素颜色值相同。计算该中心像素点至其他像素点的距离在该第一预设距离区间的对应值与第一预设强度值的乘积,得到其他像素点的第一颜色强度值,第一颜色强度值即为其他像素点的颜色值。预设强度值可理解为黑色或白色的颜色强度值的强度。

具体的,如图1e所示,图1e为根据第一颜色强度值以及中心像素点确定出的黑白遮罩图,其中,若预设强度值为白色,遮罩模板的长度与宽度比例为1.5:1,A为中心像素点,A到B的距离L1与A到C的距离L2的比值为1.5:1时,则B以及C两像素点的白色颜色值相同。若预设强度值为黑色,则可通过1减去第一颜色强度值的方式得到图1e所示的遮罩模板,也即对第一颜色强度值取反。

其中,第二结果为第一颜色强度值与不同候选效果遮罩图对应的颜色混合值的乘积,从而得到不同颜色下其他像素点的像素颜色值。进而根据其他像素点在多个预设颜色中对应的第二结果确定出多个候选效果遮罩图(蓝色遮罩以及红色遮罩)。最终呈现的效果为图1e中从中心像素点开始向四周扩散的方向上,蓝色或红色的颜色逐渐加深。

在一些实施方式中,在该计算该中心像素点至其他像素点的距离在该第一预设距离区间的对应值与第一预设强度值的乘积,得到其他像素点的第一颜色强度值的步骤之后,还包括:

(1)根据该第一颜色强度值以及该中心像素点确定出黑白遮罩图;

(2)在该三维虚拟环境中确定出该原始环境画面中每一像素点对应的候选位置,得到多个候选位置;

(3)获取每一候选位置与该目标对象之间的候选距离;

(4)将候选距离处于第二预设距离区间的距离,确定为目标距离,并将该目标距离对应的候选位置确定为目标位置;

(5)确定该目标位置在该黑白遮罩图上对应的目标像素点;

(6)计算该目标距离与第二预设强度值的乘积,得到每一目标像素点对应的第二颜色强度值;

(7)计算该目标像素点对应的第一颜色强度值与该第二颜色强度值之和,得到第三计算结果,并将该第三计算结果确定为该目标像素点对应的第一颜色强度值。

其中,可根据距离设定模拟多普勒效应的开始以及结束的时刻,设定一第二预设距离区间,例如当原始环境画面中的位置与虚拟对象之间的距离处于500米~1000米的第二预设距离区间时,触发对原始环境画面进行图像处理,从而模拟多普勒效应。

具体的,根据第一颜色强度值以及中心像素点确定出图1e的黑白遮罩图后,可根据原始环境画面中对黑白遮罩加上深度效果,深度效果是由原始环境画面中的每一像素点对应在三维虚拟环境中的位置与目标对象之间的距离,目标对象即为虚拟摄像机,当距离在多普勒效应的产生距离区间内,则将该距离对应的位置确定为目标位置。并确定出目标位置在黑白遮罩图上对应的目标像素点,并计算该目标距离与第二预设强度值的乘积,得到每一目标像素点对应的第二颜色强度值;通过计算目标像素点对应的第一颜色强度值与该第二颜色强度值之和,得到第三计算结果,从而得到图1f所示的带有深度效果的黑白遮罩图。并将第三计算结果确定为目标像素点对应的第一颜色强度值。

在步骤104中,将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。

其中,在确定出目标效果遮罩图后,将带合成图像与目标效果遮罩图进行合成处理,从而得到带有目标效果的环境画面。

在一些实施方式中,该待合成图像和目标效果遮罩图进行合成处理,以得到该目标效果的环境画面的步骤,包括:

(1)对该目标效果遮罩图与该待合成图像进行叠加处理,得到目标效果颜色值;

(2)获取该目标效果遮罩图的目标颜色混合值;

(3)基于该第一结果以及该目标颜色混合值,确定混合因子;

(4)基于该目标效果颜色值、混合因子对该原始环境画面的原始颜色值进行插值处理,得到目标效果的环境画面。

其中,将目标效果遮罩图与待合成图像进行叠加处理,从而得到每一像素点对应的目标效果颜色值。颜色混合值为生成候选效果遮罩图时所采用的预设颜色混合值,不同候选效果遮罩图对应的颜色混合值不同,因此需获取目标效果遮罩对应的目标颜色混合值,并通过计算第一结果与目标颜色混合值的乘积,确定出混合因子。再基于该目标效果颜色值、混合因子对该原始环境画面的原始颜色值进行插值处理,从而得到目标效果的环境画面。混合因子即决定了原始环境画面的原始像素颜色值以及目标效果颜色值的混合比例。

在一些实施方式中,该基于该目标效果颜色值、混合因子对该原始环境画面的原始颜色值进行插值处理,得到目标效果的环境画面的步骤,包括:

(1.1)计算该原始环境画面的原始颜色值与该混合因子的乘积,得到第四结果;

(1.2)计算预设参数与该混合因子的差值,得到第五结果;

(1.3)计算该目标效果颜色值与该第五结果的乘积,得到第六结果;

(1.4)根据该第四结果与该第六结果的和,确定出目标效果的环境画面。

其中,请参阅图1g,图1g为目标效果的环境画面的示意图。插值处理的目的在于将目标效果颜色值与原始颜色值按照混合因子的比例进行混合,从而模拟出多普勒效应的蓝移或红移效果。由于候选效果遮罩图中从中心点向四周扩散时颜色逐渐加深,因此最终确定出的目标效果的环境画面中颜色值同样是逐渐加深的,如图1f的第一区域11以及第二区域12,若采用蓝色遮罩,则第二区域12中的每一像素点的蓝色颜色值均大于第一区域11中每一像素点的蓝色颜色值。

具体的,可通过lerp函数对原始环境画面进行差值,lerp(a,b,x)=a*x+b*(1-x);因此,目标效果的环境画面中其他像素点的像素颜色值=lerp(原始颜色值/0.4,目标效果颜色值,混合因子),具体的,第四结果即为a*x,得到第五结果即为(1-x),第六结果即为b*(1-x),目标效果的环境画面中其他像素点的像素颜色值即为a*x+b*(1-x)。

具体的,当采用具有深度效果的黑白遮罩图形成目标效果遮罩图时,可得到图1h所示的带有深度效果以及目标效果的环境画面。其中,如图1h所示,图1h中星球部分黑白像素值较大,是由带有深度效果的黑白遮罩图所导致的。也即图1h是由图1f的黑白遮罩图形成。

在一些实施方式中,在该将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面的步骤之后,还包括:

(1)获取该目标对象的最远显示距离以及最近显示距离;

(2)确定该三维虚拟环境中处于该目标视角方向上的虚拟对象至该目标对象的距离;

(3)若虚拟对象至该目标对象的距离大于该最远显示距离,则禁止虚拟对象在该目标效果的环境画面中显示;

(4)若虚拟对象至该目标对象的距离小于该最近显示距离,则禁止虚拟对象在该目标效果的环境画面中显示。

其中,可事先获取摄像机模型的最远显示距离以及最近显示距离,从而确定出摄像机模型的可显示距离,该可显示距离即为最近显示距离到最远显示距离之间的距离,当处于目标视角方向上的虚拟对象到目标对象的距离大于最远显示距离或小于最近显示距离,则禁止虚拟对象在目标效果的环境画面中显示。

由上述可知,本申请实施例通过获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;对该原始环境画面进行图像预处理,得到图像预处理后的待合成图像;基于该目标视角方向以及该行驶方向,确定目标效果遮罩图;将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。以此,通过对原始环境画面进行预处理,并基于待合成图像、目标视角方向以及行驶方向模拟出多普勒效应时所产生的效果。

结合上述实施例所描述的方法,以下将举例作进一步详细说明。

请参阅图2a,图2a为本申请实施例提供的图像处理方法的另一流程示意图。该方法流程可以包括:

在步骤201中,计算机设备获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及乘载目标对象的虚拟飞行器的行驶方向。

其中,图形用户界面所展示的为游戏场景中的虚拟环境,虚拟环境为应用程序在终端上运行时提供的虚拟环境,其可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,或者纯虚构环境。虚拟人物观察虚拟环境时所展现出的环境画面为由摄像机模型采集,以太空航行类游戏为例,当处于第一人称视角时,摄像机模型位于虚拟人物的头部或者颈部,当处于第三人称视角时,摄像机模型位于虚拟人物的后方。目标视角方向即为在游戏中由用户的触控操作所确定的摄像机模型的摄像方向。具体的,原始环境画面如图1c所示,其中,图1c为带有多种色彩的原始环境画面,例如:星球呈现黄色,太空呈现蓝色以及红色。

具体的,在太空航行类游戏中,承载目标对象的虚拟飞行器可以为虚拟飞船等航空器。虚拟飞行器可以在太空中以一定航行速度行驶。航行速度在游戏中可设定为超过光速的速度。

多普勒效应是指物体辐射的波长因为波源和观测者的相对运动而产生变化。在运动的波源前面,波被压缩,波长变得较短,频率变得较高,即蓝移(blue shift);在运动的波源后面时,会产生相反的效应。波长变得较长,频率变得较低,即红移(red shift)。而蓝移的直观表现为:目标对象在观察靠近的虚拟对象时,虚拟对象会产生蓝色,红移的直观表现为:目标对象在观察远离的虚拟对象时,虚拟对象会产生红色。

在步骤202中,计算机设备对原始环境画面进行降采样处理,得到缩小尺寸的环境画面。

其中,为了在例如手机等移动终端上模拟多普勒效应,可对原始环境画面进行降采样处理,从而得到缩小尺寸的环境画面。降采样(downsampled)也称下采样(subsampled),即是采样点数减少。对于一幅N*M的图像来说,如果降采样系数为k,则即是在原图中每行每列每隔k个点取一个点组成一幅图像。以原始环境画面的像素点数量为1920*1080为例,降采样系数k为4,则降采样后的环境画面的像素点数量即为960*480。由于像素点数量的减少,图像尺寸也随之减小,因此后续对像素点进行处理时,可降低移动终端的处理压力,提高运行速率。

在步骤203中,计算机设备将缩小尺寸的环境画面中每一像素的第一颜色值、第二颜色值以及第三颜色值分别乘以其所对应的权重值,得到目标环境画面。

其中,去色处理即为将图像上每个像素点中所携带的红、绿、蓝(R、G、B)颜色值分别乘以对应的权重值,从而得到目标环境画面。

例如:将图像中每个像素点中的红色颜色值乘以0.3,绿色颜色值乘以0.59,蓝色颜色值乘以0.11,从而将原始环境画面的颜色去除,得到目标环境画面。

在步骤204中,计算机设备按照第一方向对目标环境画面进行预设次数采样,相邻两次采样相差一个像素。

其中,具体的模糊效果,可通过横向采样的方式实现,按照第一方向及与第一方向相反的第二方向进行多次采样,且在按照同一方向进行采样时,每次采样均比上一次采样时偏移一个像素。

具体的,图1d所呈现的待合成图像为对图1c的图像进行去色处理,得到目标环境画面,并对目标环境画面进行向左6次采样以及向右6次采样。

在步骤205中,计算机设备按照第二方向对目标环境画面进行预设次数采样,相邻两次采样相差一个像素,且第一方向与该第二方向的方向相反。

其中,不限定步骤204以及步骤205的执行顺序,也可同时执行。

在步骤206中,计算机设备将采样出的多个图像与目标环境画面进行叠加,得到叠加后环境画面。

其中,并将多次采样得到的多个图像与目标环境画面进行叠加,得到如图1d所示的待合成图像,将12次采样得到的12个图像与目标环境画面进行叠加,最终所呈现出的待合成图像。

在步骤207中,计算机设备对叠加后环境画面进行升采样处理,得到与原始环境画面尺寸相同的待合成图像。

其中,由于对原始环境画面进行降采样处理,使得目标环境画面的尺寸也随之减小,而为了确保游戏的画面质量,还需对采样目标环境画面得到的多个图像与原始环境画面叠加,得到的叠加后环境画面进行升采样处理,从而使得叠加后环境画面的像素点数量恢复成与原始环境画面中的像素点数量相同,也即尺寸相同。升采样(downsampled)也称图像插值(interpolation)。对于图像来说即是二维插值。如果升采样系数为k,即在原图n与n+1两点之间插入k-1个点,使其构成k分。二维插值即在每行插完之后对于每列也进行插值。

在步骤208中,计算机设备确定目标视角方向的目标视角方向向量,以及行驶方向的行驶方向向量。

其中,目标视角方向向量(cameravector)以及行驶方向向量(shipvector)为三维虚拟空间中的空间向量,可分别代表目标对象的目标视角方向以及虚拟飞行器的行驶方向。

在步骤209中,计算机设备计算目标视角方向向量与行驶方向向量的点积,得到第一结果。

其中,在步骤208中确定目标视角方向向量以及行驶方向的行驶方向向量的目的在于确定目标视角方向与行驶方向所成夹角是否小于90°,若所成夹角小于90°,则说明原始虚拟环境画面中的虚拟对象在靠近虚拟飞行器,则为蓝移,此时需要对待合成图像进行混蓝色;若所成夹角大于90°,则说明原始虚拟环境画面中的虚拟对象在远离虚拟飞行器,此时需要对待合成图像进行混红色。而确定所成夹角与90°的大小关系可通过目标视角方向向量以及行驶方向向量确定。

具体的,确定目标视角方向与行驶方向所成夹角与90°的大小关系可通过计算目标视角方向向量以及行驶方向向量的点积,点积时可进行归一化处理,从而得到的值域在[-1,1]之间,此时当点积得到的第一结果为0时说明目标视角方向与行驶方向所成夹角为90°;若第一结果小于0,则说明说明目标视角方向与行驶方向所成夹角小于90°;若第一结果大于0,则说明说明目标视角方向与行驶方向所成夹角大于90°,为方便计算,可将值域缩小为[0,1],此时当第一结果为0.5时说明目标视角方向与行驶方向所成夹角为90°;若第一结果小于0.5,则说明说明目标视角方向与行驶方向所成夹角小于90°;若第一结果大于0.5,则说明说明目标视角方向与行驶方向所成夹角大于90°。

在步骤210中,计算机设备根据第一结果从多个候选效果遮罩中确定目标效果遮罩。

其中,以第一结果小于0.5为例,则原始虚拟环境画面中的虚拟对象在靠近虚拟飞行器,则为蓝移,此时需要对待合成图像进行混蓝色,因此可根据第一结果从多个候选效果遮罩图中确定出目标效果遮罩为蓝色遮罩。

在步骤211中,计算机设备对目标效果遮罩与待合成图像进行叠加处理,得到目标效果颜色值。

其中,将蓝色遮罩或红色遮罩与待合成图像进行叠加处理,从而得到每一像素点对应的目标效果颜色值。

在步骤212中,计算机设备获取目标效果遮罩的目标颜色混合值,基于第一结果以及目标颜色混合值,确定混合因子。

其中,颜色混合值为生成候选效果遮罩图时所采用的预设颜色混合值,不同候选效果遮罩图对应的颜色混合值不同,因此需获取目标效果遮罩对应的目标颜色混合值,并通过计算第一结果与目标颜色混合值的乘积,确定出混合因子。

在步骤213中,计算机设备计算原始环境画面的原始颜色值与该混合因子的乘积,得到第四结果。

其中,通过插值处理将目标效果颜色值与原始颜色值按照混合因子的比例进行混合,从而模拟出多普勒效应的蓝移或红移效果。通过lerp函数对原始环境画面进行差值,lerp(a,b,x)=a*x+b*(1-x);目标效果的环境画面中其他像素点的像素颜色值=lerp(原始颜色值/0.4,目标效果颜色值,混合因子),第四结果即为a*x。

在步骤214中,计算机设备计算预设参数与混合因子的差值,得到第五结果。

其中,第五结果即为(1-x),为预设参数与混合因子的差值。

在步骤215中,计算机设备计算目标效果颜色值与第五结果的乘积,得到第六结果。

其中,第六结果即为b*(1-x),为目标效果颜色值与第五结果的乘积。

在步骤216中,计算机设备根据第四结果与该第六结果的和,确定出目标效果的环境画面。

其中,目标效果的环境画面中其他像素点的像素颜色值即为a*x+b*(1-x)。

在步骤217中,计算机设备获取目标对象的最远显示距离以及最近显示距离。

其中,可事先获取摄像机模型的最远显示距离以及最近显示距离,从而确定出摄像机模型的可显示距离,该可显示距离即为最近显示距离到最远显示距离之间的距离。

在步骤218中,计算机设备确定三维虚拟环境中处于目标视角方向上的虚拟对象至目标对象的距离。

其中,获取处于目标视角方向上的虚拟对象至目标对象的距离,虚拟对象也可不在目标视角方向上,虚拟对象还可以包括被摄像机模型采集到的虚拟对象。

在步骤219中,若虚拟对象至目标对象的距离大于该最远显示距离,则计算机设备禁止虚拟对象在目标效果的环境画面中显示。

其中,当处于目标视角方向上的虚拟对象到目标对象的距离大于最远显示距离,则禁止虚拟对象在目标效果的环境画面中显示。

在步骤220中,若虚拟对象至目标对象的距离小于最近显示距离,则计算机设备禁止虚拟对象在目标效果的环境画面中显示。

其中,当处于目标视角方向上的虚拟对象到目标对象的距离小于最近显示距离,则禁止虚拟对象在目标效果的环境画面中显示。

关于候选效果遮罩图的制作方式,请参阅图2b,图2b为本申请实施例提供的图像处理方法中制作候选效果遮罩图的流程示意图。

在步骤221中,获取待合成图像的尺寸信息。

其中,获取待合成图像的尺寸信息,尺寸信息可具体包括待合成图像的宽度与长度。

在步骤222中,按照尺寸信息构建一遮罩模板,并确定遮罩模板的中心像素点至其他像素点的距离,其他像素点为组成遮罩模板的所有像素点中除中心像素点以外的其他像素点。

其中,按照相同的宽度与长度构建出一遮罩模板。

在步骤223中,按照预设平滑阶梯函数将遮罩模板的中心像素点至其他像素点的距离平均分布至第一预设距离区间,得到中心像素点至其他像素点的距离在预设距离区间的对应值。

其中,由于蓝移或红移时所观察到的环境画面中是从中心位置向外侧虚拟对象产生的蓝色或红色逐渐加深,因此需模拟出一颜色从中心位置向外侧逐渐加深的候选效果遮罩图。故需确定出遮罩模板中中心像素点到其他像素点的距离,其他像素点为组成该遮罩模板的所有像素点中除该中心像素点以外的其他像素点。预设平滑阶梯函数可以为smoothstep函数,其作用是将中心像素点到其他像素点的距离平均分布至[0,1]的区间内,从而使得虽然遮罩模板的长度与宽度不同,但遮罩模板中不同方向上的像素点当与中心点的距离成一定比例时,不同方向上的像素点的像素颜色值相同。

在步骤224中,计算中心像素点至其他像素点的距离在第一预设距离区间的对应值与预设强度值的乘积,得到其他像素点的第一颜色强度值。

其中,计算该中心像素点至其他像素点的距离在该第一预设距离区间的对应值与预设强度值的乘积,得到其他像素点的第一颜色强度值,第一颜色强度值即为其他像素点的颜色值。预设强度值可理解为黑色或白色的颜色强度值的强度。

具体的,如图1e所示,图1e为根据第二结果确定出的不带颜色的遮罩模板,其中,若预设强度值为白色,遮罩模板的长度与宽度比例为1.5:1,A为中心像素点,A到B的距离L1与A到C的距离L2的比值为1.5:1时,则B以及C两像素点的白色颜色值相同。若预设强度值为黑色,则可通过1减去第一颜色强度值的方式得到图1e所示的遮罩模板,也即对第一颜色强度值取反。

在步骤225中,确定第一颜色强度值与多个预设颜色混色值的乘积,得到其他像素点在多个预设颜色中对应的第二结果。

其中,第二结果为第一颜色强度值与不同候选效果遮罩图对应的颜色混合值的乘积,从而得到不同颜色下其他像素点的像素颜色值。进而根据其他像素点在多个预设颜色中对应的第二结果确定出多个候选效果遮罩图(蓝色遮罩以及红色遮罩)。最终呈现的效果为图1e中从中心像素点开始向四周扩散的方向上,蓝色或红色的颜色逐渐加深。

在步骤226中,根据其他像素点在多个预设颜色中对应的第二结果确定出多个候选效果遮罩图。

其中,由于蓝色遮罩与红色遮罩对应的颜色混合值不同,因此根据步骤225计算得到不同候选效果遮罩图对应的不同第二结果,根据每一候选效果遮罩图对应的第二结果生成对应的候选效果遮罩图。

其中,步骤221至步骤226应在得到待合成图像之后执行,并在根据第一结果从多个候选效果遮罩图中确定目标效果遮罩之前执行,也即步骤221至步骤226在步骤207至步骤210之间执行。

由上述可知,本申请实施例通过获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;对该原始环境画面进行图像预处理,得到图像预处理后的待合成图像;基于该目标视角方向以及该行驶方向,确定目标效果遮罩图;将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。以此,通过对原始环境画面进行预处理,并基于待合成图像、目标视角方向以及行驶方向模拟出多普勒效应时所产生的效果。

为便于更好的实施本申请实施例提供的图像处理方法,本申请实施例还提供一种基于上述图像处理方法的装置。其中名词的含义与上述图像处理方法中相同,具体实现细节可以参考方法实施例中的说明。

请参阅图3,图3为本申请实施例提供的图像处理装置的结构示意图,其中该图像处理装置可以包括第一获取模块301、预处理模块302、第一确定模块303以及合成模块304等。

第一获取模块301,用于获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;

预处理模块302,用于对该原始环境画面进行图像预处理,得到图像预处理后的待合成图像;

第一确定模块303,用于基于该目标视角方向以及该行驶方向,确定目标效果遮罩图;

合成模块304,用于将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。

在一些实施方式中,该预处理模块302,包括:

去色子模块,用于对该原始环境画面进行去色处理,得到目标环境画面;

第一采样子模块,用于按照第一方向对该目标环境画面进行预设次数采样,相邻两次采样相差一个像素;

第二采样子模块,用于按照第二方向对该目标环境画面进行预设次数采样,相邻两次采样相差一个像素,且该第一方向与该第二方向的方向相反;

第一叠加子模块,用于将采样出的多个图像与该目标环境画面进行叠加,得到待合成图像。

在一些实施方式中,该去色子模块,用于:

对该原始环境画面进行降采样处理,得到缩小尺寸的环境画面;

将该缩小尺寸的环境画面中每一像素的第一颜色值、第二颜色值以及第三颜色值分别乘以其所对应的权重值,得到目标环境画面;

该第一叠加子模块,用于:

将采样出的多个图像与该目标环境画面进行叠加,得到叠加后环境画面;

对该叠加后环境画面进行升采样处理,得到与该原始环境画面尺寸相同的待合成图像。

在一些实施方式中,该第一确定模块303,包括:

第一确定子模块,用于确定该目标视角方向的目标视角方向向量,以及该行驶方向的行驶方向向量;

第一计算子模块,用于计算该目标视角方向向量与该行驶方向向量的点积,得到第一结果;

第二确定子模块,用于根据该第一结果从多个候选效果遮罩图中确定目标效果遮罩图。

在一些实施方式中,该第一确定模块303还包括:

第一获取子模块,用于获取该待合成图像的尺寸信息;

构建子模块,用于按照该尺寸信息构建一遮罩模板,并确定该遮罩模板的中心像素点至其他像素点的距离,其他像素点为组成该遮罩模板的所有像素点中除该中心像素点以外的其他像素点;

分布子模块,用于按照预设平滑阶梯函数将该遮罩模板的中心像素点至其他像素点的距离平均分布至第一预设距离区间,得到该中心像素点至其他像素点的距离在该预设距离区间的对应值;

第三计算子模块,用于计算该中心像素点至其他像素点的距离在该第一预设距离区间的对应值与第一预设强度值的乘积,得到其他像素点的第一颜色强度值;

第三确定子模块,用于确定第一颜色强度值与多个预设颜色混色值的乘积,得到其他像素点在多个预设颜色中对应的第二结果;

第四确定子模块,用于根据其他像素点在多个预设颜色中对应的第二结果确定出多个候选效果遮罩图。

在一些实施方式中,该第一确定模块303还包括:

第五确定子模块,用于根据该第一颜色强度值以及该中心像素点确定出黑白遮罩图;

第六确定子模块,用于在该三维虚拟环境中确定出该原始环境画面中每一像素点对应的候选位置,得到多个候选位置;

第二获取子模块,用于获取每一候选位置与该目标对象之间的候选距离;

第七确定子模块,用于将候选距离处于第二预设距离区间的距离,确定为目标距离,并将该目标距离对应的候选位置确定为目标位置;

第八确定子模块,用于确定该目标位置在该黑白遮罩图上对应的目标像素点;

第四计算子模块,用于计算该目标距离与第二预设强度值的乘积,得到每一目标像素点对应的第二颜色强度值;

第五计算子模块,用于计算该目标像素点对应的第一颜色强度值与该第二颜色强度值之和,得到第三计算结果,并将该第三计算结果确定为该目标像素点对应的第一颜色强度值。

在一些实施方式中,该合成模块304,包括:

第二叠加子模块,用于对该目标效果遮罩与该待合成图像进行叠加处理,得到目标效果颜色值;

第一获取子模块,用于获取该目标效果遮罩的目标颜色混合值;

第二确定子模块,用于基于该第一结果以及该目标颜色混合值,确定混合因子;

插值子模块,用于基于该目标效果颜色值、混合因子对该原始环境画面的原始颜色值进行插值处理,得到目标效果的环境画面。

在一些实施方式中,该插值子模块,包括:

第六计算子模块,用于计算该原始环境画面的原始颜色值与该混合因子的乘积,得到第四结果;

第七计算子模块,用于计算预设参数与该混合因子的差值,得到第五结果;

第八计算子模块,用于计算该目标效果颜色值与该第五结果的乘积,得到第六结果;

第九确定子模块,用于根据该第四结果与该第六结果的和,确定出目标效果的环境画面。

在一些实施方式中,在该三维虚拟环境中设置有一目标对象,通过该目标对象以目标视角方向观察三维虚拟环境,以得到该原始环境画面,该装置还包括:

第二获取模块,用于获取该目标对象的最远显示距离以及最近显示距离;

第二确定模块,用于确定该三维虚拟环境中处于该目标视角方向上的虚拟对象至该目标对象的距离;

第一显示模块,用于若虚拟对象至该目标对象的距离大于该最远显示距离,则禁止虚拟对象在该目标效果的环境画面中显示;

第二显示模块,用于若虚拟对象至该目标对象的距离小于该最近显示距离,则禁止虚拟对象在该目标效果的环境画面中显示。

由上述可知,本申请实施例通过第一获取模块301,用于获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;预处理模块302,用于对该原始环境画面进行图像预处理,得到图像预处理后的待合成图像;第一确定模块303,用于基于该目标视角方向以及该行驶方向,确定目标效果遮罩图;合成模块304,用于将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。以此,通过对原始环境画面进行预处理,并基于待合成图像、目标视角方向以及行驶方向模拟出多普勒效应时所产生的效果。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

可选的,如图4所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。

在本申请实施例中,通过处理器401执行游戏应用程序在触控显示屏403上生成图形用户界面,图形用户界面上的虚拟场景中包含至少一个功能控件或轮盘控件。该触控显示屏403用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。

射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。

音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。

输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管图4中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

由上可知,本实施例提供的计算机设备获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;对该原始环境画面进行图像预处理,得到图像预处理后的待合成图像;基于该目标视角方向以及该行驶方向,确定目标效果遮罩图;将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。以此,通过对原始环境画面进行预处理,并基于待合成图像、目标视角方向以及行驶方向模拟出多普勒效应时所产生的效果。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种图像处理方法中的步骤。例如,该计算机程序可以执行如下步骤:

获取以目标视角方向观察三维虚拟环境时的原始环境画面,以及一虚拟飞行器的行驶方向;对该原始环境画面进行图像预处理,得到图像预处理后的待合成图像;基于该目标视角方向以及该行驶方向,确定目标效果遮罩图;将该待合成图像和目标效果遮罩图进行合成处理,以得到目标效果的环境画面。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种图像处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种图像处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种图像处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种图像处理方法、装置、计算机设备和计算机存储介质
  • 一种图像处理方法、装置、计算机设备和计算机存储介质
技术分类

06120112827941