Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing OpenGL ES着色器将彩色图像转换为黑白红外?_Image Processing_Opengl Es_Shader - Fatal编程技术网

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