За прошедшее после публикации первой статьи время в сети появилось
Кто-то просто перепечатал мою статью.
Кто-то написал сам, пытаясь объяснить проще и понятнее чем я:
http://live13.livejournal.com/202975.htm l
http://telesh.livejournal.com/4516.html
Кто-то включил этот прием в более комплексную последовательность обработки:
http://podakuni.livejournal.com/600689.h tml#cutid1
http://www.computerarts.co.uk/tutorials/r etouch-images-frequency-separation
Кто-то записал бесплатное видео:
http://www.biosigner.net/?p=66
http://eugenekartashov.com/video/videotu torialps/16-videourok-bystraya-retush-ko zhi.html
А кто-то проводит на эту тему платные семинары:
http://www.mywed.ru/forum/news/view/1589 0/
http://www.photo-eclipse.ru/masterclass.h tml
И даже выпускает учебные диски:
http://eugenekartashov.com/video/videoco urses/12-videokurs-photoshop-dlya-fotogr afa.html
Все это хорошо. Чем больше у людей будет возможности узнать и освоить новые приемы, тем выше будет средний уровень аудитории, тем интереснее будет двигаться дальше. Жаль только, что воспроизводя мой текст в почти копи-пастном режиме, многие забывают оставить ссылку на источник вдохновения.
Я понимаю, и именно с этого начал свою статью, что этот прием был известен до меня. Более того, в свое время я получил этому наглядное подтверждение. Одна из слушательниц семинаров передала мне диск с просьбой разобраться, что же было сдлано в файлах, которые ей выдали в одном агентстве примерно со следющими словами: «... если понимаете что здесь сделано и можете не хуже, мы вас возьмем...». Окрыв его я увидел знакомые картинки: вся ретушь строилась на упрощенном приеме с выделением среднечастотной составляющей и ее выборочным подавлением в исходном изображении (как убрать веснушки).
Тем не менее, мне приятно сознавать, что во многом благодаря моим усилиям этот прием покинул маленькое болото профессиональных ретушеров и пошел в массы. А предложенный Александром Миловским термин «частотное разложение» закрепился, вытеснив употребляемый не совсем к месту «wavelet».
В прошлой статье я привел ссылку на форум сайта www.modelmayhem.com и пост с милым названием «HighPass курит взатяг (+решение)», содеражащий описание альтернативной методики. А так же свою оценку, что все это глупости и результат будет одинаковый. Большинство читателей попались на удочку «авторитетности» автора и не пошли спорить в комментарии. Но нашелся человек, который не поленился проверить и опровергнуть мое утверждение.
Благодаря
nikitos_r и его посту «О частотном разложении» мы можем более подробно разобраться: в чем состоит проблема High Pass, насколько она велика и стоит ли ее бояться.

Давайте я вкратце напомню о чем идет речь.
High Pass выполняет очень простую операцию: находит разницу яркости исходной и размытой по гауссу картинок и показывает ее в виде отклонения яркости от средней (тон 128). Если исходник светлее размытой версии — результат будет светлее средне-серого, если исходник темнее — и результат темнее средне серого. Мы получаем средне-серое изображение в области однотонных полей исходника с ореолами вдоль его контрастных контуров. При работе с цветным изображением эта операция выполняется для каждого канала в отдельности.
Все идет хорошо до тех пор, пока яркость исходного и размытого изображения отличаются меньше чем на 128 тоновых уровней. Как только разница становится больше 128 High Pass не может ее отобразить. Возникает погрешность округления. Именно ее
nikitos_r и показал на приведенной выше картинке.
В качестве альтернативы High Pass надо:

В режиме Subtract из яркости исходника вычитается яркость размытой версии (находится разница между ними с учетом знака). При помощи поля Offset задается средняя яркость финальной картинки вокруг которой будут плясать ореолы. Поле Scale позволяет отдать команду сразу разделить разницу яркости пополам.
Плюс последней операции не столько в избавлении от понижающих контраст кривых перед применением Linear Light, сколько в возможности отобразить все возможные отличия яркостей исходной и размытой версии. А теперь давайте подумаем, когда яркость размытой картинки будет отличаться от исходной больше чем на 128.
Такая ситуация невозможна на протяженной границе двух больших полей, даже если они кардинально отличаются по яркости: одно черное, а другое белое.

