一种颜色混合的方法、系统、计算机设备及存储介质技术方案

技术编号:21401297 阅读:33 留言:0更新日期:2019-06-19 07:37
本发明专利技术提出了一种颜色混合的方法、系统、一种计算机设备和一种计算机可读存储介质。其中,颜色混合的方法包括:获取图像中的源颜色、至少一个叠加色以及至少一个叠加色中的任一个叠加色所对应的透明度数值;根据源颜色和透明度数值进行第一遍渲染,得到第一遍渲染颜色值;根据至少一个叠加色确定累计叠加颜色;根据透明度数值确定经验参数;根据第一遍渲染颜色值、累计叠加颜色和经验参数进行第二次渲染,得到输出颜色值。通过本技术方案可以实现完全不依赖叠加颜色的排列的先后顺序,就可以完成对最终混合颜色的确定,并且得到的混合效果与传统的半透明混合技术得到的渲染效果接近。

【技术实现步骤摘要】
一种颜色混合的方法、系统、计算机设备及存储介质
本专利技术涉及计算机图形学领域,具体而言,涉及一种颜色混合的方法、系统、一种计算机设备和一种计算机可读存储介质。
技术介绍
半透明混合(AlphaBlending)是一种常见的颜色混合方法,其作用是要实现一种半透明效果。透明度(Alpha)是出现在32位位图文件中的一类数据,用于给图像中的像素指定透明度,即在原有24位真彩文件中通过添加第四种通道,即Alpha通道,文件可以指定每个像素的透明度。Alpha设为0表示透明,Alpha设为1表示不透明,在此范围之间的值表示半透明。半透明混合是将新的颜色与旧的颜色经过一定的计算,从而产生的新的颜色,现阶段的半透明混合技术是将源颜色和叠加颜色各乘以一个系数后相加,得到输出颜色值,当叠加多个颜色时,需要按照叠加颜色的顺序,对每一个颜色进行叠加,但是传统的计算方式完全依赖叠加颜色的排列顺序,当叠加的颜色无法进行排序时,如:对三维场景中的物体进行绘制,传统的半透明混合技术进行颜色叠加计算会非常困难。因此,需要一种颜色混合方法来解决上述问题。
技术实现思路
本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。为此,本专利技术的一个方面在于提出了一种颜色混合的方法。本专利技术的另一个方面在于提出了一种颜色混合的系统。本专利技术的再一个方面在于提出了一种计算机设备。本专利技术的又一个方面在于提出了一种计算机可读存储介质。有鉴于此,根据本专利技术的一个方面,提出了一种颜色混合的方法,包括:获取图像中的源颜色、至少一个叠加色以及至少一个叠加色中的任一个叠加色所对应的透明度数值;根据源颜色和透明度数值进行第一遍渲染,得到第一遍渲染颜色值;根据至少一个叠加色确定累计叠加颜色;根据透明度数值确定经验参数;根据第一遍渲染颜色值、累计叠加颜色和经验参数进行第二次渲染,得到输出颜色值。本专利技术提供的颜色混合的方法,通过获取图像中的源颜色、叠加色以及叠加色中所对应的透明度数值、根据源颜色和所有叠加颜色的透明度数值进行第一遍渲染,得到第一遍渲染颜色值;通过至少一个叠加色进行计算确定累计叠加颜色,并根据所有叠加颜色的透明度数值确定经验参数;从而根据第一遍渲染颜色值、累计叠加颜色和经验参数三个参数就可以得到输出颜色值,即最终混合的颜色。在此过程中,完全不依赖叠加颜色的排列的先后顺序,只需要获取源颜色,叠加颜色以及叠加颜色对应的透明度数值就可以完成对最终混合颜色的确定,确定过程简单,无需多次累计重复进行叠加即可确定混合后的颜色,并且得到的混合效果与传统的半透明混合技术得到的渲染效果接近,完全适用叠加颜色先后顺序明确的透明混合计算,减少了颜色混合过程中的数据计算量,可以实现模型化来处理叠加颜色混合的问题。根据本专利技术的上述颜色混合的方法,还可以具有以下技术特征:在上述技术方案中,优选地,输出颜色值由以下公式计算得到:Coutput=Coutput1+C∑×ρ其中,Coutput是输出颜色值、Coutput1是第一遍渲染颜色值、C∑是累计叠加颜色、ρ是经验参数。在该技术方案中,输出颜色的计算的公式如上式,输出颜色值Coutput分别与第一遍渲染颜色值Coutput1、累计叠加颜色C∑以及经验参数ρ相关,通过该式能够直接计算得到多种叠加颜色叠加后的混合颜色,不在需要对源颜色按照叠加颜色叠加顺序一次一次重复进行迭代,减少了在颜色叠加过程中的计算量,并且由于经过公式计算可以直接得到最终输出颜色,可以将颜色叠加过程进行模型化和数字化,从而加速对颜色叠加的处理。在上述技术方案中,优选地,第一遍渲染颜色值由以下公式计算得到:其中,Coutput1是第一遍渲染颜色值、CBase是源颜色、Alphai是第i个叠加色对应的透明度数值、n是叠加色的数量。在该技术方案中,第一次渲染颜色值Coutput1的计算与CBase是源颜色CBase以及第i个叠加色对应的透明度数值Alphai有关,从而将源颜色引入渲染计算中,并对所有叠加颜色的透明度分别取补后进行累乘,使用得到的累乘结果对源颜色进行预处理,以便于在第二次渲染中作为被渲染对象进行渲染,此外第一次渲染颜色值的计算公式简单清晰,易于实现数字化以及模型化。在上述技术方案中,优选地,累计叠加颜色由以下公式计算得到:其中,C∑是累计叠加颜色、Ci是第i个叠加色、n是叠加色的数量。在该技术方案中,累计叠加颜色C∑是叠加色Ci的累加结果,用以将所有的叠加色进行计算,在进行第二次渲染时,作为叠加色对第一次渲染结果进行处理,在累加过程中对于叠加色的先后排列顺序没有一个限定要求,因此,摆脱了在叠加色的先后顺序排列无法确定时,半透明混合计算困难的情况,此外,累计叠加颜色的计算公式简单,易于数字化以及模型化。在上述技术方案中,优选地,经验参数由以下公式计算得到:ρ=g(Alpha1,Alpha2,Alpha3,……Alphan)其中,ρ是经验参数、g是以Alphai作为输入值的函数、Alphai是第i个叠加色对应的透明度数值。在该技术方案中,经验参数ρ与第i个叠加色对应的透明度数值Alphai相关,将各个叠加色的透明度数值作为输入值输入函数g中可以直接得到计算结果,用以对累计叠加颜色C∑设定权重,避免在第一次渲染颜色值与累计叠加颜色相加后出现数值溢出,颜色错误的情况,通过使用经验参数可以有效保证了计算得出的输出颜色值与传统的半透明混合技术得到的渲染效果接近。根据本专利技术的另一个方面,提出了一种颜色混合的系统,包括:获取单元,用于获取图像中的源颜色、至少一个叠加色以及至少一个叠加色中的任一个叠加色所对应的透明度数值;第一计算单元,用于根据源颜色和透明度数值进行第一遍渲染,得到第一遍渲染颜色值;第二计算单元,用于根据至少一个叠加色确定累计叠加颜色;第三计算单元,用于根据透明度数值确定经验参数;第四计算单元,用于根据第一遍渲染颜色值、累计叠加颜色和经验参数进行第二次渲染,得到输出颜色值。本专利技术提供的颜色混合的系统,通过第一计算单元对获取单元获取图像中的源颜色、叠加色以及叠加色中所对应的透明度数值、根据源颜色和所有叠加颜色对应的透明度数值进行第一遍渲染,得到第一遍渲染颜色值;使用第二计算单元对至少一个叠加色进行计算确定累计叠加颜色,并使用第三计算单元根据所有叠加颜色透明度数值确定经验参数;从而使用第四计算单元根据第一遍渲染颜色值、累计叠加颜色和经验参数三个参数就可以得到输出颜色值,即最终混合的颜色。在此过程中,完全不依赖叠加颜色的排列的先后顺序,只需要获取源颜色,叠加颜色以及叠加颜色对应的透明度数值就可以完成对最终混合颜色的确定,确定过程简单,无需多次累计重复进行叠加即可确定混合后的颜色,并且得到的混合效果与传统的半透明混合技术得到的渲染效果接近,完全适用叠加颜色先后顺序明确的透明混合计算,减少了颜色混合过程中的数据计算量,可以实现模型化来处理叠加颜色混合的问题。在上述技术方案中,优选地,第四计算单元使用以下公式计算得到所述输出颜色值:Coutput=Coutput1+C∑×ρ其中,Coutput是输出颜色值、Coutput1是第一遍渲染颜色值、C∑是累计叠加颜色、ρ是经验参数。在该技术方案中,输出颜色的计算的公式如上式,输出颜色值Coutput分别与第一遍渲染颜色值本文档来自技高网...

