图像处理中的亮度、曝光度和对比度滤镜详解
创作时间:
作者:
@小白创作中心
图像处理中的亮度、曝光度和对比度滤镜详解
引用
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.);
下面是不同对比度参数的效果展示:
热门推荐
肝经湿热下焦湿热用什么中药
为什么要贴玻璃膜不贴行不行(汽车前挡风玻璃要不要贴膜?)
改善失眠的基础——睡眠卫生教育
跟着美食游重庆 “渝味360碗”很热辣
Nature 推荐的文献检索 AI 工具,快去试试看
CPU选购终极指南:从游戏到办公,这几点让你不花冤枉钱!
佛教四大菩萨:观音、文殊、普贤、地藏的象征与道场
空调除湿和制冷模式不要乱用!很多人搞错了,导致电费翻倍涨
股市火热,当心"杀猪盘"!这些网络诈骗手法千万别中招
Excel中如何将姓名只保留姓氏?多种实用方法详解
婚姻伦理道德:构建和谐家庭的重要基石
结核药物治疗机制图解
看3D电影看得“天旋地转”?揭秘功能性平衡觉失调引起的“晕乎”
黄芪的功效与应用:从传统到现代的全面解析
好评中国·作品选登:一条调水线何以焕发蓬勃生机
圣路易斯华盛顿BA项目怎么样?
直线度误差评定的方法有哪些?
Blender修改器的介绍
抗真菌药物研究与应用
从听音乐的方式看出一个人的性格
建立和实施产品质量管理体系以提高企业竞争力
前交叉韧带重建术后二断率如此高!该不该回归运动?不必恐慌预防二断做到这些就够了!
核桃成熟上市时间是什么时候?如何判断核桃的最佳采摘期?
面对DeepSeek带来的人工智能伦理问题,庄子哲学提供了什么解答?
为什么在人工智能时代中批判性思维比以往任何时候都更重要
孙子兵法中的“不战而屈人之兵”:从《谋攻篇》看中国古代军事智慧
告别失眠,其实很简单!一个方法让你轻松入睡
约翰斯·霍普金斯大学艺术设计专业学习内容是什么
平台经济下的网约车司机:在算法囚笼中挣扎求生
追光 | 人生能得几回搏,拼了吧国足!