2010-06-08 39 views
4

我想嘗試使用ColorMatrix,但我只能找到將圖像轉換爲灰度的示例。即使如此,他們往往會被呈現爲一大塊'幻數'代碼,沒有任何解釋。ColorMatrix的任何好的解釋性文檔來源?

有誰知道如何使用ColorMatrix的'教程'?例如,我希望將灰度圖像轉換爲彩色圖像,其中白色==透明,黑色=純色,灰色像素位於其間。 ColorMatrix可以做到嗎?

+0

你不是說轉換成彩色圖像,但轉換爲alpha蒙版。 – ChrisF 2010-06-08 12:28:31

+0

我想我會將單色[白色 - >黑色]圖像轉換爲單色[透明 - >%彩色%]圖像。因此,另一種看待它的方式是將輸入圖像看作是應用於純色的alpha蒙版。但輸出不是阿爾法面具。 – mackenir 2010-06-08 12:56:39

回答

2

我不知道任何文檔,但作爲ColorMatrix將一個RGBAW值轉換爲另一個,所以您可以設置矩陣以獲取輸入RGB值並將其應用於輸出Alpha值。 (W僅用於使矩陣數學運作)。

OK,我認爲以下矩陣應該做你想要什麼:

[1.0 0.0 0.0 0.333 0.0] 
[0.0 1.0 0.0 0.333 0.0] 
[0.0 0.0 1.0 0.333 0.0] 
[0.0 0.0 0.0 0.0 0.0] 
[0.0 0.0 0.0 0.0 1.0] 

這將使目前的RGB值不變,然後設置alpha爲R/3 + G/3 + B/3,即RGB值的平均值。將1.0值沿對角線更改爲0.0,以完全刪除RGB值。

如果您知道圖像是灰度其中R == ==摹B,則你可以用1.0替換0.333(重複)中的任何一個,並設置其它兩個爲0.0

+0

謝謝!我會試一試。我想我應該只看矩陣乘法 - 忘記了細節: - /。 – mackenir 2010-06-08 12:57:50

+0

@mackenir - 自從我做了這件事以來,我已經有一段時間了,所以請將我發佈的內容作爲一個起點! – ChrisF 2010-06-08 12:59:04