Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Теория* | Умное разукрашивание, RGB в градацию серого

Ответить
Настройки темы
*Теория* | Умное разукрашивание, RGB в градацию серого

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85


Конфигурация

Профиль | Отправить PM | Цитировать


Вот такой момент. Хочу некое изображение (теоретически, число цветов ограничено RBG [0-255,0-255,0-255]) разукрасить градациями некоего цвета. Пусть серого.

Можно просто пересчитать так:

для каждой точки
1. берём [R,G,B] в точке
2. вычисляем a = R+B+G
3. новый цвет n = [a/3,a/3,a/3]
повторить

Но понятно, что многие цвета тогда "сольются".

Может, есть какой-нибудь другой способ? Проблема в том, что он должен быть не очень сложным (считать будем на javascript)

Отправлено: 01:25, 01-11-2006

 

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


hasherfrog
Обычно именно просто вычисляют яркость точки. Только три цветовых компоненты дают различный вес. Никто не сошёлся точно с какими коэфициентами входит каждый компонент. Яндекс первой ссылкой даёт такую формулу:
Y= 0.2125R + 0.7154G + 0,0721В

-------
http://ivank.ru

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:55, 01-11-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1647
Благодарности: 146

Профиль | Отправить PM | Цитировать


Согласно книжке В.Порева "Компьютерная графика" ("БХВ-Петербург", 2004), белый цвет получается при соотношениях R, G, B - компонент 1 : 4.5907 : 0.0601. Если нормировать это отношение так, чтобы доли цветов в сумме давали единицу, получится 0,17697 : 0,81240 : 0,01063.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:31, 01-11-2006 | #3


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Чего-то я зашился. Уфф. А как "Яркость" из примеров вида Y= 0.2125R + 0.7154G + 0,0721В соотносится с яркостью из цветовой модели HSB?

Отправлено: 15:55, 01-11-2006 | #4


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


hasherfrog
Плохо. В HSB яркость определяется по максимальной компоненте из R, G и B: http://en.wikipedia.org/wiki/HSV_color_space Я вообще ничерта не понимаю в моделях представления цвета, но люблю ссылаться на википедию).

-------
http://ivank.ru


Отправлено: 16:58, 01-11-2006 | #5


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Вот тут чувак чего-то накрутил... http://alienryderflex.com/hsp.html
Маленькие картинки у него ничего так смотрятся... С квадратиками...
Но не совсем ясно, своё это вычисленное P он потом применяет как Y для серого (RBG[Y,Y,Y]) ???...
Зачем ему тогда получать H и S в RGBtoHSP() ? :-/

Отправлено: 17:27, 01-11-2006 | #6


Аватара для Diseased Head

Ветеран


Сообщения: 881
Благодарности: 55

Профиль | Отправить PM | Цитировать


Народ. А нельзя ли, постаратся, ссылки, на рускоязычные сайты давать. I am bad read to english. Я и русский то, через пень колоду. И как люди, не читающие по английски, смогут учавствовать в базаре.
Вообще-то форум русский...

-------
Знаю точно, что я есть. Остальное, всё, не точно.
Возможное - невозможно! Но невозможное - возможно, но нужна жертва соразмерная.


Отправлено: 19:49, 01-11-2006 | #7


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Diseased Head
Если для кого-то составляет трудность выучить английский в минимальном объёме со словарём (а больше для чтения технических документов и не требуется, хотя и желательно), то ему вероятно не стоит заниматься программированием. 95% полезной документации доступно только на английском. Лет через 10-15, наверное то же самое можно будет сказать про индийский/арабский/китайский. Слава богу, мы пока до такого не докатились.

-------
http://ivank.ru


Отправлено: 21:45, 01-11-2006 | #8


Аватара для Diseased Head

Ветеран


Сообщения: 881
Благодарности: 55

Профиль | Отправить PM | Цитировать


Согласен что надо выучить. Ээх... Много чего надо. Просто я подобную инфу где-то видел на русском.

-------
Знаю точно, что я есть. Остальное, всё, не точно.
Возможное - невозможно! Но невозможное - возможно, но нужна жертва соразмерная.


Отправлено: 22:40, 01-11-2006 | #9

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Пытаюсь обобщить:
1. простейшее цветовое преобразование можно выполнить как линейное - через матрицу 3x3. Какое бы не придумали преобразование, в линейном приближении оно этой матрицей всегда выразится.
2. В фотошопе есть 2 варианта сделать изображение чёрно-белым. 1) desaturate (изображение-редактирование) 2) создать новый слой, закрасить серым цветом и сделать режим соединения "color". Во втором варианте, на мой взгляд, всё выглядит гораздо естественней. Там используется нелинейное преобразование. Количество операций нисколько не больше, и скорость выполнения мне тоже нравится.

Отправлено: 20:51, 02-11-2006 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Теория* | Умное разукрашивание, RGB в градацию серого

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Перевод рисунка из ч/б в RGB Yez Программное обеспечение Windows 5 21-03-2008 22:47
кто работал с отттенками цвета rgb? E-mail Вебмастеру 2 07-11-2006 22:35
[решено] Разукрашивание сайтов по-своему, подменой CSS и Классов hasherfrog Вебмастеру 16 20-10-2006 01:21
*Теория* | Кодогенерация Vlad Drakula Программирование и базы данных 6 28-08-2006 06:49
ТЕОРИЯ german r Мобильные ОС, смартфоны и планшеты 5 07-02-2003 09:42




 
Переход