?

Log in

Previous Entry | Next Entry

Это один из вопросов, который был задан учениками на курсе Adobe Photoshop. Базовый уровень При желании дополнительные вопросы можно задавать прямо в комментариях к этому посту. В дальнейшем ссылки на все вопросы будут собраны в одном посте и систематизированы.



4. Как избавиться от жутких следов артефактов JPG?


Давайте сначала разберемся, как JPEG сжимает картинку, и чем «жуткие артефакты» отличаются от «не жутких». На иллюстрации приведена центральная часть кадра, который сделал Александр Железняк. Фото входило в книгу «Россия глазами блогера». Это кроп с полноразмерного кадра, разрешение «родное». Соответственно, каждый пиксель честно несет информацию о деталях. В той степени, в которй ее восстановил конвертер.




А вот это та же самя картинка покрытая «жуткими артефактами» ровно наполовину. На верхнюю половину. Кадр срощен из двух частей: нижняя половина сохранена с обычным для интернета фактором качества 8. В команде Save for Web (Сохранить для Web) этому соответствует установка качества 60. Верхняя половинка предварительно была сохранена с фактором качества 0. Наметанный глаз может заметить неоднородности на частичках мусора в воде. При этом верхняя часть краба выглядит достаочно сносно.




Фанаты могут сдернуть вышеприведенное изображение, открыть его в фотошопе, увеличить и рассмотреть неприятности во всей красе. Для всех остальных представляю центральную часть кадра, увеличенную в пять раз. Справедливости ради нужно заметить, что сохраненная даже с таким драконовским сжатием картинка, в реальном размере не производит неизгладимо жуткого впечатления. И, следуя принципу разумной достаточности, можно было бы с ней смириться. Но, принцип не накопления погрешностей не дает это сделать.




Чтобы побороть проблему, нужно понимать, как она образуется. Достаточно подробный рассказ об алгоритмах сжаия JPG можно найти в статье «Сжатие изображений: JPEG и JPEG2000», а простыми словами это можно описать так. Программа разбивает картинку на квадраты 8х8 пикселей (начиная с левого верхнего угла), после чего усредняет (размывает) картинку в каждом из квадратов. В результате внутри квадратов изображение теряет детали, а на стыках появляются явно заметные уступы. Чтобы побороться с ними, нужно размыть изображение. Но не все целиком, а только в области этих уступов.

Дя этого нужно сформировать выделение границ квадратов. Первым делом создаем файл File > New (Файл > Создать) размеров 8х8 пикселей. Как он будет называться не важно, сохрянять его не понадобится.




После этого отдаем команды Select > All (Выделение > Все), а потом Edit > Stroke (Редактирование > Выполнить обводку), с показанными ниже настрйками. В результате получается белый квадрат размером 8х8 пикселей с черной обводкой по границе шириной в 1 пиксель.




Выделение сохраняется, азначит можно привратить эту кртинку в патерн: Edit > Define Pattern (Редактирование > Определить узор). Вот в этом месте лучше ввести осмысленное название. А заодно закрыть временный файл.




Далее переключаемся на восстанавливаемое изображение, переходим в режим быстрой маски и отдаем команду Edit > Fiil (Редактирование > Выполнить заливку). В качестве образца заливки выбираем саготовленный патерн.





В результате на экране Вы увидите вот такое превью.




Поскольку у меня режим быстрой маски настроен на закрашивание выделенных участков, после выхода из режима быстрой маски муравьи будут маршировать вокруг стыков артефактов. ВНИМАНИЕ!!! Если у Вас быстрая маска настроена по-умолчанию (закрашиваются замаскированные области), в этом месте выделение нужно инвертировать. И, на всякий случай, проверьте, действительно ли стыки JPEG-артефактов лежат между тропинками муравьев.




А дальше даем простое гауссово размыие. поскольку размер артефактов не зависит от размера картинки, можно даже порекомендовать стандартные настройки. По моему опыту хорошо работает настройка 0,5-0,6 пикселей.




Ниже можно проверить результат. Увеличение в пять раз относительно нормального размера. Нижняя часть сохранена в JPEG с минимальной компрессией. Верхняя часть сохранена с максимальной компрессией (пример выше) и избавлена от явных артефактов по предложенному методу.

Конечно, чудес на свете не бывает. Разница видна, но, по сравнению с исходной «квадратичостью» все гораздо лучше.

Tags:

Comments

