Image processing OpenGL ES着色器将彩色图像转换为黑白红外?
我能够创建一个片段着色器,通过以下方式将彩色图像转换为灰度:Image processing OpenGL ES着色器将彩色图像转换为黑白红外?,image-processing,opengl-es,shader,Image Processing,Opengl Es,Shader,我能够创建一个片段着色器,通过以下方式将彩色图像转换为灰度: float luminance = pixelColor.r * 0.299 + pixelColor.g * 0.587 + pixelColor.b * 0.114; gl_FragColor = vec4(luminance, luminance, luminance, 1.0); 现在我想模拟Photoshop频道混音器效果: 如何将%百分比值(-70%,+200%,-30%)转换成RGB浮点数(例如0.299,0.5
float luminance = pixelColor.r * 0.299 + pixelColor.g * 0.587 + pixelColor.b * 0.114;
gl_FragColor = vec4(luminance, luminance, luminance, 1.0);
现在我想模拟Photoshop频道混音器效果:
如何将
%
百分比值(-70%,+200%,-30%)转换成RGB
浮点数(例如0.299,0.587,0.114)?你应该从学校就知道,10%的值意味着将该值乘以0.1,所以只需使用(-0.7,2.0,-0.3)
我认为它的范围不同,photoshop的一次到-200%到200%,而浮动颜色从0到1,所以我想这不是同一个计算不,这是错误的,如果你把所有的值加在一起,你得到的总值是1.0(100%)->-0.7+2.0-0.3=1.0。一个问题可能是负值。如果有问题,只需在每个值上加1,然后除以4即可。->((-0.7 + 1) + (2.0 + 1) +(-0.3 + 1)) / 4 = 1