При размытии яркость на границе усреднится, таким образом ее отклонение от исходной будет не больше чем половина перепада яркости на границе. То есть меньше 128. Основное условие в данном случае — размер полей. Он должен быть достаточно большим по сравнению с радиусом размытия, чтобы соседние (находящиеся «за спиной») участки не оказали влияния на яркость размытой области.
Если поля небольшие по сравнению с радиусом размытия, но их много и они примерно уравновешивают друг друга, тоже ничего страшного не произойдет. На примере ниже примененно размытие с радиусом 50 пикселей к реальному размеру картинки (края были обрезаны для чистоты демонстрации).

Проблемы наступают когда отдельная маленькая по размеру область находится на фоне отличающемся по яркости более чем на 128 уровней. На иллюстрации внизу приведены две узкие полоски: черная на массивном белом поле, и белая на черном.

Их ширина (10 px) существенно ниже радиуса размытия (50 px), поэтому после размытия они просто исчезнут. А вот как выглядят вычисления ВЧ составляющей. Вверху вычитание размытой картинки из исходной при помощи Apply Image, внизу применение у исходному изображению High Pass и поснижение контраста в два раза относительно среднего тона.

Apply Image сработал правильно, а High Pass действительно покурил взатяг. Таким образом, High Pass лажает когда малый по сравнению с радиусом размытия участок окружен областью отличающейся от него по яркости более чем на 128 тоновых уровней.
На практике такими участками чаще всего являются мелкие точечные блики, а погрешности будут тем больше, чем больший радиус размытия используется. Ниже на примере предложенной
nikitos_r фотографии показаны области в уоторых High Pass дает ошибку при разных значениях радиуса.

Давайте подсчитывать убытки.
То, что High Pass ошибается, конечно плохо. Но, не надо забывать, что показанная здесь разница здорово усилена. При взгляде на обычную картинку (без промигивания), а тем более на отпечаток разглядеть ее будет практически невозможно. Для желающих самостоятельно все проверить я выложил послойный файл (14,9 мБ) в котором оба метода реализованы с тремя радиусами: 3, 5 и 10 пикселей.
При использовании малых радиусов (3-5 пикселей) характерных для отделения фактуры кожи, различия настолько малы, что ими можно принебречь. Более того, легкое «гашение» маленьких бликов автоматически защитит вас от пробоев и упреков: «А вот там у вас есть три пикселя выбитые в 255».
При больших значениях радиуса ошибки увеличиваются, но по прежнему остаются в окрестностях высококонтрастных границ и при простом просмотре финального изображения глазом не считываются. При этом в связке со смарт-объектами фильтр High Pass позволяет более удобно и интерактивно подбирать значение радиуса. А при записи экшена полностью избавиться от участия оператора в процессе разложения, с возможностью подстроить радиус по окончании работы экшена.
Исходя из написанного выше я считаю, что High Pass более удобен в работе, особенно для начинающих. Для более опытных пользователей, не испытывающих трудностей с быстрым подбором радиуса, можно смело рекомендовать метод вычитания размытой копии из исходного изображения при помощи команды Apply Image. Тем более, что все рутинные операции можно записать в экшен. Правда, в процессе его работы вам необходимо будет задать радиус размытия.
Если вам лень писать самостоятельно, можете скачать мой. Не накладывает ограничений на послойную структуру файла. Должен (но не проверялось) работать с русской версией. в процессе работы предлагает подобрать радиус размытия (по умолчанию стоит 5 пикселе).
P.S.
Выяснилось, что у пользователей GIMP таже проблема. Но мы теперь можем вздохнуть с облегчением и сказать: "Ну, у нас-то все в порядке!" А они не могут. Кстати, мужики то (читай Журавлев и пр.) знали, им просто писать было некогда. :-)
Желающие посетить очные занятия по цветокоррекции и обработке изображений могут познакомиться с программами и списком ближайших мероприятий в заглавном посте моего ЖЖ. Там же вы найдете ссылки на другие мои статьи.
Без предварительного согласования с автором разрешается перепечатка и размещение этого материала на любых ресурсах с бесплатным доступом при условии полного сохранения текста (в том числе и этого раздела), ссылок и иллюстраций, указания авторства и ссылки на первую публикацию.
Для коммерческого использования или перепечатки с внесением изменений необходимо согласование с автором. Связаться со мной можно по электронной почте zhur74@livejournal.com
© Андрей Журавлев (aka zhur74), ноябрь 2011 г.
Первая публикация http://zhur74.livejournal.com/26003.html
Кто-то просто перепечатал мою статью.
Кто-то написал сам, пытаясь объяснить проще и понятнее чем я:
http://live13.livejournal.com/202975.htm
http://telesh.livejournal.com/4516.html
Кто-то включил этот прием в более комплексную последовательность обработки:
http://podakuni.livejournal.com/600689.h
http://www.computerarts.co.uk/tutorials/r
Кто-то записал бесплатное видео:
http://www.biosigner.net/?p=66
http://eugenekartashov.com/video/videotu
А кто-то проводит на эту тему платные семинары:
http://www.mywed.ru/forum/news/view/1589
http://www.photo-eclipse.ru/masterclass.h
И даже выпускает учебные диски:
http://eugenekartashov.com/video/videoco
Все это хорошо. Чем больше у людей будет возможности узнать и освоить новые приемы, тем выше будет средний уровень аудитории, тем интереснее будет двигаться дальше. Жаль только, что воспроизводя мой текст в почти копи-пастном режиме, многие забывают оставить ссылку на источник вдохновения.
Я понимаю, и именно с этого начал свою статью, что этот прием был известен до меня. Более того, в свое время я получил этому наглядное подтверждение. Одна из слушательниц семинаров передала мне диск с просьбой разобраться, что же было сдлано в файлах, которые ей выдали в одном агентстве примерно со следющими словами: «... если понимаете что здесь сделано и можете не хуже, мы вас возьмем...». Окрыв его я увидел знакомые картинки: вся ретушь строилась на упрощенном приеме с выделением среднечастотной составляющей и ее выборочным подавлением в исходном изображении (как убрать веснушки).
Тем не менее, мне приятно сознавать, что во многом благодаря моим усилиям этот прием покинул маленькое болото профессиональных ретушеров и пошел в массы. А предложенный Александром Миловским термин «частотное разложение» закрепился, вытеснив употребляемый не совсем к месту «wavelet».
В прошлой статье я привел ссылку на форум сайта www.modelmayhem.com и пост с милым названием «HighPass курит взатяг (+решение)», содеражащий описание альтернативной методики. А так же свою оценку, что все это глупости и результат будет одинаковый. Большинство читателей попались на удочку «авторитетности» автора и не пошли спорить в комментарии. Но нашелся человек, который не поленился проверить и опровергнуть мое утверждение.
Благодаря

