Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Графика » Photoshop: где всё-таки истина перевода в Grayscale?

Модерирует : Ausw

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Falbhanachaich

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые гуру Photoshop и цветотональных наук!
 
Есть необходимость поднять (а заодно задать) вопрос по теме, которая — в известных кругах — столь изъезжена, что даже неловко: вопрос перевода цветного изображения в grayscale; а именно — как эта кухня работает в Фотошопе, а ещё точней - алгоритм (формула) работы Photoshop при переводе Image -> Mode -> Grayscale.
По теме сей написаны тома - в бумаге и в Web, — но на своё удивление, перелопатив кучу сайтов, хелпов и несколько книжек, я обнаружил полное отсутствие единогласия... и внятного ответа на свой вопрос.
КАК же (с точностью до формул) ОН это всё-таки делает?
 
Заранее оговорюсь, что я говорю не о техниках и художественных методиках перевода RGB в полутональное изо (их я тоже обчитался), а конкретно о тех алгоритмах, формулах и инструментах, которые входят непосредственно в функционал ФШ.
 
Ясно, что ФШ использует в разных местах несколько цветовых моделей и формул над оными как основу для перевода в полутона. Но где — какие? Я провёл кучу вычислений с найденными в инете по статьям формулами, и обнаружил несколько интересных закономерностей и зависимостей, которые, к моему опять же удивлению, не так просто с наскоку найти в паутине.
 
В ФШ есть несколько инструментов перевода в grayscale, а также "скрытой" концепции соответствия цвета тону, и всё это работает по-разному.
 
Вот мой список с комментариями (он неполон, но остальные аспекты меня меньше волновали; один бы выяснить со всей точностью):
 
1) среднее арифметическое каналов (R+G+B)*1/3. Используется для расчёта I (Intensity) в третьей "вочеловеченной" цветовой модели (после HLS и HSB) — HSI. Но ФШ-ом, похоже, нигде не используется (по кр. мере явно);
2) "composite GRAY equivalent" - это мой окказионализм; называется это иначе, но хотелось сортировать вещи по тому критерию, ГДЕ и КАК мы это видим в ФШ. Итак -- это именно та цифра, которую мы видим как эквивалент данного цвета по 255- серой шкале в таких инструментах, как Curves (если нажать Ctrl и повозить по фото, то на кривой будет бегать кружок именно ЭТОГО значения); а также именно так переводится цвет в grayscale при работе в Levels (RGB-совмещённый канал), Blend If... (в Layer Style -- поддиалог Blending Options) и куче других мест.
На самом деле этот мой "composite GRAY equivalent" не что иное, как одна из трёх формул светлоты/светимости т.н. "средневзвешенной суммы" — 0.299R + 0.587G + 0.114B. Ещё её упрощают до 30-60-10, но ФШ считает точно . Кстати, насчёт именования величины, которая считается по этой формуле - тоже никакого консенсуса, что в наших источниках; то это у них светлота, то яркость, то светимость; то, соотв., Lightness, Brighntess, Luminance и даже Luminosity...
Есть ещё вторая, альтернативная формула этой величины -- 0.2126R + 0.7152G + 0.0722B, но ФШ-ом она, похоже, также нигде не используется. По крайней мере, по ней больше единогласия: в основном сходятся на том, что это Luma (обозн. Y), и коэфф. завязаны на силе восприятия различных диапазонов видимого спектра (их "силе яркости" при равной силе излучения);
3) GRAY при использовании Desaturate (Image -> Adjustments ->). В этом инструменте тупо используется такая величина, как L (кстати тоже фигурирует в разных источниках то Lightness, то Luminosity — с равной частотой!) из модели HLS. Это просто ср. арифметическое максимального и минимального значения в каналах: L(hls) = 0.5*(max(RGB) + min(RGB)). Работает на редкость тупо по прямому назначению;
4) значение L (правильнее L*) из модели Lab (правильнее опять же L*a*b*). Останавливаться не буду, гуру и так в курсе; а я сам мало что смыслю в этом, хоть и подкопил инфы. Понятно, что аппаратно-независимая модель, понятно, что расчет ведётся из цв. пространства CIE XYZ (cielab) через "истинные" координаты цвета (а точнее -- координаты Y), понятно, что двухчастная формула и график схожий с кубическим корнем, и понятно, что прямых формул с RGB или ей подобной модели нет.
5) GRAY из перевода Mode -> Grayscale.
Это, наконец, то, что вызывает все недоумения и споры. Алгоритма (или хотя бы объяснения откуда ноги растут) получения цифр, оказывающихся при переводе цветного изображения в полутон при помощи этой команды Я ТАК И НЕ НАШЁЛ.
Для наглядности я составил небольшую таблицу, чтобы комментировать свой основной вопрос, который ниже.
Я взял "на анализ" три цвета, один произвольный, а также R и G. Этого достаточно, чтобы иллюстрировать казус.
 
