Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 24 bit -> grayscale, не (r + g + b) / 3 
:(
    Опции темы
stab
  Дата 21.6.2003, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



такая проблемка: при переводе в оттенки серого по (r + g + b) / 3, цвета с одинаковой насыщенотью (чисто синий, чисто красный) получаются одинакового по яркости серого цвета.

что интересно фотошоп делает этот перевод, как то подругому:

user posted image user posted image

заметьте, что синий, зеленый и красный не слились хотя имеют одинаковою насыщенность.

вопрос: как это делает фотошоп? и какие еще способы есть кроме (r + g + b) / 3?


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
dm9
Дата 21.6.2003, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: нет
Всего: 137



Составляющие цвета не одинаково чувствуются нашим глазом - поэтому просто складывать нельзя: нужны особые коэффициенты, как вот здесь, например:
http://www.sources.ru/delphi/graphics/conv...hade_gray.shtml
PM MAIL ICQ   Вверх
stab
Дата 21.6.2003, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: нет
Всего: 48



dm9 спасибо


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
MuToGeN
Дата 25.6.2003, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



Код
Gray := Round((0.30 * GetRValue(RGBColor)) +
               (0.59 * GetGValue(RGBColor)) +
               (0.11 * GetBValue(RGBColor )));
А кто-нибудь может объяснить, почему именно 0.30, 0.59 и 0.11 и от чего это зависит?


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
PostEr
Дата 30.7.2003, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: нет
Всего: 1



Это может быть связано с размерами рецепторов и длинами волн красного, зелёного и синего цветов.




--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
PostEr
Дата 31.7.2003, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 30.6.2003
Где: Самара

Репутация: нет
Всего: 1



Согласно литературе (Е.В.Шикик, А.В.Боресков "Компьютерная графика.Полигональные модели.")...

Колбочки бывают трёх типов, отвеающих за чувствительность к длинным, средним и коротким волнам. Выдаваемое колбочкой значение являетяс результатом интегрировния спектральной функции I(L) с весовой функцией чувствительности. ( Прим. Графики зависимости приведены в книге. ) Видно, что у одной из них пик чувствительности приходится на волны с короткой длиной волны (синий цвет), у другой - на волны средней длины (жёлто-зелёный цвет), а у третьей - на волны с большой длиной волны (кр.цвет).
Таким образом, глаз человека ставит в соответствие спектральной функции I(L) тройку чисел (RGB), получаемую по формулам

R = (интеграл) I(L) PR (L)dL,
G = (интеграл) I(L) PG (L)dL,
B = (интеграл) I(L) PB (L)dL,

...
Одним словом читайте книгу, а основная мысль - наименьшая чувствительность приходится на синий , а наибольшая на жёлто-зелёный smile.gif Всем спасибо за внимание smile.gif)





--------------------

------------------------------------------------------------------

[email protected]
До востребования

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.