2008-08-18 155 views
18

如何將像素的RGB值轉換爲單個單色值?RGB到單色轉換

+0

我認爲你的意思是灰度。單色表示圖像處於一種色調,並且仍然色彩繽紛。 – golopot 2017-06-17 02:04:55

回答

18

我在Color FAQ找到了一個可能的解決方案。 Y(來自CIE XYZ系統)捕獲了人類在一個通道中最容易察覺的顏色。因此,使用這些係數:

mono = (0.2125 * color.r) + (0.7154 * color.g) + (0.0721 * color.b); 
6

This MSDN article使用(0.299 * color.R + 0.587 * color.G + 0.114 * color.B);

This Wikipedia article使用(0.3* color.R + 0.59 * color.G + 0.11 * color.B);

+1

我認爲這些對於這個應用程序都是錯誤的,因爲它們適用於伽馬校正的RGB值。 – 2011-11-22 23:22:35

5

這取決於你的動機是什麼。如果您只是想將任意圖像變成灰度並使其看起來不錯,那麼可以通過其他方式解決這個問題。

如果您將彩色照片轉換爲黑白圖像,則該過程既複雜又主觀,需要對每幅圖像進行特定的調整。有關可能涉及的一個想法,請查看來自Adobe for Photoshop的tutorial

代碼複製,這將是相當複雜的,並且仍然需要用戶干預來獲得所產生的圖像美學「完美」(這意味着什麼!)。

5

recent scientific article所述狀態的最先進的在變換彩色照片爲灰度,包括簡單的亮度公式和更復雜的技術進行比較。

3

如還提到,灰度轉換(注意,單色圖像不需要在灰度)從RGB三元組的主題的味道。

例如,你可以欺騙,只抽取藍色成分,通過簡單地投擲紅色和綠色成分路程,複製代替他們的藍色值。另一個簡單而通常可行的解決方案是獲取像素的RGB三元組的平均值,並在所有三個組件中使用該值。

事實上,專業和非常便宜的所有沒有sirree灰度/單色轉換插件僅用於Photoshop的事實表明,轉換是一樣簡單或複雜,如你所願。