оляє зосередитися на самих алгоритмах, перекладаючи всю роботу на бібліотеки функцій. Наведемо приклади виду PSF:
у разі розмиття по Гауса функцією fspecial («gaussian», 30, 8).
у разі змащування фунцією fspecial («motion», 40, 45).
Операція застосування искажающей функції до іншої функції (в даному випадку до зображення) називається сверткой (convolution), тобто деяка область вихідного зображення згортається в один піксель спотвореного зображення. Позначається через оператор «*» (Не плутати з множенням). Математично для зображення f з розмірами MxN і спотворює функції hc розмірами mxn це записується так:
g (x, y)=h (x, y) * f (x, y)=h (i, j) f (x + i, y + j). (2)
Де,. Операція, зворотна згортку, називається деконволюції (deconvolution), рішення такого завдання нетривіально.
3.2 Mодель шуму
Залишилося розглянути останній доданок, що відповідає за шум, n (x, y) у формулі (1). Причини шуму в цифрових сенсорах можуть бути різними, але основні - це теплові коливання і темнові струми <# «justify"> 3.3 Теорема про згортку
Повернемося тепер до первісної постановці завдання відновлення - необхідно якимось чином звернути згортку, при цьому, не забуваючи про шум. З формули (2) видно, що отримати f (x, y) з g (x, y) не просто - якщо вирішувати, то вийде величезна система рівнянь. Але можна скористатися перетворенням Фур'є <# «justify"> 3.4 Інверсна фільтрація
Поділимо рівність (4) та H (u, v) і отримуємо наступну оцінку вихідного зображення:
. (5)
Це називається інверсної фільтрацією, але на практиці практично ніколи не працює. Подивимося на останній доданок у формулі (5) - якщо функція H (u, v) приймає значення близькі до нуля або нульові, то внесок цього доданка буде домінуючим. Це практично завжди зустрічається в реальних прикладах - для пояснення цього згадаємо, як виглядає спектр після перетворення Фур'є.
Беремо вихідне зображення, перетворимо його в півтонове і використовуючи Matlab, отримуємо спектр:
В результаті отримуємо дві компоненти: амплітудний і фазовий спектри. Амплітудний спектр показаний в логарифмічною шкалою, т.к. його значення варіюються дуже сильно, на кілька порядків. У центрі знаходяться максимальні значення (порядку мільйонів), які швидко зменшуються в міру віддалення від центру практично до нульових. Саме через це, інверсна фільтрація буде працювати тільки при нульових або практично нульових значеннях шуму. Продемонструємо це на практиці за допомогою наступного скрипта:
noise_var=0.0000001 noise_var=0.000005
Добре видно, що додавання навіть дуже невеликого шуму призводить до значних перешкод, що сильно обмежує практичне застосування методу.
3.5 Існуючі підходи для деконволюции
Є підходи, які враховують наявність шуму в зображенні. Один з найвідоміших перших - це фільтр Вінера (Wiener). Він розглядає зображення і шум як випадкові процеси і знаходить таку оцінку f 'для неспотвореного зображення f, щоб середньоквадратичне ві...