Давайте я вкратце напомню о чем идет речь.
High Pass выполняет очень простую операцию: находит разницу яркости исходной и размытой по гауссу картинок и показывает ее в виде отклонения яркости от средней (тон 128). Если исходник светлее размытой версии — результат будет светлее средне-серого, если исходник темнее — и результат темнее средне серого. Мы получаем средне-серое изображение в области однотонных полей исходника с ореолами вдоль его контрастных контуров. При работе с цветным изображением эта операция выполняется для каждого канала в отдельности.
Все идет хорошо до тех пор, пока яркость исходного и размытого изображения отличаются меньше чем на 128 тоновых уровней. Как только разница становится больше 128 High Pass не может ее отобразить. Возникает погрешность округления. Именно ее
В качестве альтернативы High Pass надо:
- 1. cделать две копии слоя с исходным изображением
- 2. применить к нижней Gaussian Blur с желаемым радиусом
- 3. к верхнему слою применить команду Apply Image, выбрав в качестве накладываемого изображения размытый слой, режим наложения — Subtract, в поле Offset ввести 128, в поле Scale ввести 2.

В режиме Subtract из яркости исходника вычитается яркость размытой версии (находится разница между ними с учетом знака). При помощи поля Offset задается средняя яркость финальной картинки вокруг которой будут плясать ореолы. Поле Scale позволяет отдать команду сразу разделить разницу яркости пополам.
Плюс последней операции не столько в избавлении от понижающих контраст кривых перед применением Linear Light, сколько в возможности отобразить все возможные отличия яркостей исходной и размытой версии. А теперь давайте подумаем, когда яркость размытой картинки будет отличаться от исходной больше чем на 128.
Такая ситуация невозможна на протяженной границе двух больших полей, даже если они кардинально отличаются по яркости: одно черное, а другое белое.

