图像处理中的亮度、曝光度和对比度滤镜详解
创作时间:
作者:
@小白创作中心
图像处理中的亮度、曝光度和对比度滤镜详解
引用
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.);
下面是不同对比度参数的效果展示:
热门推荐
汉魏洛阳城中轴线(河洛地理)
东亭,历史与文化交织的璀璨明珠
亚健康状态的自我评估与调整
做期货进行对冲的目的是什么?这种对冲策略有哪些优缺点?
治疗慢性结肠炎最快的方法有哪些
女人闭经的10个征兆揭秘!女人闭经后该如何调理?
更年期运动的终极指南
深夜!中概股大爆发!黄金直线拉升,再创历史新高
揭秘死神VS火影最强伤害角色:蓝染惣助的恐怖输出能力
宇宙怎么测量的?人类连太阳系都走不出去,凭啥计算百亿光年之外
避雷针防雷检测机构:避雷针检测项目及具体检测方法
男性梦到蛇是什么征兆
蛇年说蛇——中华文化中的多元“蛇”意象
如何在微博评论中脱颖而出?轻松掌握高效互动技巧
离婚后结婚证应该如何处理
指甲有这种变化是生病了,快检查下你的!(不是竖纹
“区块链”赋能无书记员庭审 从上链到验真无缝衔接
邑泊咨询:缺陷管理
皮肤科医生才知道的“止痒神器”,普通药店就能买
太阳的"8"字轨迹:地球自转与公转的美妙印记
观赏鱼产业风云:南沙区新沙村的奇迹发展之路
国军为什么打不穿塔山防线?平地当道扎寨,程子华给马谡上了一课
深度解析mx350显卡什么级别天梯图,助你选购心仪显卡
乌克兰女性参战:战争阴影下的无奈与坚韧
戒烟也有最佳年龄!这个岁数前戒掉,死亡风险降低不止一点点
头部放疗一定要打甘露醇吗
防雷装置检测主要包含哪些内容?一文详解防雷检测要点
教育背景对薪资待遇的影响有多大
湘南学院2024年全国录取分数线及招生计划详解
厦门房价连续4个月上涨,刚需群体偏好的房产有哪些特点?