Графика
Программы работы с графикой
Последние записи
AI-функции в Darktable 5.6

Недавно вышел Darktable 5.6.0. Там довольно много нового и интересного, но, конечно, главное, что обращает на себя внимание — это AI-функции. Имеются: шумоподавление в RAW, просто шумоподавление, апскейл (т.е. увеличение картинки) и маски. Маски я пока не смотрел — я ими как-то вообще не пользуюсь и не очень понимаю, что проверять. Шумодавами и апскейлом я, правда, тоже почти не пользуюсь, но куда смотреть — представляю.
Что дают?
Итак. «raw denoise», «denoise» и «upscale». Как можно видеть на скриншоте, они объединены в один модуль, и это не модуль обработки, он не участвует цепочке обработки и не попадает в историю, это служебный модуль, и находится он в левой панели.
По кнопке «process» генерируется отдельный новый файл — TIFF в случае «denoise» и «upscale», и DNG — в случае «raw denoise». По умолчанию он размещается рядом с исходным и сразу регистрируется в библиотеке.
За исходник «raw denoise» берет исходное состояние RAW-файла, тогда как «denoise» и «upscale» — результат всех примененных обработок. Что, безусловно, логично, но не консистентно. К тому же конкретно для «denoise» это неудобно — по идее это действие должно быть внутри цепочки, ближе к началу… Я недоучел этот момент, когда делал свои тесты (о чем ниже), но переделывать не буду — «правильный» порядок действий слишком заморочный, чтобы реальный пользователь им занимался.
Где взять?
Тут есть засада: если вы как порядочный человек просто обновитесь из своего дистрибутива, не факт, что новые фичи у вас появятся. У меня в Gentoo, например, не появились. Требуется сборка с дополнительным флагом, и когда мейнтейнеры разберутся — неизвестно. Поэтому самый простой способ — скачать официальный релиз с GitHib. Для Linux там имеется AppImage, и он у меня заработал.
Затем нужно зайти в настройки.

-
Включаем вверху галочку «enable AI features».
-
Скачиваем модели. Все, или только дефолтные.
-
Закрываем Darktable и запускаем его снова.
Отдельный вопрос: как включить выполнение на GPU. По идее, нужно установить ONNX и радоваться, но у меня не получилось — ONNX установил, но он не цепляется. Для пробы это не критично, да и для использования — не так, чтобы очень — если нужно обработать небольшое количество фотографий, скорость на CPU вполне терпима.
Что получилось?
- TL;DR
-
-
Как работает raw denoise мне в целом понравилось, это сильно лучше шумоподавления в стандартных модулях.
-
А вот denoise просто на высоких ISO порождает артефакты. Отчасти эти артефакты могут усиливаться тем, что у меня по умолчанию включен локальный контраст, а denoise, как сказано выше, берет уже обработанное изображение.
-
Что касается upscale… Я не понял. Если брать 100% кроп, то какого-то улучшения деталей в сравнении с тупым увеличением при экспорте (там можно разрешить увеличение). Общая картинка выглядит пошарпленной, но это опять же может быть вызвано двойным применением локального контраста.
-
Ниже много тестовых картинок.
Первая глава «Практического руководства...»

Выложил первую главу «Практического руководства по darktable» — «Базовая обработка».
Вместе с «Введением» первая глава должна дать полноценный быстрый старт — основные вещи, которые необходимы, чтобы начать уже делать что-то полезное.
Описаны действия и модули для:
-
Выставления баланса белого;
-
Исправления оптических искажений и шумоподавления;
-
Кадрирования и изменения геометрии;
-
Работы с общим контрастом и экспозицией, вытягивания теней;
-
Подчеркивания деталей посредством локального контраста.
Огроменный вышел справочный раздел, подумываю о том, чтобы вынести переводы справки отдельно от глав все-таки… Но пока не уверен.
По прежнему жду замечаний и вопросов.
Следующая глава будет про организацию изображений — снова представление светового стола, но уже в максимально развернутом виде.
Этим стулом...

