2010-08-18 106 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

相關問題