При размытии яркость на границе усреднится, таким образом ее отклонение от исходной будет не больше чем половина перепада яркости на границе. То есть меньше 128. Основное условие в данном случае — размер полей. Он должен быть достаточно большим по сравнению с радиусом размытия, чтобы соседние (находящиеся «за спиной») участки не оказали влияния на яркость размытой области.
Если поля небольшие по сравнению с радиусом размытия, но их много и они примерно уравновешивают друг друга, тоже ничего страшного не произойдет. На примере ниже примененно размытие с радиусом 50 пикселей к реальному размеру картинки (края были обрезаны для чистоты демонстрации).

Проблемы наступают когда отдельная маленькая по размеру область находится на фоне отличающемся по яркости более чем на 128 уровней. На иллюстрации внизу приведены две узкие полоски: черная на массивном белом поле, и белая на черном.

Их ширина (10 px) существенно ниже радиуса размытия (50 px), поэтому после размытия они просто исчезнут. А вот как выглядят вычисления ВЧ составляющей. Вверху вычитание размытой картинки из исходной при помощи Apply Image, внизу применение у исходному изображению High Pass и поснижение контраста в два раза относительно среднего тона.

Apply Image сработал правильно, а High Pass действительно покурил взатяг. Таким образом, High Pass лажает когда малый по сравнению с радиусом размытия участок окружен областью отличающейся от него по яркости более чем на 128 тоновых уровней.
На практике такими участками чаще всего являются мелкие точечные блики, а погрешности будут тем больше, чем больший радиус размытия используется. Ниже на примере предложенной

Давайте подсчитывать убытки.
То, что High Pass ошибается, конечно плохо. Но, не надо забывать, что показанная здесь разница здорово усилена. При взгляде на обычную картинку (без промигивания), а тем более на отпечаток разглядеть ее будет практически невозможно. Для желающих самостоятельно все проверить я выложил послойный файл (14,9 мБ) в котором оба метода реализованы с тремя радиусами: 3, 5 и 10 пикселей.
При использовании малых радиусов (3-5 пикселей) характерных для отделения фактуры кожи, различия настолько малы, что ими можно принебречь. Более того, легкое «гашение» маленьких бликов автоматически защитит вас от пробоев и упреков: «А вот там у вас есть три пикселя выбитые в 255».
При больших значениях радиуса ошибки увеличиваются, но по прежнему остаются в окрестностях высококонтрастных границ и при простом просмотре финального изображения глазом не считываются. При этом в связке со смарт-объектами фильтр High Pass позволяет более удобно и интерактивно подбирать значение радиуса. А при записи экшена полностью избавиться от участия оператора в процессе разложения, с возможностью подстроить радиус по окончании работы экшена.
Исходя из написанного выше я считаю, что High Pass более удобен в работе, особенно для начинающих. Для более опытных пользователей, не испытывающих трудностей с быстрым подбором радиуса, можно смело рекомендовать метод вычитания размытой копии из исходного изображения при помощи команды Apply Image. Тем более, что все рутинные операции можно записать в экшен. Правда, в процессе его работы вам необходимо будет задать радиус размытия.
Если вам лень писать самостоятельно, можете скачать мой. Не накладывает ограничений на послойную структуру файла. Должен (но не проверялось) работать с русской версией. в процессе работы предлагает подобрать радиус размытия (по умолчанию стоит 5 пикселе).
P.S.
Выяснилось, что у пользователей GIMP таже проблема. Но мы теперь можем вздохнуть с облегчением и сказать: "Ну, у нас-то все в порядке!" А они не могут. Кстати, мужики то (читай Журавлев и пр.) знали, им просто писать было некогда. :-)
Желающие посетить очные занятия по цветокоррекции и обработке изображений могут познакомиться с программами и списком ближайших мероприятий в заглавном посте моего ЖЖ. Там же вы найдете ссылки на другие мои статьи.
Без предварительного согласования с автором разрешается перепечатка и размещение этого материала на любых ресурсах с бесплатным доступом при условии полного сохранения текста (в том числе и этого раздела), ссылок и иллюстраций, указания авторства и ссылки на первую публикацию.
Для коммерческого использования или перепечатки с внесением изменений необходимо согласование с автором. Связаться со мной можно по электронной почте zhur74@livejournal.com
© Андрей Журавлев (aka zhur74), ноябрь 2011 г.
Первая публикация http://zhur74.livejournal.com/26003.html

