Это один из вопросов, который был задан учениками на курсе
Adobe Photoshop. Базовый уровень При желании дополнительные вопросы можно задавать прямо в комментариях к этому посту. Ссылки на все вопросы собраны в
верхнем посте моего ЖЖ.
14. При написании Action для частотного разложения, необходимо использовать команду Last Filter, однако, при записи команды Filter > Last Filter у меня всё равно применяется вполне конкретный фильтр (в командах выполнения action записывается «Имя фильтра», а не команда «Last Filter»). Как это реализовать?
В этот раз картинка вообще не понадобится. Хватит простого изображения палитр и командных меню. А Вы как думали? Экшены часто пишутся вообще вслепую, но об этом подробнее на следующей неделе в пятой статье цикла посвященного экшенописанию. А сейчас разберемся с вопросом. Можете
скачать разбираемый экшен, раскладывающий картинку на две полосы частот. Это немного доработанная версия одного из экшенов из ретушерской панели школы Profile. Основных отличий от старой версии три.
Во-первых, в процессе работы не изменяется масштаб и область отображения картинки на экране. Изначально я подсмотрел эту идею у Евгения Карташова, но поработав, пришел к выводу, что пользователь и сам разберется, в каком масштабе ему проверять картинку. А мельтешение сильно раздражало.
Во-вторых, по окончании работы группа слоев остается открытой, а слои ретуши подкрашены зеленым для более быстрого распознавания.
В-третьих, по просьбам любителей Mixer Brush Tool (Микс-кисть), в качестве слоя ретуши низких частот испоьзуется не пустой слой, а копия НЧ изображения.
Ниже представлен листинг команд экшена и получающаяся в результате его работы послойная структура. Радиус разложения оператор подбирает самостоятельно. В качестве визуализации демонстрируется низкочастотная (размытая) составляющая. ВЧ составляющая вычисляется честным вычитанием НЧ из исходника. Команда №13 работает через режим Subtract (Вычитание) и предназначена для разложения 8-битных изображений. Команда №14 работает через режим Add (Добавление), с ее помощью раскладываются 16-битные картинки.
Команда №7 и есть то самое размытие по Гауссу, радиус которого настраивает оператор.
Зачем вообще понадобилась команда Filter > Last Filter (Фильтр > Последний фильтр)? Если Вы общались с профайловской панелькой, то наверняка видели кнопку Repeat Last Split (повторить последнее разложение). Ее удобно применять при обработке серийных, однотипных изображений: на первом кадре настроил параметры, а дальше просто повторяй разложение.
Работа такого экшена реализована через повторное применение последнего фильтра. Дополнительную гибкость в работе добавлет то, что этим фильтром не обязательно должен быть Gaussian Blur (Размытие по Гауссу). Вы можете применить фильтр Median (Медиана), или Surface Blur (Размытие по поверхности), он станет последним и экшен в своей работе будет использовать именно его.
Вызывается последний фильтр командой Filter > ХХХ (Фильтр > ХХХ). Если после запуска программы ни один из фильтров не запускался, то вместо ХХХ будет стоять Last Filter (Последний фильтр). Если фильтры применялись, вместо ХХХ отобразится название последнего примененного.
Давайте, как показано в левой палитре, включим запись экшена и отдадим команду применить последний экшен. В результате после команды №7 фотошоп дазаписал команду №7а. Несложно убедиться, что это не вызов абстрактного «последнего фильтра», а применение конкретного фильтра с конкретными настройками. В этом и состоит проблема: при обычной записи команды Filter > Last Filter (Фильтр > Последний фильтр) экшен запоминает конкретный фильтр, с конкретными настройками.
Решить эту проблему можно принудительной вставкой команды через выпадающее меню палитры Actions (Операции). Записываем весь экшен с применением простого фильтра размытия. Выбираем в листинге операцию размытия, отключаем ее и отдаем команду Insert Menu Item (Вставить пункт меню) из выпадающего меню палитры.
На экране появляется вот такая дополнительная палитра.
Выбираем из основного командного меню команду Filter > Last Filter (Фильтр > Последний фильтр). И не важно, что она в данный момент называется Filter > Gaussian Blur (Фильтр > Размытие по Гауссу). И запись Filter: Gaussian Blur (Фильтр: Размытие по Гауссу) появившаяся в палитре тоже не должна Вас смущать. Смело жмите ОК.
В результате в листинге появилась команда Select Last Filter menu item (Выделение Последний фильтр (пункт меню)). Мы получили то, что хотели. А локализаторам нужно забить гвоздь в лоб и повесить на нем табличку: «Select Last Filter menu item» переводится на русский как «Выбрать пункт меню Последний фильтр».
Даю подсказку. Если сдублировать этот экшен несколько раз, а потом в каждом оставить только нужные команды, можно получить полный набор экшенов для разложений на две полосы частот.
В команде №7 можно отключить диалог с оператором и прописать разные радиусы. Команду №13 ставить для набора экшенов, работающих с 8-битным изображением, а №14 для 16-битных картинок.
Разложение на 2 полосы с визуализацией ВЧ и разложение на 3 полосы делается немного хитрее, но когда-нибудь и до таких вопросов дойдем.