【技术保护点】
1.一种颜色混合的方法,其特征在于,获取图像中的源颜色、至少一个叠加色以及所述至少一个叠加色中的任一个叠加色所对应的透明度数值;根据所述源颜色和所述透明度数值进行第一遍渲染,得到第一遍渲染颜色值;根据所述至少一个叠加色确定累计叠加颜色;根据所述透明度数值确定经验参数;根据所述第一遍渲染颜色值、所述累计叠加颜色和所述经验参数进行第二次渲染,得到输出颜色值。

【技术特征摘要】
1.一种颜色混合的方法,其特征在于,获取图像中的源颜色、至少一个叠加色以及所述至少一个叠加色中的任一个叠加色所对应的透明度数值;根据所述源颜色和所述透明度数值进行第一遍渲染,得到第一遍渲染颜色值;根据所述至少一个叠加色确定累计叠加颜色;根据所述透明度数值确定经验参数;根据所述第一遍渲染颜色值、所述累计叠加颜色和所述经验参数进行第二次渲染,得到输出颜色值。2.根据权利要求1所述的颜色混合的方法,其特征在于,所述输出颜色值由以下公式计算得到:Coutput=Coutput1+C∑×ρ其中,Coutput是输出颜色值、Coutput1是第一遍渲染颜色值、C∑是累计叠加颜色、ρ是经验参数。3.根据权利要求2所述的颜色混合的方法,其特征在于,所述第一遍渲染颜色值由以下公式计算得到:其中,Coutput1是第一遍渲染颜色值、CBase是源颜色、Alphai是第i个叠加色对应的透明度数值、n是叠加色的数量。4.根据权利要求2所述的颜色混合的方法,其特征在于,所述累计叠加颜色由以下公式计算得到:其中,C∑是累计叠加颜色、Ci是第i个叠加色、n是叠加色的数量。5.根据权利要求2所述的颜色混合的方法,其特征在于,所述经验参数由以下公式计算得到:ρ=g(Alpha1,Alpha2,Alpha3,……Alphan)其中,ρ是经验参数、g是以Alphai作为输入值的函数、Alphai是第i个叠加色对应的透明度数值。6.一种颜色混合的系统,其特征在于,获取单元,用于获取图像中的源颜色、至少一个叠加色以及所述至少一个叠加色中的任一个叠加色所对应的透明度数值;第一计算单元,用于根据所述源颜色和所述透明度数值进行第一遍渲染,得到第一遍渲染颜色值;第二计算单元,用...

【专利技术属性】
技术研发人员:余洋张北宁刘波
申请(专利权)人:北大方正集团有限公司北大方正信息产业集团有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1