Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
цос декина курсовая.docx
Скачиваний:
18
Добавлен:
05.03.2016
Размер:
5.03 Mб
Скачать
  1. Моделювання Blur та відновлення розмитого зображення

Змоделюємо зображення, яке може бути розмите через рух камери, відсутність фокусу. Зімітуємо розмиття шляхом згортки фільтру Гауса з true image (за допомогою функції imfilter).

Синтаксис:

h = fspecial(‘gaussian’, hsize, sigma)

Фільтр Гауса представляє собою точку поширення функції PSF (рис. 7.1).

Синтаксис:

I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення

Blurred=imfilter(I,PSF,'symmetric','conv'); %моделювання Blur

Рис. 7.1. Розмите зображення

Відновлення розмитого зображення.

Для того, щоб проілюструвати важливість знання розміру істинного PSF, виконаємо 3 реставрації. Кожного разу, коли виконується відновлення зображення, PSF починається з рівномірності масиву. На початку завжди використовують один масив.

В реставрації, J3 і P3, використовується одиничний масив, INITPSF, для початкової PSF, що має такий же розмір як справжня PSF (рис. 7.2).

Синтаксис:

INITPSF=padarray(PSF,[2 2],'replicate','both');

[J3 P3]=deconvblind(Blurred,INITPSF); %відновлення

figure;

imshow(J3); %виведення на екран

title('Debluring with INITPSF'); %заголовок «Debluring with INITPSF»

Рис. 7.2. Реставрація по маломірному масиву INITPSF

  1. Усунення розмитості зображення з допомогою фільтра Вінера

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

Виконаємо такі операції перетворення:

  • Завантаження зображення;

  • Імітація Blur ефекту (розмитості);

  • Відновлення розмитого зображення.

Завантаження зображення.

Завантажимо зображення із подвійною точністю, за допомогою функції im2double:

Функція im2double дозволяє представити всі пікселі матриці зображення у вигляді дійсних чисел подвійної точності. При реалізації цієї функції, на відміну від функції double, здійснюється приведення значень пікселів до необхідного діапазону. Для бінарних, на півтонових і повнокольорних зображень – це діапазон [0, 1], а для па літрових зображень – [1, N], де N – кількість кольорів у палітрі.

Синтаксис:

I = im2double(imread(('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg')); %представлення пікселів рисунка у вигляді дійсних чисел подвійної точності

imshow(I);

title('Original Image (courtesy of MIT)');% заголовок 'Original Image(courtesy of MIT)'

Рис. 8.1. Оригінальне зображення

  1. Імітація (Motion Blur) розмитості рухом та відновлення розмитого зображення

Моделювання розмитого зображення, яке може бути отримане від руху камери. Створимо точку розповсюдження функції, PSF, яка буде відповідною лінійному руху в 27 пікселів (LEN=27), під кутом 36 градусів (THETA=36). Для імітації розмиття, необхідно виконати згортку фільтра з зображення за допомогою функції: imfilter.

h = fspecial(‘motion’, len, theta)

Синтаксис:

LEN=27; %точка розповсюдження функції

THETA=36; %кут розповсюдження

PSF=fspecial('motion',LEN,THETA); %зашумлення функцією motion

blurred=imfilter(I,PSF,'conv','circular');

%моделювання Blur

%imshow(blurred); %виведення на екран

title('Blurred image'); %заголовок «Blurred image»

Рис. 9.1. Розмите зображення

Відновлення розмитого зображення.

Функція J=deconvwnr(I,PSF) відновлює зображення І, яке було зіпсовано згорткою з функцією точки розповсюдження PSF і можливим доповненням шуму. Алгоритм оптимізується з точки зору найменшої середньоквадратичної похибки між зображенням що обчислюється та вихідним зображенням і

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

У функції J=deconvwnr(I,PSF,NSR) параметр NSR вказує на співвідношення сигнал/шум. Величина NSR є скаляром або масивом, розмірність якого така ж як І. За замовчуванням це значення дорівнює 0.

Найпростіший синтаксис функції deconvwnr записується таким чином:

deconvwnr(А,PSF,NSR),

де А – змінна, під якою збережено розмите зображення, PSF – точки розповсюдження функції, і NSR – величина співвідношення потужності шуму до потужності сигналу. Оскільки дане розмите зображення формується у 2 кроки без створення шуму, тому ми будемо використовувати 0 для NSR.

Синтаксис:

wnr1=deconvwnr(blurred,PSF,0); %відновлення

imshow(wnr1); %виведення на екран

title('Restored Image'); %заголовок «Restored Image»

Рис. 9.2. Відновлене зображення

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]