图像亮度、对比度 算法--cg
2017-12-07 14:23
176 查看
亮度、对比度原理:
亮度对比度的算法公式
一副图像的亮度对比度调节属于图像的灰度线性变换,其公式如下:
y = [x - 127.5 * (1 - B)] * k + 127.5 * (1 + B);
x为调节前的像素值,y为调节后的像素值。
其中B取值[-1,1],调节亮度;
k调节对比度,arctan(k)取值[1,89],所以
k = tan( (45 + 44 * c) / 180 * pi );
其中c取值[-1,1]。通常我们用该值来设置对比度
特别的,
当B=0 时:y = (x - 127.5) * k + 127.5; 这时只调节对比度。
当c=0 时,k = 1:y = x + 255 * B; 这时只调节亮度。
同时,我项目中是需要处理成黑白颜色的。rgb处理成黑白的方法通常是用经验算法:
float gray = dot( color, float3(0.2989, 0.5870, 0.1140));
cg实现:
亮度对比度的算法公式
一副图像的亮度对比度调节属于图像的灰度线性变换,其公式如下:
y = [x - 127.5 * (1 - B)] * k + 127.5 * (1 + B);
x为调节前的像素值,y为调节后的像素值。
其中B取值[-1,1],调节亮度;
k调节对比度,arctan(k)取值[1,89],所以
k = tan( (45 + 44 * c) / 180 * pi );
其中c取值[-1,1]。通常我们用该值来设置对比度
特别的,
当B=0 时:y = (x - 127.5) * k + 127.5; 这时只调节对比度。
当c=0 时,k = 1:y = x + 255 * B; 这时只调节亮度。
同时,我项目中是需要处理成黑白颜色的。rgb处理成黑白的方法通常是用经验算法:
float gray = dot( color, float3(0.2989, 0.5870, 0.1140));
cg实现:
sampler2D RT : register(s0); float4 Gan_ps(//in float4 pos : POSITION, float2 iTexCoord : TEXCOORD0, float4 outPos : TEXCOORD1, , float4 outColor : TEXCOORD2 ,uniform float br//亮度 ,uniform float duibi ) : COLOR { float4 color=tex2D(RT, iTexCoord); float c = dot( color.rgb, float3(0.2989, 0.5870, 0.1140)); //黑白处理 float k=tan((45+44*duibi)/180.0*3.1415926); c=(c-0.5*(1-br))*k+0.5*(1+br);//亮度、对比度计算 return float4(c,c,c,1); }
相关文章推荐
- 图像编辑之对比度调整(亮度对比度的算法公式)
- 图像编辑之对比度调整(亮度对比度的算法公式) .
- 图像编辑之对比度调整(亮度对比度的算法公式)
- OpenCV 基于RGB三原色的基本线性变换 改变图像颜色和亮度 对比度增强算法
- 图像编辑之对比度调整(亮度对比度的算法公式)
- 图像基本变换---图像亮度对比度调增算法
- OpenCV图像亮度、对比度调节
- 对比度保留之彩色图像去色算法---基础算法也可以上档次。
- 调整图像亮度brightness,对比度contrast,饱和度saturation方法整理
- opencv学习笔记9 改变图像的对比度和亮度
- 改变图像的对比度和亮度
- Javascript图像处理―亮度对比度应用案例
- 基于多尺度对比度x射线图像增强算法
- PS 图像调整算法——亮度调整
- opencv学习(4)——图像亮度、对比度调整
- Opencv学习笔记(2)模块,图像读取、显示、叠加、融合、颜色分离、亮度、对比度
- 图像的亮度和对比度调节
- OpenCV 调整图像亮度以及对比度
- python数字图像处理(8):对比度与亮度调整
- 优化的对比度增强算法用于有雾图像的清晰化处理(算法效果是我目前看到最为稳定的,且对天空具有天然的免疫力,极力推荐有需要的朋友研究)。