一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Unity的色调映射方法与流程

2022-03-23 02:29:29 来源:中国专利 TAG:

一种基于unity的色调映射方法
技术领域
1.本发明涉及计算机技术领域,特别涉及一种基于unity的色调映射方法。


背景技术:

2.色调映射是在有限动态范围媒介上近似显示高动态范围图像的计算机图形学技术,其基本原理是进行大幅度的对比度衰减将场景亮度变换到可以显示的范围,同时要保持图像细节与颜色等对于表现原始场景非常重要的信息。现有的unity提供的色调映射只能整体影响所有物件最终呈现的效果,不能控制单个物件受色调映射影响的强弱程度,且会使得画面中亮度位于暗部区域的像素会变得更暗,丢失一定的颜色信息,最终整个画面的效果达不到预期。


技术实现要素:

3.为解决上述问题,本发明提供了一种基于unity的色调映射方法。
4.本发明采用以下技术方案:
5.一种基于unity的色调映射方法,包括如下步骤:
6.s1、在unity进行色调映射前,将原始图像的渲染结果保存为基本纹理;
7.s2、根据预设的亮度阈值区分出所述原始图像的暗部区域和明部区域,并分别调整其亮度值,对调整后的亮度值做模糊处理后保存成亮度纹理;
8.s3、结合所述亮度纹理和映射曲线,对所述原始图像进行色调映射处理,得到色调映射后的渲染结果,并保存成色调映射纹理;
9.s4、混合所述色调映射纹理与所述基本纹理的颜色值,得到最终色调映射图像。
10.进一步地,还包括步骤s5、通过调节原始图像中单个物件的颜色亮度,控制所述最终色调映射图像的效果。
11.进一步地,所述基本纹理、亮度纹理以及色调映射纹理的属性均为全局渲染纹理。
12.进一步地,步骤s2具体包括如下步骤:
13.s21、计算所述基本纹理中各像素的亮度值l;
14.s22、预先设定亮度阈值luminance,所述亮度值l小于所述亮度阈值luminance的区域属于暗部区域,所述亮度值l等于或高于所述亮度阈值luminance的区域属于明部区域;
15.s23、将所述暗部区域的亮度值l修改为l1=0,即所述暗部区域内的像素不受色调映射的影响;同时将所述明部区域的亮度值l修改为l1=l-luminance,即所述明部区域内的像素受色调映射的影响程度为l-luminance;
16.s24、对修改后的亮度值l1做模糊处理后保存为亮度纹理。
17.进一步地,所述亮度值l的计算为:
18.l=color.r*0.2125 color.g*0.7154 color.b*0.0721;其中,color.r表示红色的亮度值,color.g表示绿色的亮度值,color.b表示蓝色的亮度值。
19.进一步地,所述模糊处理采用高斯模糊算法。
20.进一步地,步骤s4具体包括如下步骤:
21.s41、预先设定最低亮度值l
min
和最高亮度值l
max