цвет ср.арифм (I) композит. "RGB-gray" из п. 2) значение L* из Lab L*(Lab) в пер. со 100% на 255-ед. Gray при Desaturate GRAY при Mode -> Grayscale    
   
23/81/177 94 74 31 79 100 88    
R(255/0/0) 85 76 57 145 127 146    
G(0/255/0) 85 150 86 219 127 218

 
Итак. Как мы видим, существует ба-альшая разница и разброд в понимании "серого эквивалента" какого-л. цвета (впрочем, факт известный — эта тема вообще предмет фундаментальных споров). Местами разница в 2 раза.
Например, при той же работе кривыми (или уровнями), или в Blend if: Gray...,  отсекая диапазон с нуля, мы увидим, что красный затронется почти одновременно с цветом 23/81/77 ("композитная концепция" считает его таким же тёмным, как и Red), но переведя ту же имагу в -> Grayscale, увидим, что красный аж почти в 2 раза  светлее этого синеватого оттенка; а в Lab и вовсе почти без "почти". Так что, кстати, думайте, насколько "объективно" затрагиваются цвета при работе "композитными" движками... и как это может разниться с вашими целями...
 
Так вот что поразительно! Есть три (!) разных — но ни одно из них не доставляет!!! —  объяснения работы Image -> Mode -> Grayscale.
а) Многие авторы сайтов по теории цвета вообще, и по ФШ конкретно, а главное — авторы серьёзных книг (в частности, такой столп как Дэн Маргулис, да и другие весьма компетентные мастера ФШ) прямо заявляют, что инструмент Mode -> Grayscale работает по принципу "2)", т.е. по формуле 30-60-10 (вернее, 0.299R + 0.587G + 0.114B).
А это дьявольски неверно, это грубая дезинформация!! Не работает ни разу ФШ при переводе в режим Grayscale по этой формуле. Он по ней работает я написал где.
б) Другие называют почти (но лишь почти!) верный вариант: что "Переводить изображение в Lab и брать оттуда канал Lightness, как многие делают, имеет немного смысла — то же самое вам сделает команда Mode -> Grayscale" (это почти цитата, как я её запомнил). Действительно, похоже на то, что цифры из посл. колонки всё же берутся из L*, но они не совпадают.
в) Наконец, третьи говорят дельную и толковую вещь, но, к сожалению, не объясняют досконально, КАК. После поисков я всё же нашёл места (и то на забугорном), где прямо говорится, что НЕТ единой формулы, по которой ФШ переводит цветные изображения в Grayscale, это зависит от входного (т.е. в котором был при открытии файл) и выходного (текущего, который в Color Settings) рабочих пространств — причём как Gray, так и RGB, а также текущей гаммы монитора.
 
Это -- в) которое -- действительно так; меняя рабочее пространство Gray, я (вслед за другими искателями правды) получал разные результаты.
 
Я всё понимаю, что единой ф-лы нет; но какой-то набор формул по-любому существует; Фотошоп не художник, он цифры нам выдаёт, и цифры он может получать лишь из формул. Пусть их куча, и они сложные -- да хоть ряды Тейлора и операторы Лапласа, но что-то нигде нет ответа... Понимаю я и то, что расчёт перевода и получения этих загадочных цифр из последней колонки будет зависеть от координат примитивов RGB, и белых точек в текущем пространстве и гамме монитора; и если они завязаны на L*, то полюбому при переводе аппаратно-зависимых координат эти примитивы и точки задействованы... Но как? Я же знаю (из того же диалога Color Settings) эти фундаментальные показатели!
 
...кстати, забыл добавить, что работа шла в сеансе с рабочим пространством Gamma Gray 2.2
 
Так что, уважаемые мастера цвета (если кто осилил мои многабукоф), кто-нибудь сможет помочь? Дать компетентный и исчерпывающий ответ, откуда берутся и по какому принципу высчитываются эти конечные данные после перевода в Image -> Mode -> Grayscale? Или хотя бы сказать, из какой модели как исходника рассчитываются? Из Lab всё-таки? Или?...
 
Формула(-ы) получения этих цифр-то по-любому есть!!!

Всего записей: 133 | Зарегистр. 22-02-2006 | Отправлено: 00:10 09-02-2012 | Исправлено: Falbhanachaich, 00:22 09-02-2012
Garik02

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Всего записей: 1 | Зарегистр. 18-08-2006 | Отправлено: 11:29 11-02-2012
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Графика » Photoshop: где всё-таки истина перевода в Grayscale?


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru