2010-06-08 2 views
4

Я хотел бы попробовать использовать ColorMatrix, но я могу найти только примеры, которые конвертируют изображение в оттенки серого. И даже тогда они, как правило, представлены как кусок кода «магических чисел» без объяснения причин.Любой хороший источник пояснительной документации по ColorMatrix?

Кто-нибудь знает о «учебнике» о том, как использовать ColorMatrix? Например, мне было бы интересно преобразовать изображение в оттенках серого в цветное изображение, где белый == прозрачный, а черный = сплошной цвет, с серыми пикселями где-то посередине. Может ли ColorMatrix это сделать?

+0

Вы не означает, преобразование в цветное изображение, но преобразование в альфа-маску. – ChrisF

+0

Я полагаю, что я бы превратил монохромное [белое> черное] изображение в монохромное [прозрачное ->% COLOR%] изображение. Таким образом, другой способ взглянуть на это - увидеть входное изображение как альфа-маску, которая применяется к сплошному цвету. Но выход не является альфа-маской. – mackenir

ответ

2

Я не знаю ни одной документации, но как ColorMatrix преобразует одно значение RGBAW в другое, поэтому вы можете установить матрицу для ввода входных значений RGB и применить их к выходному значению Alpha. (W только там, чтобы заставить матричные математики работать).

ОК, я думаю следующая матрица должна делать то, что вы хотите:

[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 без изменений, а затем установить альфа быть R/3 + G/3 + B/3, т. Е. Среднее значение RGB. Измените значения 1.0 по диагонали на 0.0, чтобы полностью удалить значения RGB.

Если вы знаете, что изображение является серая шкала, где R == G == B, то вы можете заменить любую из 0.333 (повторяющегося) с 1.0 и установить другой два в 0,0

+0

Спасибо! Я попробую. Полагаю, я должен просто посмотреть на матричное умножение вообще - забыв детали: - /. – mackenir

+0

@mackenir - прошло некоторое время с тех пор, как я сделал это в гневе, так что относитесь к тому, что я отправил в качестве отправной точки! – ChrisF

Смежные вопросы