Разъяснение того, как работают преобразования ColorMatrix

Я работаю над приложением для обработки изображений (для удовольствия) и изо всех сил пытаюсь полностью понять, как работают преобразования ColorMatrix. Я разбираюсь в основах линейных / аффинных преобразований и могу обойтись без репликации примеров в Интернете, 1].

Мне здесь не хватает чего-то очевидного, и я рад признать, что не совсем уверен, что делаю :) Представлен ли преобразованный вектор цвета в какой-то другой системе координат? (например, не 0-255)

Если бы кто-нибудь мог помочь предоставить «недостающее звено», как я понимаю, я был бы очень признателен.

Править

Я только что обнаружил, что следующая матрица также работает и на самом деле математически интуитивно понятен (он производит правильный вектор).

-1  0  0  0  0
 0 -1  0  0  0
 0  0 -1  0  0
 1  1  1  1  0
 0  0  0  0  1

Итак, мой новый вопрос: почему обе эти матрицы работают? Последний предоставляет мне более удовлетворительное решение, поскольку я могу понять, почему оно работает с алгебраической точки зрения. Используется ли четыре ряда для масштабирования? И если да, то почему масштабирование добавляет 255? Откуда это значение?

Простите, если это действительно глупые вопросы, я ' м пытаюсь это исправить.

7
задан Jonathan Carter 23 February 2011 в 20:51
поделиться