22.s42、利用smoothstep函数在最低亮度值l
min
和最高亮度值l
max
之间做平滑处理,计算出混合参数blend;
23.s43、根据所述混合参数blend,混合所述色调映射纹理和基本纹理的颜色值,得到最终的受色调映射影响的颜色值,并输出最终色调映射图像。
24.采用上述技术方案后,本发明与背景技术相比,具有如下优点:
25.1、本发明通过设置亮度阈值,区分出原始图像中的暗部区域,并将暗部区域的亮度值修改为0,在不改变原有色调映射曲线的条件下,保留了暗部区域的颜色信息,改善了映射后的图像的画面中暗部区域信息丢失的情况;
26.2、通过混合参数,将原始图像和映射后的图像的亮度值进行混合,从而控制场景中受色调映射影响的强弱强度;
27.3、根据实际最终的映射效果图,实时调节原始图像上单个物件上的颜色亮度和亮度阈值参数,进而精准控制场景中的单个物件受色调映射影响的强弱强度,快速、直观地调整最终的映射画面显示效果,制作出更逼真、更优化的映射画面。
附图说明
28.图1为本发明的方法流程图。
具体实施方式
29.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
30.实施例
31.如图1所示,一种基于unity的色调映射方法,包括如下步骤:
32.s1、在unity进行色调映射前,将原始图像的渲染结果保存为基本纹理;
33.s2、根据预设的亮度阈值区分出所述原始图像的暗部区域和明部区域,并分别调整其亮度值,对调整后的亮度值做模糊处理后保存成亮度纹理;
34.步骤s2具体包括如下步骤:
35.s21、从所述基本纹理中提取出亮度信息,并计算所述基本纹理中各像素的亮度值l;
36.所述亮度值l的计算为:
37.l=color.r*0.2125 color.g*0.7154 color.b*0.0721;其中,color.r表示红色的亮度值,color.g表示绿色的亮度值,color.b表示蓝色的亮度值。
38.s22、预先设定亮度阈值luminance,所述亮度值l小于所述亮度阈值luminance的区域属于暗部区域,所述亮度值l等于或高于所述亮度阈值luminance的区域属于明部区域;
39.s23、将所述暗部区域的亮度值l修改为l1=0,即所述暗部区域内的像素不受色调
映射的影响;同时将所述明部区域的亮度值l修改为l1=l-luminance,即所述明部区域内的像素受色调映射的影响程度为l-luminance;
40.s24、对修改后的亮度值l1做模糊处理后保存为亮度纹理。所述模糊处理采用高斯模糊算法。这里进行模糊处理是为了平滑色调映射影响区域的边缘。
41.s3、结合所述亮度纹理和映射曲线,对所述原始图像进行色调映射处理,得到色调映射后的渲染结果,并保存成色调映射纹理;由于亮度纹理中通过预设的亮度阈值luminance区分出了暗部区域,并将其亮度值l修改为l1=0,使得暗部区域的像素不受色调映射的影响,从而保留了暗部区域的颜色信息。
42.s4、混合所述色调映射纹理与所述基本纹理的颜色值,得到最终色调映射图像。
43.步骤s4具体包括如下步骤:
44.s41、预先设定最低亮度值l
min
和最高亮度值l
max
;亮度低的表示受色调映射影响的程度弱,亮度高的表示受色调映射影响的程度强;
45.s42、利用smoothstep函数在最低亮度值l
min
和最高亮度值l
max
之间做平滑处理,计算出混合参数blend;
46.blend=smoothstep(l
min
,l
max
,l1),其中,l
min
表示最低亮度值,l
max
表示最高亮度值,l1表示所述亮度纹理中保存的亮度值;
47.s43、根据所述混合参数blend,混合所述色调映射纹理和基本纹理的颜色值,得到最终的受色调映射影响的颜色值,并输出最终色调映射图像。
48.s5、通过调节原始图像中单个物件的颜色亮度,控制所述最终色调映射图像的效果。在实际操作时,开发人员可以根据最终显示的色调映射图像的效果,实时调整原始图像中的单个物件的颜色亮度,从而控制单个物件受色调映射效果影响的程度,由于物件的颜色使用hdr颜色,因此可以更大范围的调节颜色的亮度;具体的,当物件的原始亮度值小于最低亮度值l
min
时,物件完全不受色调映射效果的影响,会显示物件原本的颜色;当物件的原始亮度介于最低亮度值l
min
和最高亮度值l
max
之间时,物件受部分色调映射效果的影响,显示为物件原本颜色和色调映射后颜色之间的过渡色;当物件的亮度值大于最高亮度值l
max
时,物件完全受到色调映射效果影响,显示为色调映射后的颜色。实际操作时,最低亮度值l
min
和最高亮度值l
max
的取值范围在0-2.0之间。
49.本实施例中所述基本纹理、亮度纹理以及色调映射纹理的属性均为全局渲染纹理。
50.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献