2010-08-18 109 views
1

比方说我们看到的人看电视的彩色图像,当我添加了OpenGL代码会变成这样:如何使用OpenGL将照片从彩色转换为黑白?

http://i.dailymail.co.uk/i/pix/2008/10/18/article-1078627-02281598000005DC-210_468x382.jpg

什么是从彩色照片转换成黑白的代码?

+4

好吧,让说。我们接下来应该做什么?你应该尝试指定你想达到的目标,你认为你应该如何,你有没有尝试过任何解决方案,你是否陷入了某种困境?基本上,给我们的信息来帮助你。 – Tom 2010-08-18 03:08:34

+0

你真的指黑白单色,还是灰度?我不相信。 – 2010-08-18 12:06:06

回答

4

Temptative答案:使用GLSL着色器

float luminance = (in.r+in.g+in.b)/3.0; 
gl_FragColor = vec4(luminance, luminance, luminance, 1.0); 

但这是一个蹩脚的问题

+2

你的意思是? float luma = in.r * 0.3 + in.g * 0.59 + in.b * 0.11; – 2010-08-18 08:37:36

+0

从技术上讲,sRGB将会是(0.35,0.71,0.12),但考虑到这个问题,这样的细节过于技术化,恕我直言。你从0.59哪里来? NTSC RGB? – Calvin1602 2010-08-18 10:37:34

+0

如果你对颜色权重无动于衷,这将起作用。哪一个不应该。 – 2010-08-18 12:05:03

相关问题