CN109671097B - 运动模糊实现方法及装置 - Google Patents
运动模糊实现方法及装置 Download PDFInfo
- Publication number
- CN109671097B CN109671097B CN201811516380.9A CN201811516380A CN109671097B CN 109671097 B CN109671097 B CN 109671097B CN 201811516380 A CN201811516380 A CN 201811516380A CN 109671097 B CN109671097 B CN 109671097B
- Authority
- CN
- China
- Prior art keywords
- pixel
- motion blur
- circumscribed circle
- color
- value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/49—Analysis of texture based on structural texture description, e.g. using primitives or placement rules
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明实施例涉及图像处理技术领域,具体而言,涉及一种运动模糊实现方法及装置,该方法能够根据截帧标识值获取上一帧的颜色纹理,并根据获得的设定外接圆半径,然后基于图形处理器、采集器和片元着色器计算得到颜色纹理中每个第二像素的颜色输出值,最后基于当前帧中的每个第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值,如此,相较于常见的图片后处理方式,该方法能够简化处理步骤,降低对制作人员专业技能水平的需要,并减少计算机的资源消耗,从而降低了制作成本。
Description
技术领域
本发明实施例涉及图像处理技术领域,具体而言,涉及一种运动模糊实现方法及装置。
背景技术
运动模糊是指在观察者与被观察者之间有高速的相对运动时产生的视图模糊,在游戏场景中经常使用。例如,模拟人从高处跳下时,视野中物体会由于快速运动而产生模糊效果。由于现有的计算机硬件帧率太低,无法满足产生运动模糊所需的条件,通常使用图片后处理的方式实现运动模糊。但是图片后处理的方式制作成本高昂。
发明内容
有鉴于此,本发明提供了一种运动模糊实现方法及装置。
本发明实施例提供了一种运动模糊实现方法,应用于游戏客户端,所述方法包括:
获取当前帧中的每个第一像素的颜色输出值;
判断截帧标识值是否为第一标识值,若所述截帧标识值为第一标识值,获取上一帧的颜色纹理,将所述颜色纹理提交至图形处理器;
获取设定外接圆半径,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间;
针对所述颜色纹理中的每个第二像素,基于所述图形处理器和所述运动模糊分布区间计算该第二像素的运动模糊权重值并将所述运动模糊权重值作为该第二像素的透明度分量,采用采集器采集该第二像素的三基色分量,根据所述透明度分量和所述三基色分量采用片元着色器计算得到该第二像素的颜色输出值;
针对每个第一像素,根据该第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值。
可选地,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间的步骤,包括:
以所述颜色纹理的中心为圆心,按照所述设定外接圆半径构建设定外接圆,将所述设定外接圆与所述颜色纹理的外接圆之间的区域作为运动模糊分布区间。
可选地,针对所述颜色纹理中的每个第二像素,该第二像素的运动模糊权重值通过以下步骤计算得到:
计算所述颜色纹理的外接圆半径与所述设定外接圆半径的第一差值;
计算该第二像素与所述圆心之间的距离;
判断所述距离是否大于所述设定外接圆半径,若所述距离大于所述设定外接圆半径,判定该第二像素位于所述运动模糊分布区间内,计算所述距离与所述设定外接圆半径的第二差值,
将所述第二差值与所述第一差值的比值作为所述该第二像素的运动模糊权重值。
可选地,所述方法还包括:
获取用于修改所述设定外接圆半径的控制参数,根据所述控制参数对所述设定外接圆半径进行修改。
可选地,针对每个第一像素,该第一像素的混合颜色输出值通过以下公式计算得到:
Mci=Sci·αi+Dci·(1-αi)
其中,Mci为混合颜色输出值,Sci为与该第一像素对应的第二像素的颜色输出值,αi为与该第一像素对应的第二像素的透明度分量,Dci为该第一像素的颜色输出值。
本发明实施例还提供了一种运动模糊实现装置,应用于游戏客户端,所述装置包括:
当前帧参数获取模块,用于获取当前帧中的每个第一像素的颜色输出值;
判断模块,用于判断截帧标识值是否为第一标识值,若所述截帧标识值为第一标识值,获取上一帧的颜色纹理,将所述颜色纹理提交至图形处理器;
运动模糊分布区间构建模块,用于获取设定外接圆半径,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间;
第二像素颜色输出值计算模块,用于针对所述颜色纹理中的每个第二像素,基于所述图形处理器和所述运动模糊分布区间计算该第二像素的运动模糊权重值并将所述运动模糊权重值作为该第二像素的透明度分量,采用采集器采集该第二像素的三基色分量,根据所述透明度分量和所述三基色分量采用片元着色器计算得到该第二像素的颜色输出值;
混合颜色输出值计算模块,用于针对每个第一像素,根据该第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值。
可选地,所述运动模糊分布区间构建模块通过以下方式构建运动模糊分布区间:
以所述颜色纹理的中心为圆心,按照所述设定外接圆半径构建设定外接圆,将所述设定外接圆与所述颜色纹理的外接圆之间的区域作为运动模糊分布区间。
可选地,针对所述颜色纹理中的每个第二像素,该第二像素的运动模糊权重值通过以下步骤计算得到:
计算所述颜色纹理的外接圆半径与所述设定外接圆半径的第一差值;
计算该第二像素与所述圆心之间的距离;
判断所述距离是否大于所述设定外接圆半径,若所述距离大于所述设定外接圆半径,判定该第二像素位于所述运动模糊分布区间内,计算所述距离与所述设定外接圆半径的第二差值,
将所述第二差值与所述第一差值的比值作为所述该第二像素的运动模糊权重值。
可选地,所述装置还包括:
修改模块,用于获取用于修改所述设定外接圆半径的控制参数,根据所述控制参数对所述设定外接圆半径进行修改。
可选地,针对每个第一像素,该第一像素的混合颜色输出值通过以下公式计算得到:
Mci=Sci·αi+Dci·(1-αi)
其中,Mci为混合颜色输出值,Sci为与该第一像素对应的第二像素的颜色输出值,αi为与该第一像素对应的第二像素的透明度分量,Dci为该第一像素的颜色输出值。
本发明实施例还提供了一种游戏客户端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的运动模糊实现方法。
本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在游戏客户端执行上述的运动模糊实现方法。
有益效果
本发明实施例提供的运动模糊实现方法及装置,能够根据截帧标识值获取上一帧的颜色纹理,并根据获得的设定外接圆半径,然后基于图形处理器、采集器和片元着色器计算得到颜色纹理中每个第二像素的颜色输出值,最后基于当前帧中的每个第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值,如此,相较于常见的图片后处理方式,该方法能够简化处理步骤,降低对制作人员专业技能水平的需要,并减少计算机的资源消耗,从而降低了制作成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种游戏客户端10的方框示意图。
图2为本发明实施例所提供的一种运动模糊实现方法的流程图。
图3为一实施方式中图2所示的步骤S24包括的子步骤的示意图。
图4为本发明实施例所提供的一种运动模糊实现装置20的模块框图。
图标:
10-游戏客户端;11-存储器;12-处理器;13-网络模块;
20-运动模糊实现装置;21-当前帧参数获取模块;22-判断模块;23-运动模糊分布区间构建模块;24-第二像素颜色输出值计算模块;25-混合颜色输出值计算模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
发明人经调查发现,现有的技术是通过图片处理软件对静态图片进行后期处理进而产生运动模糊,若要产生向心的运动模糊,需要通过以下两种方式实现:
1)静态图片多次不同局部不同方向模糊,运用于场景时需要以插入动画的实现表现出来。
2)实时计算时通过多次转换渲染对象并进行对纹理图片多次纹理重采样操作产生运动模糊效果。
通过以上方式进行运动模糊的处理,制作成本太高,制作人需要较高的专业知识与丰富的图片后期处理经验,插入动画的方式以及实时渲染时多次转换渲染对象和纹理重采样需要消耗大量的计算机资源。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
基于上述研究,本发明实施例提供了一种运动模糊实现方法及装置,能够在精确实现运动模糊的前提下有效减少制作成本。
图1示出了本发明实施例所提供的一种游戏客户端10的方框示意图。本发明实施例中的游戏客户端10具有数据存储、传输、处理功能,如图1所示,游戏客户端10包括:存储器11、处理器12、网络模块13和运动模糊实现装置20。
存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有运动模糊实现装置20,所述运动模糊实现装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的运动模糊实现装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的运动模糊实现方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立游戏客户端10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,游戏客户端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在游戏客户端10执行下面的运动模糊实现方法。
图2示出了本发明实施例所提供的一种运动模糊实现方法的流程图。所述方法有关的流程所定义的方法步骤应用于游戏客户端10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:
在执行该方法之前,游戏客户端10会进行初始化:在运动模糊类中声明并初始化一个渲染目标RenderTarget,声明一个截帧标识值bMotionBlur并将该截帧标识值bMotionBlur初始化为false,其中,false可以理解为截帧标识值bMotionBlur的第二标识值,相应地,true可以理解为截帧标识值bMotionBlur的第一标识值。
当截帧标识值bMotionBlur为false时,表明渲染目标RenderTarget为空,表明当前帧为第一帧,游戏客户端10会将当前帧的颜色纹理直接保存到渲染目标RenderTarget中,并且此时不执行运动模糊的相关处理。
当截帧标识值bMotionBlur为true时,表明渲染目标RenderTarget不为空,表明当前帧之前还存在上一帧,其中,上一帧保存在渲染目标RenderTarget中,此时会运动模糊的相关处理,具体请参阅以下步骤:
步骤S21,获取当前帧中的每个第一像素的颜色输出值。
例如,当前帧中的第一像素的颜色输出值为Dci,其中,i为n以内的正整数,其中,n可以根据实际情况进行设置。
步骤S22,判断截帧标识值是否为第一标识值。
若截帧标识值bMotionBlur为true(第一标识值),转向步骤S23。
若截帧标识值bMotionBlur不为true(默认为第二标识值false),转向步骤S26。
步骤S23,获取上一帧的颜色纹理,将颜色纹理提交至图形处理器。
可以理解,若截帧标识值bMotionBlur为true,表明渲染目标RenderTarget中存储有上一帧,此时获取上一帧的颜色纹理ColorTexture,将颜色纹理ColorTexture提交至图形处理器(Graphics Processing Unit,GPU)。
步骤S24,针对颜色纹理中的每个第二像素,计算该第二像素的颜色输出值。
可以理解,颜色纹理ColorTexture中存在多个第二像素,其中,第二像素的数量与第一像素的数量相同。
请结合参阅图3,本实施例中通过步骤S241、步骤S242、步骤S243和步骤S244列举了步骤S24的其中一种实现方式。
步骤S241,获取设定外接圆半径,根据颜色纹理的外接圆和该设定外接圆半径采用图形处理器构建运动模糊分布区间。
具体地,以所述颜色纹理的中心为圆心,按照所述设定外接圆半径构建设定外接圆,将所述设定外接圆与所述颜色纹理的外接圆之间的区域作为运动模糊分布区间。其中,设定外接圆半径可以根据实际情况进行调整,例如,游戏客户端获取用于修改该设定外接圆半径的控制参数,根据控制参数对该设定外接圆半径进行修改。
步骤S242,针对每个第二像素,基于图形处理器和运动模糊分布区间计算该第二像素的运动模糊权重值并将运动模糊权重值作为该第二像素的透明度分量。
具体地:计算颜色纹理的外接圆半径与设定外接圆半径的第一差值,计算该第二像素与圆心之间的距离,判断该距离是否大于设定外接圆半径,若大于,判定该第二像素位于运动模糊分布区间内(需要进行后续的运动模糊计算),计算距离与设定外接圆半径的第二差值。然后将第二差值与所述第一差值的比值作为该第二像素的运动模糊权重值。
进一步地,将该运动模糊权重值作为该第二像素的透明度分量αi。
步骤S243,针对每个第二像素,采用采集器采集该第二像素的三基色分量。
例如,采集到的三基色分量为RGBi。
步骤S244,针对每个第二像素,根据该第二像素的透明度分量和三基色分量采用片元着色器计算得到该第二像素的颜色输出值。
在本实施例中,第二像素的颜色输出值为Sci。
步骤S25,针对每个第一像素,根据该第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值。
可以理解,当前帧的第一像素与上一帧的第二像素一一对应,针对每个第一像素,根据Dci、Sci以及αi计算出混合颜色输出值Mci,其中,计算公式如下:
Mci=Sci·αi+Dci·(1-αi)
步骤S26,将当前帧的颜色纹理保存至渲染目标中。
当截帧标识值bMotionBlur为true时,根据步骤S22~步骤S25完成混合颜色输出值的计算之后,会将当前帧的颜色纹理保存到渲染目标RenderTarget中,其中,当前帧的颜色纹理可以根据计算出的多个混合颜色输出值渲染得到,因此颜色纹理也可以理解为渲染结果。
当截帧标识值bMotionBlur为false时,表明渲染目标RenderTarget为空,表明当前帧为第一帧,游戏客户端10会将当前帧的颜色纹理直接保存到渲染目标RenderTarget中,并且此时不执行运动模糊的相关处理。
如此,无需多次转换渲染目标RenderTarget,在进行运动模糊处理时仅需要将根据多个混合颜色输出值渲染完成的当前帧的颜色纹理进行截帧并存储到渲染目标RenderTarget中覆盖上一帧的颜色纹理即可,大大降低了计算量,减少了计算机资源的消耗,使程序运行更加流畅。
在上述基础上,如图4所示,本发明实施例提供了一种运动模糊实现装置20,所述运动模糊实现装置20包括:当前帧参数获取模块21、判断模块22、运动模糊分布区间构建模块23、第二像素颜色输出值计算模块24和混合颜色输出值计算模块25。
当前帧参数获取模块21,用于获取当前帧中的每个第一像素的颜色输出值。
由于当前帧参数获取模块21和图2中步骤S21的实现原理类似,因此在此不作更多说明。
判断模块22,用于判断截帧标识值是否为第一标识值,若所述截帧标识值为第一标识值,获取上一帧的颜色纹理,将所述颜色纹理提交至图形处理器。
由于判断模块22和图2中步骤S22、步骤S23和步骤S26的实现原理类似,因此在此不作更多说明。
运动模糊分布区间构建模块23,用于获取设定外接圆半径,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间。
由于运动模糊分布区间构建模块23和图2中步骤S24的实现原理类似,因此在此不作更多说明。
第二像素颜色输出值计算模块24,用于针对所述颜色纹理中的每个第二像素,基于所述图形处理器和所述运动模糊分布区间计算该第二像素的运动模糊权重值并将所述运动模糊权重值作为该第二像素的透明度分量,采用采集器采集该第二像素的三基色分量,根据所述透明度分量和所述三基色分量采用片元着色器计算得到该第二像素的颜色输出值。
由于第二像素颜色输出值计算模块24和图2中步骤S24的实现原理类似,因此在此不作更多说明。
混合颜色输出值计算模块25,用于针对每个第一像素,根据该第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值。
由于混合颜色输出值计算模块25和图2中步骤S25的实现原理类似,因此在此不作更多说明。
综上,本发明实施例所提供的运动模糊实现方法及装置,能够根据截帧标识值获取上一帧的颜色纹理,并根据获得的设定外接圆半径,然后基于图形处理器、采集器和片元着色器计算得到颜色纹理中每个第二像素的颜色输出值,最后基于当前帧中的每个第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值,如此,能够简化处理和计算步骤,降低对制作人员专业技能水平的需要,并减少计算机的资源消耗,从而降低了制作成本。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,游戏客户端10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种运动模糊实现方法,其特征在于,应用于游戏客户端,所述方法包括:
获取当前帧中的每个第一像素的颜色输出值;
判断截帧标识值是否为第一标识值,若所述截帧标识值为第一标识值,获取上一帧的颜色纹理,将所述颜色纹理提交至图形处理器;
获取设定外接圆半径,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间;
针对所述颜色纹理中的每个第二像素,基于所述图形处理器和所述运动模糊分布区间计算该第二像素的运动模糊权重值并将所述运动模糊权重值作为该第二像素的透明度分量,采用采集器采集该第二像素的三基色分量,根据所述透明度分量和所述三基色分量采用片元着色器计算得到该第二像素的颜色输出值;
针对每个第一像素,根据该第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值;
其中,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间的步骤,包括:
以所述颜色纹理的中心为圆心,按照所述设定外接圆半径构建设定外接圆,将所述设定外接圆与所述颜色纹理的外接圆之间的区域作为运动模糊分布区间;
针对所述颜色纹理中的每个第二像素,该第二像素的运动模糊权重值通过以下步骤计算得到:
计算所述颜色纹理的外接圆半径与所述设定外接圆半径的第一差值;
计算该第二像素与所述圆心之间的距离;
判断所述距离是否大于所述设定外接圆半径,若所述距离大于所述设定外接圆半径,判定该第二像素位于所述运动模糊分布区间内,计算所述距离与所述设定外接圆半径的第二差值,
将所述第二差值与所述第一差值的比值作为所述该第二像素的运动模糊权重值。
2.根据权利要求1所述的运动模糊实现方法,其特征在于,所述方法还包括:
获取用于修改所述设定外接圆半径的控制参数,根据所述控制参数对所述设定外接圆半径进行修改。
3.根据权利要求1所述的运动模糊实现方法,其特征在于,针对每个第一像素,该第一像素的混合颜色输出值通过以下公式计算得到:
Mci=Sci·αi+Dci·(1-αi)
其中,Mci为混合颜色输出值,Sci为与该第一像素对应的第二像素的颜色输出值,αi为与该第一像素对应的第二像素的透明度分量,Dci为该第一像素的颜色输出值。
4.一种运动模糊实现装置,其特征在于,应用于游戏客户端,所述装置包括:
当前帧参数获取模块,用于获取当前帧中的每个第一像素的颜色输出值;
判断模块,用于判断截帧标识值是否为第一标识值,若所述截帧标识值为第一标识值,获取上一帧的颜色纹理,将所述颜色纹理提交至图形处理器;
运动模糊分布区间构建模块,用于获取设定外接圆半径,根据所述颜色纹理的外接圆和所述设定外接圆半径采用所述图形处理器构建运动模糊分布区间;
第二像素颜色输出值计算模块,用于针对所述颜色纹理中的每个第二像素,基于所述图形处理器和所述运动模糊分布区间计算该第二像素的运动模糊权重值并将所述运动模糊权重值作为该第二像素的透明度分量,采用采集器采集该第二像素的三基色分量,根据所述透明度分量和所述三基色分量采用片元着色器计算得到该第二像素的颜色输出值;
混合颜色输出值计算模块,用于针对每个第一像素,根据该第一像素的颜色输出值以及与该第一像素对应的第二像素的颜色输出值和透明度分量计算得到该第一像素的混合颜色输出值;
所述运动模糊分布区间构建模块通过以下方式构建运动模糊分布区间:
以所述颜色纹理的中心为圆心,按照所述设定外接圆半径构建设定外接圆,将所述设定外接圆与所述颜色纹理的外接圆之间的区域作为运动模糊分布区间;
针对所述颜色纹理中的每个第二像素,该第二像素的运动模糊权重值通过以下步骤计算得到:
计算所述颜色纹理的外接圆半径与所述设定外接圆半径的第一差值;
计算该第二像素与所述圆心之间的距离;
判断所述距离是否大于所述设定外接圆半径,若所述距离大于所述设定外接圆半径,判定该第二像素位于所述运动模糊分布区间内,计算所述距离与所述设定外接圆半径的第二差值,
将所述第二差值与所述第一差值的比值作为所述该第二像素的运动模糊权重值。
5.根据权利要求4所述的运动模糊实现装置,其特征在于,所述装置还包括:
修改模块,用于获取用于修改所述设定外接圆半径的控制参数,根据所述控制参数对所述设定外接圆半径进行修改。
6.根据权利要求4所述的运动模糊实现装置,其特征在于,针对每个第一像素,该第一像素的混合颜色输出值通过以下公式计算得到:
Mci=Sci·αi+Dci·(1-αi)
其中,Mci为混合颜色输出值,Sci为与该第一像素对应的第二像素的颜色输出值,αi为与该第一像素对应的第二像素的透明度分量,Dci为该第一像素的颜色输出值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811516380.9A CN109671097B (zh) | 2018-12-12 | 2018-12-12 | 运动模糊实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811516380.9A CN109671097B (zh) | 2018-12-12 | 2018-12-12 | 运动模糊实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109671097A CN109671097A (zh) | 2019-04-23 |
CN109671097B true CN109671097B (zh) | 2020-11-13 |
Family
ID=66144721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811516380.9A Active CN109671097B (zh) | 2018-12-12 | 2018-12-12 | 运动模糊实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109671097B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110665232A (zh) * | 2019-08-30 | 2020-01-10 | 网易(杭州)网络有限公司 | 游戏中地表的渲染方法、装置、设备和存储介质 |
CN110930478B (zh) * | 2019-11-19 | 2023-12-01 | 广东明创软件科技有限公司 | 残影效果实现方法、装置、终端设备以及存储介质 |
CN112749613B (zh) * | 2020-08-27 | 2024-03-26 | 腾讯科技(深圳)有限公司 | 视频数据处理方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077539A (zh) * | 2013-01-23 | 2013-05-01 | 上海交通大学 | 一种复杂背景及遮挡条件下的运动目标跟踪方法 |
US10490157B2 (en) * | 2017-01-03 | 2019-11-26 | Screenovate Technologies Ltd. | Compression of distorted images for head-mounted display |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034079B (zh) * | 2009-09-24 | 2012-11-28 | 汉王科技股份有限公司 | 眼镜遮挡下的人脸识别方法和系统 |
US8406548B2 (en) * | 2011-02-28 | 2013-03-26 | Sony Corporation | Method and apparatus for performing a blur rendering process on an image |
CN105718254A (zh) * | 2014-12-10 | 2016-06-29 | 乐视移动智能信息技术(北京)有限公司 | 一种界面显示方法和装置 |
US10373366B2 (en) * | 2015-05-14 | 2019-08-06 | Qualcomm Incorporated | Three-dimensional model generation |
CN105677395B (zh) * | 2015-12-28 | 2019-09-10 | 珠海金山网络游戏科技有限公司 | 一种游戏场景像素消隐的系统和方法 |
CN108053464B (zh) * | 2017-12-05 | 2021-06-22 | 北京像素软件科技股份有限公司 | 粒子特效处理方法及装置 |
-
2018
- 2018-12-12 CN CN201811516380.9A patent/CN109671097B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077539A (zh) * | 2013-01-23 | 2013-05-01 | 上海交通大学 | 一种复杂背景及遮挡条件下的运动目标跟踪方法 |
US10490157B2 (en) * | 2017-01-03 | 2019-11-26 | Screenovate Technologies Ltd. | Compression of distorted images for head-mounted display |
Also Published As
Publication number | Publication date |
---|---|
CN109671097A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109671097B (zh) | 运动模糊实现方法及装置 | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
US20180084292A1 (en) | Web-based live broadcast | |
EP3542525B1 (en) | Methods and systems for filling light for video images | |
CN111080780B (zh) | 虚拟角色模型的边缘处理方法和装置 | |
CN112288665B (zh) | 图像融合的方法、装置、存储介质及电子设备 | |
CN109461199A (zh) | 画面渲染方法和装置、存储介质及电子装置 | |
JP4731100B2 (ja) | 鮮鋭度向上方法及び鮮鋭度向上装置 | |
CN108765520B (zh) | 文本信息的渲染方法和装置、存储介质、电子装置 | |
CN104574495A (zh) | 一种图像渲染方法和装置 | |
CN112991165B (zh) | 一种图像的处理方法及装置 | |
CN115409755B (zh) | 贴图处理方法和装置、存储介质及电子设备 | |
CN111127590B (zh) | 一种二阶贝塞尔曲线绘制方法及装置 | |
CN108335260A (zh) | 一种游戏场景图像处理方法、装置、存储介质及电子装置 | |
CN108074285B (zh) | 体积云模拟方法和体积云模拟装置 | |
CN109286758A (zh) | 一种高动态范围图像的生成方法、移动终端及存储介质 | |
CN111583398B (zh) | 图像显示的方法、装置、电子设备及计算机可读存储介质 | |
KR102082766B1 (ko) | 객체를 구별하는 방법 및 장치 | |
CN109542574B (zh) | 一种基于OpenGL的弹窗背景虚化方法和装置 | |
CN110533740A (zh) | 一种图像着色方法、装置、系统及存储介质 | |
US20240037701A1 (en) | Image processing and rendering | |
CN113052923A (zh) | 色调映射方法、装置、电子设备和存储介质 | |
CN109377552A (zh) | 图像遮挡计算方法、装置、计算设备及存储介质 | |
EP3503039A1 (en) | Data processing device, data processing method, and computer program | |
CN110852974B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |