Wavelets are used to separate (or decompose) an image into a number of distinct layers, each containing a different level of detail. After decomposing an image in this way, a module can limit its processing to one or more of these detail layers, and then piece the layers back together again at the end to form its output. This allows us to be surgical about which features in the image we wish to impact when working with a module.
Some of the operations that Ansel can perform in this way are:
- noise removal (in the denoise (profiled), raw denoise and contrast equalizer modules)
- contrast adjustment (in the contrast equalizer module)
- blurring or removal of unwanted detail (in the retouch module)
теорія
Вейвлет – це коливальна математична функція, яка починається і закінчується на нулі. На наступній схемі показано кілька простих вейвлетів різного розміру.
Ці вейвлет-функції використовуються для сканування та розкладання зображення за допомогою математичної операції, що називається згортка. Це вибирає деталі із зображення, які мають масштаб, подібний до розміру даного вейвлету, і створює ряд цих детальних шарів, кожен з яких відповідає різному масштабу вейвлета.
The following is an example where detail layers have been extracted from the above image. In this case, the images were produced using the retouch module, splitting the image into 8 different layers, and using the module’s “display wavelet scale” button to visualise each of the detail layers:
The bars in the wavelet decompose section indicate the layers that have been extracted at different wavelet scales. The darkest rectangle at the left represents the entire image (before decomposition) and the gray boxes each represent one of the decomposed layers. Clicking on the staircase icon below the bar graph enables the layer visualisation overlay so that you can see what the currently selected layer looks like.
Давайте подивимось на деякі шари, створені для вищенаведеного зображення.
У масштабі №2 зображення містить лише дуже дрібні деталі, включаючи брови, вії та пори шкіри моделі. Він не включає більш грубі деталі зображення, оскільки ці деталі були виділені в інші шари:
На шкалах №5 та №6 ми починаємо бачити все більші та більші деталі:
На шкалі №8 ми бачимо лише деталі високого рівня, такі як загальна форма носа, ока та щоки моделі:
навіщо використовувати вейвлети?
Припустимо, у наведеному вище прикладі ми хотіли згладити частину плям на шкірі моделі, не втрачаючи жодної дрібної текстури. Розкладання вейвлетів робить це тривіальною операцією – ми можемо просто використовувати модуль ретушування, щоб застосувати розмиття Гауса лише до ‘плямистих’ детальних шарів, залишаючи всі інші шари недоторканими. Після завершення коригування модуль ретушування просто рекомбінує скоригований шар з рештою недоторканими шарами для отримання кінцевого зображення.
Послідовність зображень нижче показує (1) оригінальне зображення; (2) шар (шкала 5), який ми хочемо розмити; та (3) остаточне зображення після того, як шар масштабу 5 розмитий і шари рекомбіновані:
Як бачите, масштабні плями на шкірі були видалені, але дрібні деталі залишаються недоторканими.
взаємодія з масштабами вейвлетів
Існує два методи, за допомогою яких модулі обробки дозволяють змінювати їх роботу з використанням масштабів вейвлетів.
вейвлет-декомпозиція
Як обговорювалося вище, модуль ретуш дозволяє вибрати, на скільки рівнів деталізації поділити ваше зображення. Він розкладає зображення на окремі шари і дозволяє виконувати операції вибірково на кожному окремому шарі або на зображенні в цілому:
See the retouch module documentation for more details.
керування сплайнами
The denoise (profiled), raw denoise and contrast equalizer modules allow their effects to be applied more or less to each wavelet scale using splines.
Here, each node in the graph represents a different level of detail in the image, from coarse detail on the left to fine detail on the right. You can raise or lower each of these nodes with your mouse to increase or decrease the module’s effect, respectively, on that wavelet scale.
Щоб змінити криву, натисніть трохи вище або нижче лінії біля вузла та перетягніть вгору або вниз. Ви можете змінити ширину модифікації, прокручуючи колесо миші, що збільшує або зменшує розмір кола, що відображається під вказівником миші. Маленьке коло вказує на те, що ефект перетягування кривої вгору або вниз буде ізольований здебільшого до коригованого вузла. Більше коло вказує на те, що ефект буде ширшим і буде все більше впливати на сусідні вузли. Коли ви наводите курсор миші на графік, затінені ділянки вказують на частини сплайну, на які вплине спроба змінити криву.