Начал писать большое Практическое руководство по darktable. Выложил «Введение», где рассматриваю общий интерфейс и базовое управление снимками.
Это всё пока черновик, который будет правиться и дорабатываться, поэтому замечания и вопросы крайне приветствуются.
Общая идея — соединить изложение в практическом ключе, посредством сквозных примеров и теоретических отступлений, со справочными материалами, прямо соответствующими родной справке darktable.
На данный момент справочная часть — это ИИ-перевод, тогда как практическая — оригинальный текст (писать не-перевод посредством ИИ оказалось практически невозможно, т.е. писать промпт куда сложнее и дольше, чем сам текст… это отдельная интересная тема, надо будет пост написать). По ходу дела буду и справочную часть активно редактировать, чтобы привести язык в порядок и единообразие.
Вообще, конечно, задумка масштабная, писать буду долго, тем более, что не могу этому посвятить все свое время… Но надеюсь где-то за полгода-год закончить. И опять же, рассчитываю на фидбэк по ходу дела, чтобы ничего не забыть и не схалтурить.
Darktable 4.2.0
Недавно вышла очередная версия моего любимого софта для обработки raw-файлов фотографий, и я решил, что это подходящий повод для того, чтобы посмотреть, а что же поменялось с того времени, когда я писал «Darktable — (не очень) быстрый старт». Речь там шла о версии 2.6.2, так что изменилось многое.
Вообще, версии 3.x.x развивались довольно бурно, стабилизировавшись к четверке, и в целом рабочий процесс можно считать устаканившимся. Что радует, ибо свистопляска немного утомила. Сейчас же, если мы посмотрим на изменения в релизе 4.2.0 относительно предыдущего 4.0.1, то увидим там плавные улучшения, доведения до ума, исправления багов и один новый модуль, о котором позже. Так что именно процесс принципиально не меняется.
Изменения, о которых пойдет речь ниже, в основном появились именно в версиях 3.x, но я не буду заморачиваться на поиск конкретной версии.
Hugin по-русски
Ковыряю потихоньку перевод документации по Hugin. Ну как документации… Там скорее база знаний на вики-движке. Когда-то давно я пытался привлечь к этому делу других людей на вики гитхаба, но что-то никто не приnвлекся. Так что я плюнул на вики-формат и загнал все это дело в привычный уже Jekyll на поддомене hugin.shikhalev.org.
В принципе, если вдруг кто захочет поучаствовать, то особых проблем быть не должно — markdown не сказать чтоб сильно сложнее вики-разметки. Правда, понадобятся базовые навыки работы с Git и GitHub, но это сейчас должно быть где-то на уровне обычной грамотности.
В процессе перевода я понял, что последовательность и структурированность оригинала меня категорически не устраивают. Вообще, материал довольно неровный. Как я уже сказал, это скорее база знаний, заполняемая разными людьми с разной степенью аккуратности, детальности и т.д. Поэтому я решил сразу запланировать помимо собственно перевода компиляцию всего этого дела во что-то более цельное. Правда, понятия не имею, когда до этого дойдут руки.
Что до текущего состояния, то статус перевода можно смотреть на странице «Переводы», где, впрочем, все абсолютно не структурировано — это просто автоматический список страниц, разбитый по статусам. Из более-менее цельных кусков переведено описание главного окна, оно же «Простой интерфейс», со всеми вкладками (там по ссылкам). Это в принципе уже может быть полезно для начала работы (а еще для начала можно прочитать мой старый пост «Пингвин-фотолюбитель: 3. Панорамы»).
О ресайзе PNG на примерах

Недавно мне задали такой вопрос:
Иван, как-то довелось делать resize png-картинки в Gimp. По сравнению с Photoshop качество хуже. Можешь тут подсказать?
Фотошопа у меня нет, сравнить не могу, поэтому попробую рассмотреть вопрос несколько по другому — какие способы ресайза мы имеем в Linux, пусть не «из коробки», но с минимальными трудозатратами. И что нам со всем этим богатством делать…
Сразу замечу, что выбор методов ресайза зависит не столько от формата, сколько от характера исходного изображения, так что все, написанное ниже следует читать не как прямое руководство к действию, а как подсказку, в каком направлении копать.
Для начала, чтобы много не писать о сути проблемы вообще, сошлюсь на хабрастатью «Ликбез: методы ресайза изображений». Она старая, но в плане основ и теории достаточно хорошо всё описывает. Более подробно, но на английском, можно почитать на сайте ImageMagick: «Resizing or Scaling», «Resampling Filters» и «Resampling by Nicolas Robidoux». Если Photoshop не использует новейшие достижения искусственного интеллекта (это не шутка, различные AI-методы сейчас активно применяются в обработке изображений), то правильный выбор фильтров и параметров, будем надеяться, позволит получить результат не хуже.
Что же касается формата PNG, то тут есть два соображения: во-первых, область применения — как правило, в PNG сохраняют не фотографии, а изображения с чистыми цветами и четкими границами, а во-вторых, применимость его к финальному результату — запросто можно при уменьшении картинки получить файл большего объема…
В общем, я взял два типичных, как мне кажется, случая, когда применяется именно этот формат: уменьшение скриншота (небольшое, чтобы можно было говорить о читаемости) и увеличение иконки (тут — в разы). Экспериментировать я буду с применением GIMP и ImageMagick.
Disclaimer: я не специалист в данной теме и все, что могу — потыкаться с точки зрения продвинутого юзера. Вышеприведенные ссылки могут стать отправной точкой для желающих разобраться по настоящему.
Новый модуль Darktable — «Уровни RGB»
Продолжаю изучать новые возможности Darktable 3.0. Пробежался по некоторым новым модулям, пока не впечатлен, но кое-что интересное нашлось. Модуль называется «Уровни RGB1» и делает, в общем, то же самое, что и старый модуль «Уровни» (правда, без полностью автоматического режима), но с возможностью работы по отдельным каналам красного, зеленого и синего. Что это дает на практике, сейчас и рассмотрим.