( 25 comments — Leave a comment )
superpsih
Jan. 23rd, 2015 08:09 am (UTC)
Не проще ли сохранить в JPEG в максимальном качестве?
3jia5l_ca6aka
Jan. 23rd, 2015 08:43 am (UTC)
чтобы что?
superpsih
Jan. 23rd, 2015 09:13 am (UTC)
Чтобы не было артефактов.
3jia5l_ca6aka
Jan. 23rd, 2015 09:16 am (UTC)
Тогда Ваш вопрос стоит адресовать не автору поста, а всему интернет-сообществу.
"Уважаемые человечки, пожалуйста, будьте добры, не используйте сжатие при сохранении в jpeg."
superpsih
Jan. 23rd, 2015 09:20 am (UTC)
Можно и так. Для меня не совсем понятно, для чего нужно сжимать jpeg? Если нужен меньший вес файла, можно уменьшить разрешение изображения, сохранив при этом максимальное качество. Для чего нужно полноразмерное фото в плохом качестве?
3jia5l_ca6aka
Jan. 23rd, 2015 09:30 am (UTC)
Для экономии трафика или места, обычно. Например, на развлекательных сайтах, где в т.ч. от скорости отзывчивости сайта зависит удовлетворенность пользователя. да много где, на самом деле - стоит только применить наши размышления к аудио- и видеозаписям, как станет понятней.
superpsih
Jan. 23rd, 2015 09:35 am (UTC)
На сайтах, обычно, ставят маленькое превью низкого разрешения при клике на которое открывается полноразмер. Аудио и видео весят в разы больше. При нынешней стоимости хранителей информации, можно хранить файлы в tiff, psd и raw, не говоря уже о jpeg. В общем, за всю мою практику, мне ни разу не приходилось сохранять jpeg со сжатием, поэтому, этот вопрос показался мне несколько странным, хотя, его решение - да, эффективное.
3jia5l_ca6aka
Jan. 23rd, 2015 09:36 am (UTC)
речь не о фотографе, который по неразумению сохранил все свои работы в жпег с сильным сжатием
а, например, о редких изображениях, оригиналов которых нет, а есть только ЭТО
alex_is
Jan. 23rd, 2015 08:14 am (UTC)
Очень подробно и доходчиво. Спасибо!
macrop
Jan. 23rd, 2015 08:36 am (UTC)
Так может как-то частотное преобразование приспособить?
Чёткий регулярный растр, он и пострашнее бывал, и то удаляли.
timon_timonich
Jan. 23rd, 2015 08:40 am (UTC)
Офигенно! Спасибо )
3jia5l_ca6aka
Jan. 23rd, 2015 08:45 am (UTC)
Изящно
Но, если я правильно понимаю, при таком методе изображение теряет еще немного (много) резкости
dmitry_novak
Jan. 23rd, 2015 09:08 am (UTC)
Толково :)
Единственное что нужно иметь не трансформированный и не обрезанный ранее жпег.

А встроенный шумодав с опцией "remove JPEG artifacts" не спасает?

Ну и дискретно-косинусное преобразование это все-таки не размытие, но это так, придирка )
macrop
Jan. 23rd, 2015 11:21 am (UTC)
ихмо это в старой редакции синусное преобразование было, точное такое как в книгах пишут..

потом 2000 стандарт появился, так уже что-то непонятное сделали..
zhur74
Jan. 23rd, 2015 12:36 pm (UTC)
2000 все равно никто не пользуется.

А про математику преобразования — не для такой статьи тема. Желающие найдут спецификацию формата и почитают.
_tepncuxopa_
Jan. 23rd, 2015 10:35 am (UTC)
большое спасибо!
alexbabashov
Jan. 23rd, 2015 11:40 am (UTC)
Для ленивых есть плагин Topaz DeJPEG
hellzbellz
Jan. 23rd, 2015 12:29 pm (UTC)
Спасибо! Отличная серия статей)
safronov
Jan. 23rd, 2015 05:00 pm (UTC)
Спасибо :)
Отлично!
Don Pedro
Jan. 24th, 2015 12:39 am (UTC)
Вопрос:

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

Правильный ответ "маскировать всё это на моменте съёмки и аккуратнее ставить свет" я знаю, но вдруг есть какие-нибудь ещё варианты.

Контрастные по цвету, но не сильно отличающиеся по яркости отражения ещё как-то можно приглушить, используя режим наложения color, карту градиентов или ещё какие-нибудь простые методы. А вот фотоаппарат в отражении, например, на золотом кубке всегда выглядит ярко-чёрным пятном и что с ним делать?
zhur74
Jan. 24th, 2015 12:53 am (UTC)
Есть, только называется он: "Закат Солнца вручную".
bmike
Jan. 24th, 2015 06:21 am (UTC)
С днём рождения!
Здоровья, счастья, всего самого наилучшего!
av_klement
Jan. 24th, 2015 08:19 am (UTC)
С ДНЕМ РОЖДЕНИЯ!

С Днем Рождения!
Sergey Galtsov
Jan. 24th, 2015 10:09 am (UTC)
Большое спасибо. FAQ-посты - прекрасная идея.
andreyzhelnin
Jan. 25th, 2015 05:56 am (UTC)
Отлично! Спасибо!
( 25 comments — Leave a comment )

Profile

zhur74
zhur74
Андрей Журавлев

Latest Month

January 2017
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
Powered by LiveJournal.com
Designed by Lilia Ahner