Перейти к содержимому



Фото

Удаление пятен с фотографий по карте пыли


  • Войдите, чтобы ответить
4 ответов в этой теме

#1 Timon

Timon

    Постоянный пользователь

  • Пользователи
  • PipPipPip
  • 112 сообщений

Отправлено 21 Март 2013 - 06:44

img_9.jpg

Пыль на матрице это плохо, но иногда бывают ситуации когда с ней ничего не поделаешь. Во время отпуска я нахватал жуткое кол-во пыли, не буду вдаваться в подробности как, но по приезду я получил огромное кол-во фотографий с пятнами. Все фотографии кропились в RAW конверторе, и поэтому написать экшн который бы удалял пыль не получалось, так как все картинки были разного размера. В итоге я решил сделать скрипт, который бы понимал картинки после кропа в RAW конверторе и накладывал бы на них маску пыли, сделанную предварительно. Об этом и поговорим.

Для начала нам надо сделать маску или карту пыли. Берем фотоаппарат, выставляем значение диафрагмы и выдержки побольше, в моем случае это F/16 и 8 секунд. Далее нам надо снять какой-нибудь относительно равномерный предмет вращая перед собой камеру, я лично сфотографировал обычную стенку на кухне. Открываем файл в ACR с обычными настройками и видим примерно следующее.

img_1.jpg

Дальше выкручиваем Clarity +100, Saturation -100, Blacks +0, Contrast +0. В тоновой коррекции сильно поднимаем контраст, можно поиграться с настройками шарпа и шумодава. Надо прекрасно осознавать что разные линзы дадут разную картинку, и логично что маски будут разные, поэтому надо помнить про это когда будете выставлять Lens Corrections. Получается у нас примено следующее, я понимаю что картина ужасная, и лучше такого не допускать. Но вот так вот получилось :)

img_2.jpg

Отправляем все это дело в фотошоп. Несколько движений кривыми и прочих ухищрений и мы получим что-то типа этого. Надо сказать что все пятна точно у вас не останутся, и часть точек я банально нарисовал сам кисточкой.

img_3.jpg

Маска пыли получена, теперь начинаем эксперименты. Снимаем вид из окна, стараясь захватить побольше неба. Эта картинка у нас и будет в качестве теста. Выставляем параметры по вкусу, я особо заморачиваться не стал. Теперь самое интересное делаем кроп картинки, чтобы было посложнее делаем это дело все под углом. На превью пыли особо не видно, самое заметное пятно - правый верхний угол под проводом. Отправляем картинку в фотошоп. Один нюанс, если вы делаете экспорт из Lightroom, но надо убирать галочку Minimize Embeded Metadata, иначе информация о координатах кропа не попадет в файл.

img_4.jpg

Вот тут было самое сложное, надо на картинку после кропа наложить маску. Дальше немного теории, в каждый файл пишутся метаданные, среди них и есть данные по кропу. Хотелось бы отдельно отблагодарить программистов Adobe за систему, что они сделали, кроп прямоугольный и они могли просто писать туда 4 координаты кропа, так нет, они выпендрились и стали писать туда координаты левой верхней и правой нижней точки, а также угол наклона. В общем по этим данным надо было посчитать координаты кропа, вырезать это дело из маски и наложить на нашу картинку. В скрипте эти расчеты занимают около 20 строк, но я потратил на это несколько дней, вспомнил базовый курс тригонометрии, который забыл напрочь :)

Скрипт отработал и наложил маску пыли в нужное место. Переключаем в режим Lighten и мигаем, проверяем, правильно ли легла наша будущая маска. Все вроде бы отлично, возвращаем нормальный режим и выключаем видимость.

img_5.jpg

Сделаем группу и маску для неё. Чтобы наши будущие воздействия не влияли на нужные объекты, нам надо сделать отдельно маску, обычно это на небо и воду, на остальном пыль не так заметна. Сделать маску неба можно кучей разных способов, это разница каналов через Calculations, канал Black в режиме CMYK, можно сделать Difference предварительно через Hue/Saturation выкрутив Cian и Blue, можно вообще кисточкой нарисовать, в общем каждый может выбрать что ему по душе.. Лично я, банально взял синий канал и провел над ним очень жестокую коррекцию через кривую. Идеально не получилось, но все равно некоторая корректировка в маске нам еще предстоит.