-
Документация по модулю «Уровни RGB» (en, v3.4): https://www.darktable.org/usermanual/en/module-reference/processing-modules/rgb-levels/ ↩
Новая базовая кривая в Darktable
Начинаю потихоньку изучать новые возможности в Darktable 3.0… Сегодня — довольно спорное (судя по форумам, как минимум) нововведение в настройках базовой кривой1 — «Сохранение цветов».
Чтобы составить собственное мнение, я взял несколько своих фотографий с настройками, отличающимися только базовой кривой (прочие настройки — это авто-уровни и локальный контраст по умолчанию, см. пост «Darktable — (не очень) быстрый старт»). Сюжетно фотографии разные, и новая настройка проявилась на них тоже по разному, подробности далее… Во всех случаях я сделал три варианта:
-
базовая кривая отключена;
-
базовая кривая включена, сохранение цветов отключено;
-
базовая кривая включена, сохранение цветов включено в варианте по умолчанию (других вариантов я делать не стал, поскольку там уже отличия на грани различимого).
Все снимки сделаны на Canon EOS 77D, базовая кривая — Canon EOS по умолчанию (не альтернативная). Как поведет себя новый механизм на других камерах с другими базовыми кривыми — не могу знать.



-
Базовая кривая (en, v3.4): https://www.darktable.org/usermanual/en/module-reference/processing-modules/base-curve/ ↩
Darktable — (не очень) быстрый старт
 Скриншот с [официального сайта Darktable](https://darktable.org)](/img/2019/09/21/darktable-quickstart/site-800-1914x1336-0-0.webp)
Со времени моего прошлого поста про Darktable прошло, страшно подумать, три с лишним года. За это время и инструмент вырос (версия 2.6.2 сейчас у меня вместо 2.0.4), и я научился им лучше пользоваться.
Кстати, за это время вышла официальная сборка Darktable под Windows. Если кому не хочется пиратить Lightroom, а с винды не слезается — пользуйтесь. Правда, про стабильность/надежность ничего не знаю.
Время не стоит на месте, как и разработка Darktable. Сейчас (26.12.2022) актуальная версия — 4.2.0, и я написал отдельный пост, являющийся дополнением и актуализацией данного — «Darktable 4.2.0».
А еще я недавно с удивлением и радостью обнаружил в сети неплохой перевод «Руководства пользователя Darktable». Там по версии 2.4, но от 2.6 оно мало отличается, к тому же всегда в спорных моментах можно обратиться к актуальному англоязычному мануалу. Перевод же от всей души рекомендую в качестве обзора возможностей (и особенностей) программы. В дальнейшем я буду ссылаться на обе версии документации посредством сносок к терминам.
Итак. Настоящим постом я хочу рассказать, какие я использую настройки для уменьшения телодвижений в процессе обработки фотографий, и какие же движения никто не отменял. Сразу скажу, что это а) мой личный опыт, б) только базовая обработка. Повторять страницы мануала нет никакого желания, а если говорить об осмысленном применении всех возможностей, то и компетентности.
Пингвин-фотолюбитель: 5. Стекинг

Первым делом, пожалуй, сошлюсь на источники: ключевым по теме данного поста стал англоязычный пост Barry Grussling — «Focus Stacking in Linux»; прочая информация получена из официального руководства enblend/enfuse. Собственно enfuse и будет нашим главным инструментом для стекинга.
Что такое стекинг? Это когда мы делаем несколько кадров одного и того же, в общем случае — с разными параметрами, а затем хитрый алгоритм собирает нам результирующую картинку. Например, если мы сделаем несколько снимков с разной экспозицией, то можем получить в результате что-то очень похожее на результат сведения HDR, о котором я говорил в предыдущем посте. С той лишь разницей, что собственно HDR-изображения (т.е. с динамическим диапазоном более 8 бит на канал) мы не получим, сразу приведение к 8-битному виду.
Кроме стекинга по экспозиции рассмотрим еще уменьшение шумов и стекинг по фокусу.
Показаны 10 записей из 17