вейвлети

Вейвлети використовуються для розділення (або декомпозиції) зображення на кілька різних шарів, кожен з яких містить різний рівень деталізації. Після декомпозиції зображення таким чином, модуль може обмежити його обробку одним або декількома з цих шарів деталізації, а потім знову з’єднати шари в кінці, щоб сформувати його вихідні дані. Це дозволяє нам хірургічно точно визначити, на які деталі зображення ми хочемо впливати при роботі з модулем.

Деякі операції, які darktable може виконати таким чином:

🔗теорія

Вейвлет – це коливальна математична функція, яка починається і закінчується на нулі. На наступній схемі показано кілька простих вейвлетів різного розміру.

wavelets-overview

Ці вейвлет-функції використовуються для сканування та розкладання зображення за допомогою математичної операції, що називається згортка. Це вибирає деталі із зображення, які мають масштаб, подібний до розміру даного вейвлету, і створює ряд цих детальних шарів, кожен з яких відповідає різному масштабу вейвлета.

Далі наведено приклад, коли з вищенаведеного зображення було витягнуто шари деталей. У цьому випадку ці зображення були створені за допомогою модуля ретуш, розділивши зображення на 8 різних шарів та використовуючи інструмент “відображати масштаби” “для візуалізації кожного з детальних шарів:

wavelets-retouch-gui

Стовпчики в розділі _ вейвлет-декомпозиція_ позначають шари, які були витягнуті в різних масштабах вейвлета. Найтемніший прямокутник зліва представляє все зображення (до розкладання), а сірі поля представляють один із розкладених шарів. Натискання на значок сходів під стовпчастою діаграмою дає змогу накласти шар візуалізації, щоб ви могли бачити, як виглядає вибраний на даний момент шар.

Давайте подивимось на деякі шари, створені для вищенаведеного зображення.

У масштабі №2 зображення містить лише дуже дрібні деталі, включаючи брови, вії та пори шкіри моделі. Він не включає більш грубі деталі зображення, оскільки ці деталі були виділені в інші шари:

wavelets-layer-scale-2

На шкалах №5 та №6 ми починаємо бачити все більші та більші деталі:

wavelets-layer-scale-5

wavelets-layer-scale-6

На шкалі №8 ми бачимо лише деталі високого рівня, такі як загальна форма носа, ока та щоки моделі:

wavelets-layer-scale-8

🔗навіщо використовувати вейвлети?

Припустимо, у наведеному вище прикладі ми хотіли згладити частину плям на шкірі моделі, не втрачаючи жодної дрібної текстури. Розкладання вейвлетів робить це тривіальною операцією – ми можемо просто використовувати модуль ретушування, щоб застосувати розмиття Гауса лише до ‘плямистих’ детальних шарів, залишаючи всі інші шари недоторканими. Після завершення коригування модуль ретушування просто рекомбінує скоригований шар з рештою недоторканими шарами для отримання кінцевого зображення.

Послідовність зображень нижче показує (1) оригінальне зображення; (2) шар (шкала 5), який ми хочемо розмити; та (3) остаточне зображення після того, як шар масштабу 5 розмитий і шари рекомбіновані:

wavelets-original

wavelets-layer-scale-5

wavelets-blur-layered

Як бачите, масштабні плями на шкірі були видалені, але дрібні деталі залишаються недоторканими.

🔗взаємодія з масштабами вейвлетів

Існує два методи, за допомогою яких модулі обробки дозволяють змінювати їх роботу з використанням масштабів вейвлетів.

🔗вейвлет-декомпозиція

Як обговорювалося вище, модуль ретуш дозволяє вибрати, на скільки рівнів деталізації поділити ваше зображення. Він розкладає зображення на окремі шари і дозволяє виконувати операції вибірково на кожному окремому шарі або на зображенні в цілому:

wavelets-retouch-gui

Детальніше див. у документації до модуля ретуш.

🔗керування сплайнами

Модулі знешумлення (профільоване), знешумлення raw і еквалайзер контрастудозволяють застосовувати їх ефекти більш-менш до кожного масштабу вейвлетів за допомогою сплайнів.

spline

Тут кожен вузол на графіку представляє різний рівень деталізації зображення, від грубих деталей зліва до тонких деталей справа. Ви можете піднімати або опускати кожен з цих вузлів за допомогою миші, щоб збільшити або зменшити ефект модуля, відповідно, на цьому масштабі вейвлетів.

Щоб змінити криву, натисніть трохи вище або нижче лінії біля вузла та перетягніть вгору або вниз. Ви можете змінити ширину модифікації, прокручуючи колесо миші, що збільшує або зменшує розмір кола, що відображається під вказівником миші. Маленьке коло вказує на те, що ефект перетягування кривої вгору або вниз буде ізольований здебільшого до коригованого вузла. Більше коло вказує на те, що ефект буде ширшим і буде все більше впливати на сусідні вузли. Коли ви наводите курсор миші на графік, затінені ділянки вказують на частини сплайну, на які вплине спроба змінити криву.

Translations