图像处理中的亮度、曝光度和对比度滤镜详解
创作时间:
作者:
@小白创作中心
图像处理中的亮度、曝光度和对比度滤镜详解
引用
CSDN
1.
https://blog.csdn.net/h2282802627/article/details/114039152
在图像处理领域,调整图像的亮度、曝光度和对比度是常见的需求。本文将详细介绍这三种滤镜的原理和实现方法,帮助读者更好地理解和应用这些技术。
亮度滤镜(GPUImageBrightnessFilter)
亮度滤镜用于调节图像的整体亮度。其计算公式如下:
y = x + 255 ∗ b
其中:
- x 是调节前的像素值
- y 是调节后的像素值
- b 是调节参数
具体实现代码如下:
vec3 col = texture(iChannel0,uv).rgb;
float brightness = 0.5;
col += vec3(brightness);
fragColor = vec4(col, 1.);
下面是不同亮度参数的效果展示:
曝光度滤镜(GPUImageExposureFilter)
曝光度滤镜用于调节图像的曝光程度。曝光值(EV)的计算公式如下:
EV = log2(N^2/t)
其中:
- N 是光圈值
- t 是曝光时间(秒)
在GPUImage中,曝光值与图像呈现效果呈线性关系。具体实现代码如下:
const float exposure = 1.;
vec2 uv = fragCoord/iResolution.xy;
vec4 col = texture(iChannel0,uv);
col.rgb = col.rgb * pow(2.,exposure);
fragColor = vec4(col.rgb,1.0);
下面是不同曝光度参数的效果展示:
对比度滤镜(GPUImageContrastFilter)
对比度滤镜用于调节图像的亮暗区域层次感。其计算公式如下:
y = [ x − 127.5 ∗ ( 1 − b ) ] ∗ k + 127.5 ∗ ( 1 + b )
其中:
- x 是调节前的像素值
- y 是调节后的像素值
- b 的取值范围是[-1, 1],用于调节亮度
- k 用于调整对比度
具体实现代码如下:
vec3 col = texture(iChannel0,uv).rgb;
float contrast = 0.2;
col = (col.rgb - vec3(.5)) * contrast + vec3(.5);
fragColor = vec4(col, 1.);
下面是不同对比度参数的效果展示:
热门推荐
敦煌莫高窟壁画:世界佛教艺术的瑰宝
审核原始发票的要素
怎么看公司是否偷税漏税
广州出发一日游可以去哪里 广州周边一日游最佳去处和自由行攻略
瓦罗兰特玩家通常选择哪个服务器进行游戏?
NBA选秀顺位如何确定?四大因素详解
道教供香礼仪:焚香、拈香与五供详解
自信是成功的第一秘诀,人的自信到底源自何处?
大门牙歪了怎么矫正?带你了解门牙歪了的解决办法,多种矫正方式哪种更好更适合?
普希金25句经典名言:句句精辟,受益匪浅
心学问青少年教育,孩子说谎?教你如何正确引导
中国公路75年:从8万到543万公里
美术衍生品的著作权归属问题探讨
如何学会聆听?倾听他人的重要性。
CPU对工作效率的影响,电脑优化小技巧
鼻咽部总有粘液靠倒吸吐出?原因、治疗与日常养护全解析
合伙开公司要注意什么问题吗
12生肖性格解码:属相影响:个性魅力:性格特征深度解读
舌苔发黄是怎么回事
中国进入万兆启航关键期 上海奔赴“万兆第一城”
深度解析:影响液体压力大小的因素及计算方法
费率与年利率计算公式的理解与运用
评分最高的十部爱情剧:第三为国产经典,傲慢与偏见上榜
核弹爆炸后形成的弹坑尺寸
道家哲学与修炼艺术:道家的基本理念和历史人物
刺客信条:影
夏天燥热上火喝什么?教你在家制作十三款美味凉茶
劳务派遣合同到期续签的注意事项有哪些
期货玻璃的价格点如何计算?这种计算方式有什么市场意义?
什么是角色互换?角色互换:走进对方的鞋子体会人生百态!