图像处理中的亮度、曝光度和对比度滤镜详解
创作时间:
作者:
@小白创作中心
图像处理中的亮度、曝光度和对比度滤镜详解
引用
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.);
下面是不同对比度参数的效果展示:
热门推荐
养马岛赶海攻略:六个绝佳位置详解,从工具准备到安全提示
官杀混杂是什么意思,官杀混杂会出现什么问题
私家车减少、驾照变革、成本剧降:自动驾驶重塑未来生活
一场改变了明朝历史进程的战役——靖难之役
保定K1路公交车路线查询:保定东站至火车站西广场全程19站
冬至养生指南:5种养肾食材+3款养生食谱
《舌尖上的中国》揭秘羊羔肉的独特魅力
揭秘越南工业园区:2024年底哪些区域成投资热门?
小活络丸治疗手脚麻木:成分功效与使用指南
班杜拉教你提升自我信心
新能源持续增长,自主车企多点突破,10月乘用车市场表现亮眼
武则天执政:完善科举、发展经济,开创唐朝盛世
经济政策对股市的影响:深度解析与前瞻思考
科学营养全面解析:健康饮食指南助你吃出好身体
教你辨别硫磺枣,挑选真正优质红枣!
证件照这样拍才规范,职场形象这样管理才专业
苏东坡两度主政杭州,政绩化传说列入非遗传承
汉中到都江堰:一日游遍两大世界文化遗产
龙凤呈祥:解读中国传统文化中的吉祥符号
世界高血压日:运动5分钟就能降压,专家详解科学运动方案
旌德县兴隆镇:油茶树种植助力乡村振兴
打印机一切正常但不能打印?6种实用解决方案帮你轻松应对
阿贾克斯主场迎战拉齐奥:一场关乎小组头名的关键战役
湛江一中升学率揭秘:学霸是如何炼成的?
国产CAD新技巧:倒圆角功能助你节省设计时间
冬天皮肤瘙痒?试试红枣泥鳅汤!
儿童水痘防治指南:从症状识别到科学护理
专家详解:甲状腺结节患者的科学饮食管理方案
MIT专家:ChatGPT可助力教学,关键在于培养批判性思维
探访上海第一妇婴医院的老建筑:从中西疗养院到网红打卡地