Головна Обчислювальна Фотографія Фільтри Зображень

📸 Фільтри Зображень

Обробка зображень: згортка, детектор Собеля, розмиття Гауса та фільтрація ШПФ.

Обчислювальна Фотографія2DЛегкий60 FPS
image-filters ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про цю симуляцію

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

Часті запитання

Що таке ядро згортки?

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

Як тут працює виявлення країв Собеля?

Фільтр Собеля запускає два ядра 3×3: одне виявляє горизонтальні зміни інтенсивності (Gx), інше — вертикальні (Gy). Величина градієнта дорівнює квадратному кореню з Gx² + Gy², і будь-який піксель, чия величина перевищує повзунок «Поріг», малюється білим, решта — чорним. Підвищення порогу залишає лише найсильніші краї.

Що насправді змінює повзунок σ розмиття?

Він задає стандартне відхилення ядра Гауса. Більше σ поширює вагу на ширший радіус (розмір ядра обчислюється приблизно як 2σ з кожного боку), даючи сильніше, плавніше розмиття. Менше σ тримає ядро вузьким, тож на кожен піксель впливають лише безпосередні сусіди.

Чому медіанний фільтр відрізняється від інших?

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

Чи фізично точні ці фільтри?

Так. Ядра та цикл згортки — це ті самі операції, що використовуються в реальних бібліотеках обробки зображень, виконувані піксель за пікселем на зображенні 200×160 із фіксацією країв на межах. Показник PSNR (пікове співвідношення сигнал/шум у децибелах) — стандартна метрика для порівняння обробленого зображення з оригіналом, тож показані числа відображають справжні результати.

Що таке згортка в контексті фільтрації зображень?

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

У чому різниця між розмиттям Гауса та прямокутним розмиттям?

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

Як працює детектор країв Канні?

Виявлення країв Канні має чотири кроки: розмиття Гауса для зменшення шуму, обчислення градієнта для знаходження сили й напрямку країв, придушення немаксимумів для звуження країв до ширини в один піксель, і подвійне порогування з гістерезисом для збереження сильних країв і з'єднаних слабких країв при відкиданні ізольованого шуму.

Що таке білатеральний фільтр і коли його слід використовувати?

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

Як нерізке маскування та ядра різкості підсилюють деталі?

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

Схожі симуляції