Я работаю над приложением для обработки изображений (для удовольствия) и изо всех сил пытаюсь полностью понять, как работают преобразования 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? Откуда это значение?
Простите, если это действительно глупые вопросы, я ' м пытаюсь это исправить.