img_6.jpg

Внутри этой группы делаем еще одну группу, в неё кидаем копию основного слоя, в качестве маски используем туда наш слой с пылью. Select - Color Range - Fuzznnes: 200. Получаем выделение для пыли.

img_7.jpg

Далее идем на слой, с копией основного слоя и применяем фильтр Noise - Dust & Scrathers. Параметры можно подобрать самому, я использовал Treshold: 0, Radius: 50px, хотя 25 на самом деле было бы достаточно. Вообще пыль можно замазать разными способами, как например сделать из выделения Path, а затем через Stroke Path, пройтись Spot Healing Brush, еще как вариант можно сделать удаление с Content-Aware. Тут решать вам. Слою выставляем режим наложения Lighten или оставляем Normal, можно Luminocity, но разницы практически никакой.

Теперь желательно проверить что мы натворили. Я обычно выделяю верхнюю группу и выставляю ей режим Difference. Сразу видно, что из-за немного кривой маски мы залезли на часть дома, и есть ненужное замазывание проводов. Все это за 5 секунд, исправляется небольшим рисованием по маске пыли, во второй группе.

img_8.jpg

100% кроп конечного результата. Как видим, маска пыли легла корректно и пыль ушла.

img_9.jpg

Здесь в архиве (47,1 Mb), вы найдете оба RAW файла, маску пыли, скрипт и экшн.

Внимание! Внутри скрипта надо поменять путь к файлу с картой пыли, строка 18: var fileRef = new File("d:/_tmp/_lessons/_lesson5/_dustmask.psd");

Инсталяция скрипта довольно простая, достаточно его скопировать по пути C:\Program Files\Adobe\Adobe Photoshop CS(ваша версия)\Presets\Scripts и перезапустить фотошоп. Ссылка на скрипт появится в закладочке File -> Scripts. Я не проверял на совместимость с другими версиями, но на CS5, все работает нормально.

Вполне вероятно что скрипт может отработать у некоторых некорректно, также могут быть проблемы при разных кропах, я провел около 10-20 тестов и вроде нормально работал, еще я не тестировал это дело на вертикальных снимках, но если кому то надо будет могу доработать скрипт, если он будет некорректно работать.

Тестировали файлы после ACR и Lightroom. Не уверен, что другие конверторы будут писать нужные метаданные.


  • mb. нравится это

#2 mb.

mb.

    Administrator

  • Администраторы
  • 4 320 сообщений
  • LocationМосква

Отправлено 22 Март 2013 - 01:46

Полезно, т.к. у меня каждый второй кадр с пятнами от пыли. Только не совсем понял, как это работает  :dolf_ru_145 (1):



#3 Timon

Timon

    Постоянный пользователь

  • Пользователи
  • PipPipPip
  • 112 сообщений

Отправлено 22 Март 2013 - 02:02

Полезно, т.к. у меня каждый второй кадр с пятнами от пыли. Только не совсем понял, как это работает  :dolf_ru_145 (1):

Ну вообще это слишком умный вариант, достаточно обработать один кадр в Лайтруме, а потом засинхрить все фотографии в папке :)



#4 ЕленаН

ЕленаН

    Постоянный пользователь

  • Пользователи
  • PipPipPip
  • 616 сообщений

Отправлено 22 Март 2013 - 09:43

достаточно обработать один кадр в Лайтруме, а потом засинхрить все фотографии в папке

Либо в ACR - результат тот же самый получится. :)



#5 Timon

Timon

    Постоянный пользователь

  • Пользователи
  • PipPipPip
  • 112 сообщений

Отправлено 22 Март 2013 - 10:03

Либо в ACR - результат тот же самый получится. :)

Ну это само собой, сам то я Лайтрумом не пользуюсь, сортирую именно в ACR :)





Понравилась тема? Поделись с друзьями в социальных сетях

0 посетителей читают эту тему

0 пользователей, 0 гостей, 0 скрытых