2011-06-08 124 views
3

我能創造一個片段着色器轉換成彩色圖像灰度圖像,通過:OpenGL ES着色器將彩色圖像轉換爲黑白紅外?

float luminance = pixelColor.r * 0.299 + pixelColor.g * 0.587 + pixelColor.b * 0.114; 
gl_FragColor = vec4(luminance, luminance, luminance, 1.0); 

現在我想模仿的Photoshop通道混合器效果:

Black & White Infrared

如何我可以將%百分比值(-70%,+ 200%,-30%)轉換爲r g b浮點數(例如0.299,0.587,0.114)嗎?

回答

3

你應該從學校得知10%的值意味着將該值乘以0.1,所以只需使用(-0.7, 2.0, -0.3)即可。

+0

我不認爲它是一樣的範圍,一個去-200%到200%,而浮法顏色從0到1,所以我想這不是相同的計算 – LeSam 2013-12-22 18:59:53

+0

沒有多數民衆贊成在錯誤,如果你加在一起所有值總共爲1.0(100%) - > -0.7 + 2.0 - 0.3 = 1.0。一個問題可能是負面的價值。如果您遇到問題,只需在每個值上加1併除以4即可。 - >(( - 0.7 + 1)+(2.0 + 1)+( - 0.3 + 1))/ 4 = 1 – C0dR 2014-01-27 20:51:32

相關問題