|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Теория* | Умное разукрашивание, RGB в градацию серого |
|
|
*Теория* | Умное разукрашивание, RGB в градацию серого
|
Старый параноик Сообщения: 2423 |
Профиль | Отправить 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
|
Профиль | Сайт | Отправить PM | Цитировать hasherfrog
Обычно именно просто вычисляют яркость точки. Только три цветовых компоненты дают различный вес. Никто не сошёлся точно с какими коэфициентами входит каждый компонент. Яндекс первой ссылкой даёт такую формулу: Y= 0.2125R + 0.7154G + 0,0721В |
------- Отправлено: 01:55, 01-11-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1807
|
Профиль | Отправить PM | Цитировать Согласно книжке В.Порева "Компьютерная графика" ("БХВ-Петербург", 2004), белый цвет получается при соотношениях R, G, B - компонент 1 : 4.5907 : 0.0601. Если нормировать это отношение так, чтобы доли цветов в сумме давали единицу, получится 0,17697 : 0,81240 : 0,01063.
|
Отправлено: 09:31, 01-11-2006 | #3 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Чего-то я зашился. Уфф. А как "Яркость" из примеров вида Y= 0.2125R + 0.7154G + 0,0721В соотносится с яркостью из цветовой модели HSB?
|
Отправлено: 15:55, 01-11-2006 | #4 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать hasherfrog
Плохо. В HSB яркость определяется по максимальной компоненте из R, G и B: http://en.wikipedia.org/wiki/HSV_color_space Я вообще ничерта не понимаю в моделях представления цвета, но люблю ссылаться на википедию). |
|
------- Отправлено: 16:58, 01-11-2006 | #5 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Вот тут чувак чего-то накрутил... http://alienryderflex.com/hsp.html
Маленькие картинки у него ничего так смотрятся... С квадратиками... Но не совсем ясно, своё это вычисленное P он потом применяет как Y для серого (RBG[Y,Y,Y]) ???... Зачем ему тогда получать H и S в RGBtoHSP() ? :-/ |
Отправлено: 17:27, 01-11-2006 | #6 |
Ветеран Сообщения: 881
|
Профиль | Отправить PM | Цитировать Народ. А нельзя ли, постаратся, ссылки, на рускоязычные сайты давать. I am bad read to english. Я и русский то, через пень колоду. И как люди, не читающие по английски, смогут учавствовать в базаре.
Вообще-то форум русский... |
------- Отправлено: 19:49, 01-11-2006 | #7 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Diseased Head
Если для кого-то составляет трудность выучить английский в минимальном объёме со словарём (а больше для чтения технических документов и не требуется, хотя и желательно), то ему вероятно не стоит заниматься программированием. 95% полезной документации доступно только на английском. Лет через 10-15, наверное то же самое можно будет сказать про индийский/арабский/китайский. Слава богу, мы пока до такого не докатились. |
------- Отправлено: 21:45, 01-11-2006 | #8 |
Ветеран Сообщения: 881
|
Профиль | Отправить PM | Цитировать Согласен что надо выучить. Ээх... Много чего надо. Просто я подобную инфу где-то видел на русском.
|
------- Отправлено: 22:40, 01-11-2006 | #9 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Пытаюсь обобщить:
1. простейшее цветовое преобразование можно выполнить как линейное - через матрицу 3x3. Какое бы не придумали преобразование, в линейном приближении оно этой матрицей всегда выразится. 2. В фотошопе есть 2 варианта сделать изображение чёрно-белым. 1) desaturate (изображение-редактирование) 2) создать новый слой, закрасить серым цветом и сделать режим соединения "color". Во втором варианте, на мой взгляд, всё выглядит гораздо естественней. Там используется нелинейное преобразование. Количество операций нисколько не больше, и скорость выполнения мне тоже нравится. |
Отправлено: 20:51, 02-11-2006 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Перевод рисунка из ч/б в RGB | Yez | Программное обеспечение Windows | 5 | 21-03-2008 22:47 | |
кто работал с отттенками цвета rgb? | Вебмастеру | 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 |
|