Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Цветной фильтр


Автор: yan 27.1.2004, 12:55
Подскажите пожалуйста алгоритм наложения фильтра на цветное изображение. Суть фильтра в том, чтобы изображение стало как если бы на него смотрят через цветное стекло.

Автор: Unregistered 27.1.2004, 22:40
Можно так:

Выбрать цвет, которым нужно фильтровать - вектор (с вершиной в нуле) в пространстве (r,g,b)
Спроектировать цвета всех точек изображения на этот вектор
И затем произвести какое-нибудь преобразование над этим вектором (например укоротить его),
чтобы получившиеся значения цветовых координат всех точек попали в диапазон [0..255]

Правда, проектировать нужно скорее всего не ортогонально, а как-то хитрее
Но все в конце концов зависит от окончательного результата
Попробовать сделать по-разному, и остановиться на том варианте, где картинка будет наиболее правильной

Автор: yan 28.1.2004, 07:04
Цитата(Unregistered @ 27.1.2004, 22:40)
Можно так:

Выбрать цвет, которым нужно фильтровать - вектор (с вершиной в нуле) в пространстве (r,g,b)
Спроектировать цвета всех точек изображения на этот вектор
И затем произвести какое-нибудь преобразование над этим вектором (например укоротить его),
чтобы получившиеся значения цветовых координат всех точек попали в диапазон [0..255]

Правда, проектировать нужно скорее всего не ортогонально, а как-то хитрее
Но все в конце концов зависит от окончательного результата
Попробовать сделать по-разному, и остановиться на том варианте, где картинка будет наиболее правильной

Я слаб в векторах. Объясните пожалуйста свою идею на примере одной точки изображения.

Автор: mr.DUDA 28.1.2004, 16:48
Самый простой случай:
Нужно определиться, насколько "сильный" фильтр - пусть сила фильтра задаётся переменной диапазона 1...N (например 1,2) . Тогда разделив R и G на это значение, а B оставив неизменным, получим цвет, отфильтрованный синим стеклом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)