Comments
спасибо тебе
Каждый специалист — раб своего рабочего потока, поэтому любой такой семинар — в некотором роде рассказ про авторский подход.
кстати, гимповоды, может кто-то в курсе чем у нас можно такое провернуть?
http://registry.gimp.org/node/11742
Дело, наверное, даже не в культуре, а в детской боязни, что вот сейчас я скажу, что я сам это где-то прочитал-услышал-увидел, и ко мне никто не придет (не будет меня читать). Все сразу ломануться к тому у кого я это читал-слушал-смотрел.
Мне многие качали головой и крутили пальцем у виска, когда я решил писать статьи по материалам своих занятий и выкладывать их в свободный доступ. Мол, никто на занятия не пойдет, раз можно и так почитать. Оказалось наоборот, людей приходит еще больше и именно после чтения статей.
Я думаю со временем эта боязнь пройдет.
Теперь по сути. Возможно, проблема с high-pass таки существует, её заметили и решили поделиться соображениями. Вопрос только насколько в её масштабе. Писать о ней можно долго и в деталях, но в конечном счёте всё решает слепой тест.
А в слепом тесте наблюдатель скорее заметит пропущенную область ретуши либо косяк в обработке, чем де веточку в блике глаза. Пока это не является технологией будущего, где через снимок такого блика можно увидеть номерные знаки машины и фоторобот преступника, на такой блик можно смело забить. Я так думаю (с)
Но лучше знать и опроблеме и понимать где она прячется. В некоторых случаях угасание мелких точечных бликов может оказаться критичным.
У Павла Косенко в статье про кривые так и написано, понятия "сильный" и "слабый" меняются в зависимости от контекста цветовой модели:
"Важно понимать, что если мы увеличиваем яркость какого-либо канала, или какой-то определённой яркостной области в этом канале, то мы делаем этот канал (или его область) «сильнее». То есть делаем более значимым вклад этого канала в итоговую цветную картинку RGB.<...>
Примечание. В полиграфии, при работе в цветовой модели CMYK, принято использовать терминологию «сильный»/«слабый» каналы в обратных смыслах. «Слабым» там называется самый светлый канал (так как он вносит меньший вклад в итоговое изображение, которое формируется красками на бумаге), а «сильным» — самый тёмный."
Понятно, что как каналы не называй смысла назначения они не меняют, но хорошо было бы всем договориться:)
Кстати, в фотографии используются те же самые красители: Cyan, Magenta и Yellow, поэтому самый темный канал приведет к наиболее сильной экспозиции соответствующего слоя пленки. Все логично: темный — сильный.
А договориться всем не получится. Таковы уж люди.
Я не говорил, что метод создан в основном моими стараниями, и про то что я являюсь автором идеи тоже не говорил. Специально, чтобы не возникало таких мыслей, в прошлый раз я написал первый раздел "Все было придумано до нас".
А вот то, что методика пошла в массы и набирает популярность, было сделано во многом моими стараниями. Даже название вашего видеоурока подтверждает это. А посмотрев его я как-будто свою статью заново перечитал.
Удалять ни в коем случае не надо! Урок толковый и наглядный. Я с удовольствием оставлю на него ссылку. А если вы включите в текстовое описани фразу типа: "Подробности можно почитать там-то", мне будет приятно.
А название курса зря не пишите. Чем больше люди знают друг друга, тем проще им общаться.
Так как курс называется и где на него ссылка?
Тогда же я понял, что для меня это не критично. Т.к. ретушь фотографии я выполняю до повышения контраста корректировочным слоем кривых. Поэтому на моих изображениях не встречаются очень темные или очень светлые детали. Следовательно разложение/сложение происходит правильно.
Комментировать nikitos_r который опубликовал свой пост об этом в fotoforge, честно говоря не хотелось. fotoforge не то место где хочется общаться. Увы.
Cоздать четыре копии слоя. обозвать можно например так:
-- high pass
-- middle pass
-- low gauss
-- high gauss
high gauss размываем по гауссу с радиусом высокой частоты
low gauss размываем по гауссу с радиусом низкой частоты
middle pass и high pass задаём режим смешивания Linear light
на high pass применяем apply image слоя high gauss. Больне слой high gauss не нужен, можно удалить.
на middle pass применяем apply image слоя low gauss. Далее middle pass размываем по гауссу с радиусом высокочастотного слоя.
Это всё. Вроде бы работать должно корректно. Поправте если я чего упустил?