Алгоритми цифрової фільтрації над 2-мірними сигналами в спеціалізованих програмних пакетах
Геометричне перетворення цифрового зображення в середовище Matlab. Побудова його гістограми, поліпшення, фільтрація та сегментація, розмитнення з використанням фільтру Гауса. Відновлення зображення деконволюцією Вінера та по маломірному масиву INITPSF.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 05.02.2015 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство освіти і науки України
Полтавський національний технічний університет імені Юрія Кондратюка
Кафедра комп'ютерної інженерії
Розрахунково-графічна робота
з навчальної дисципліни: «Цифрова обробка сигналів та зображень»
На тему: «Алгоритми цифрової фільтрації над 2-мірними сигналами в спеціалізованих програмних пакетах»
Виконав:
студент 302-ТТ групи
Казидуб О.О.
Полтава 2013
Зміст
Завдання на розрахунково-графічну роботу
Вступ
1. Геометричні перетворення зображення
2. Аналіз зображення
3. Поліпшення зображення
4. Фільтрація зображення
5. Сегментація зображення
6. Усунення розмитості зображення за допомогою алгоритму сліпої деконволюції
7. Моделювання Blur
8. Відновлення розмитого зображення
9. Усунення розмитості зображення з допомогою фільтру Вінера
10. Імітація (Motion Blur) розмитості рухом
11. Відновлення розмитого зображення
Висновок
Список використаної літератури
Додаток
Завдання на розрахунково-графічну роботу
1. Ознайомитись з основними можливостями пакету Image Processing Toolbox для дослідження методів перетворення цифрових зображень в середовищі Matlab.
2. Отримати у викладача завдання зображення для обробки.
3. Завантажити зображення в середовище Matlab.
4. Виконати геометричні перетворення зображення.
5. Проаналізувати зображення та вивести його гістограму.
6.Вивести та записати значення для будь-яких точок позначених на зображенні.
7. Поліпшити зображення.
8. Виконати фільтрацію зображення.
9. Виконати сегментацію зображення.
10. Виконати морфологічні операції над зображенням.
11. Зашумити зображення шумом Blur.
12. Відновити розмите зображення за допомогою команди deconvblind.
13. Зашумити зображення функцією motion.
14. Відновити зображення за допомогою фільтра Вінера.
15. Зробити висновки.
Таблиця 1. Вихідні дані
Назва зображення |
Кут повороту |
Кількість точок на зображенні |
Маска фільтру |
Параметр сегментації |
Метод виділення |
Зашумлення функцією motion, LEN та THETA |
Параметр NSR |
|
Picture49.jpg |
135 |
30 |
log, hsize=4 sigma=0,85 |
0,38 |
log |
36; 5 |
0,01 |
Вступ
Система MATLAB, розроблена програмістом Молером, як середовище програмування високого рівня для технічних обчислень, з кінця 70-х років широко використовували на великих ЕОМ. На початку 80-х років Дж. Літл з фірми Math Works, Inc. розробив першу версію системи PC MATLAB для комп'ютерів класу IBM PC та Macintosh, з якої і почалася еволюція версій системи для персональних комп'ютерів.
Архітектурно система MATLAB складається з базової програми і декількох десятків так званих пакетів розширення, які у своїй сукупності забезпечують винятково широкий діапазон розв'язуваних задач. Інтеграція всіх цих засобів у єдиному робочому середовищі забезпечує необхідну гнучкість використання сотень вбудованих функцій, які реалізують різноманітні математичні процедури та обчислювальні алгоритми.
Можливості системи MATLAB практично необмежені, а за швидкістю обчислень вона нерідко перевершує своїх конкурентів. Система пристосована для розрахунків у будь-якій галузі науки та техніки і широко використовується при математичному моделюванні фізичних пристроїв та систем. Система MATLAB є однією з найбільш відомих і популярних систем комп'ютерної математики, яка призначена для рішення широкого класу задач, пов'язаних з тим чи іншим розділом теоретичної або прикладної математики. Цьому сприяє не тільки розширений набір матричних та інших операцій і функцій, але й наявність пакета розширення Image Processing Toolbox.
Image Processing Toolbox надає широкий спектр засобів для цифрової обробки та аналізу зображень. Будучи тісно пов'язаним з середовищем розробки додатків MATLAB, пакет Image Processing Toolbox звільняє Вас від виконання тривалих операцій кодування і налагодження алгоритмів, дозволяючи зосередити зусилля на вирішенні основної наукової або практичної задачі. MATLAB і пакет Image Processing максимально пристосований для розвитку, впровадження нових ідей і методів користувача. Для цього є набір сполучених пакетів, спрямованих на вирішення всіляких специфічних завдань і завдань в нетрадиційній постановці.
Пакет Image Processing Toolbox являє собою набір функцій, які розширюють можливості чисельних обчислень в середовищі MATLAB. Image Processing Toolbox підтримує різні операції обробки зображень, включаючи:
· просторові перетворення зображень;
· морфологічні операції;
· ковзаючу і блокову обробку;
· лінійну фільтрацію різними фільтрами;
· аналіз і поліпшення зображень;
· відновлення зображень;
· видалення розмитостей;
· обробка області інтересу.
1. Геометричні перетворення зображення
До найбільш поширених функцій геометричних перетворень відноситься кодування зображень (imcrop), зміна розмірів (imresize) і поворот зображення (imrotate).
Суть кадрування полягає в тому, що функція imcrop дозволяє за допомогою миші в інтерактивному режимі вирізати частину зображення і помістити її в нове вікно перегляду.
Синтаксис:
P=imread('c:\images\Picture49.jpg');
imshow(P);
imcrop;
figure,
Рис. 1. Оригінальне та кадрове зображення
Функція зміни розмірів зображення (imresize) дозволяє, використовуючи спеціальні методи інтерполяції, змінювати розмір будь-якого типу зображення.
Синтаксис:
P=imread('c:\images\Picture49.jpg');
P1=imresize(P,0.5);
imshow(P1);
Рис. 2. Оригінальне та в два рази зменшене зображення
В пакеті Image Processing Toolbox існує функція imporate, яка дозволяє здійснювати поворот зображення на заданий в градусах кут. Значення кута повороту можна задавати як цілими так і десятковими дробами, тобто частини кута (хвилини та секунди).
Синтаксис:
P=imrotate (P, 135, 'bicubic');
figure
imshow (P)
Рис. 3. Оригінальне та повернене на 135° зображення
Таким чином, наведені вище функції дозволяють повертати, вирізати частини, масштабувати, тобто працювати з цілим масивом зображення.
2. Аналіз зображення
Для роботи з окремими елементами зображень використовуються такі функції як imhist, impixel, mean2, corr2 та інші.
Однією з найбільш важливих характеристик є гістограма розподілу значень інтенсивностей пікселів зображення, яку можна побудувати за допомогою функції imhist (рис. 4.).
Синтаксис:
P=imread('c:\images\Picture49.jpg');
figure,
imshow(P);
figure,
imhist(P);
Рис. 4. Оригінальне зображення та його гістограма
Досить часто при проведенні аналізу зображень виникає необхідність визначити значення інтенсивностей деяких пікселів. Для цього необхідно в інтерактивному режимі використовувати функцію impixel.
Синтаксис:
P=imread('c:\images\Picture49.jpg');
figure,
imshow(P);
impixel
ans =
117 117 117
253 253 253
98 98 98
188 188 188
89 89 89
42 42 42
73 73 73
66 66 66
167 167 167
149 149 149
94 94 94
105 105 105
167 167 167
127 127 127
30 30 30
66 66 66
109 109 109
130 130 130
152 152 152
113 113 113
125 125 125
143 143 143
116 116 116
101 101 101
123 123 123
135 135 135
63 63 63
53 53 53
96 96 96
103 103 103
Рис. 5. Зображення із позначеними на ньому крапками інтенсивності
3. Поліпшення зображення
Серед вбудованих функцій, які реалізуються найбільш відомими методами поліпшення зображень, є наступні - histeq, imadjust та imfilter (fspecial).
Як вже зазначалося раніше, гістограма зображення є однією з найбільш інформативних характеристик. На основі аналізу гістограми можна судити про яскравість спотвореного зображення, тобто сказати про те, чи є зображення затемненим або засвітленим. Відомо, що в ідеальному випадку на цифровому зображенні в рівній кількості повинні бути присутні пік селі з усіма значеннями яскравостей, тобто гістограма повинна бути рівномірною. Перерозподіл яскравості пік селів на зображенні з метою отримання рівномірної гістограми виконує метод еквалізації, який в системі Matlab реалізовано за допомогою функції histeq (вирівнювання гістограми).
Синтаксис:
P=imread('c:\images\Picture49.jpg');
figure,
imshow(P);
P1=histeq(P);
figure,
imshow(P1);
Рис. 6. Перерозподіл яскравостей
Досить часто при формуванні зображень не використовується весь діапазон значень інтенсивностей, що негативно відбивається на якості візуальних даних. Для корекції динамічного діапазону сформованих зображень використовується функція imadjust (контрастування з гамма-корегуванням).
Синтаксис:
P=imread('c:\images\Picture49.jpg');
figure,
imshow(P);
P1=imadjust(P);
figure,
imshow(P1);
figure,
imhist(P);
figure,
imhist(P1);
Рис. 7. Гама-корегування за гістограмою
Також під час вирішення завдань поліпшення зображень використовується функція imfilter в парі з функцією fspecial. Функція fspecial дозволяє задавати різні типи масок фільтру, що підвищує різкість зображення.
4. Фільтрація зображення
Пакет Image Processing Toolbox володіє потужним інструментарієм з фільтрації зображень. Серед вбудованих функцій, які вирішують задачі фільтрації зображень, особливу увагу необхідно приділити функціям fspecial, ordfilt2(рангова фільтрація), medfilt2(медіанна фільтрація),
Fspecial є функцією завдання маски зумовленого фільтра. Ця функція дозволяє формувати маски:
- Фільтру, аналогічного послідовному застосуванню фільтрів Гауса і Лапласа:
h= fspecial(`log', hsize, sigma).
Синтаксис:
P=imread('c:\images\Picture49.jpg');
figure,
imshow(P);
h=fspecial('log', 4, 0.85);
P1=imfilter(P, h, 'replicate');
figure,
imshow(P1);
Рис. 8. Фільтр Лапласа-Гауса
5. Сегментація зображення
Серед вбудованих функцій пакету Image Processing Toolbox, які застосовуються при вирішенні завдань сегментації зображень, розглянемо наступні: qtdecomp, edge iroicolor.
Функція qtdecomp виконує сегментацію зображення методом розділення та аналізу однорідності блоків зображення, які не перекриваються.
Синтаксис:
P=imread('c:\images\Picture49.jpg');
P=P(1:256, 1:256);
figure,
imshow(P);
S=qtdecomp(P, .38);
blocks=repmat(uint8(0), size(S));
for dim=[512 256 128 64 32 16 8 4 2 1 0];
numblocks=length(find(S==dim));
if (numblocks > 0)
values=repmat(uint8(1), [dim dim numblocks]);
values(2:dim, 2:dim, :)=0
blocks=qtsetblk(blocks, S, dim, values);
end
end
blocks(end, 1:end)=1;
blocks(1:end, end)=1;
imshow(P),
figure,
imshow(blocks, [])
Рис. 9. Сегментація зображення
Однією з найбільш часто використовуваних є функція виділення меж edge, яка реалізує такі вбудовані методи - Собела, Прево, Робертса, Лапласа-Гауса, Канні та ін.
Розглянемо реалізацію функції edge з використанням фільтру log.
Синтаксис:
P=imread('c:\images\Picture49.jpg');
BW=edge(P,'log');
figure,
imshow(BW);
title ('log');
Рис. 10. Виділення меж
6. Усунення розмитості зображення за допомогою алгоритму сліпої деконволюції
Деконволюція - це математичний термін, який означає обернену згортку або розгортання. Дана операція використовується при оберненій згортці сигналів, цифровому перетворенні зображень, а також для інших інженерних та наукових операцій.
В загальному випадку метою деконволюції є пошук рішення рівняння згортки, заданого у вигляді:
f*g=h
Де h - записаний сигнал, а f - сигнал, який потрібно відновити, причому відомо. Що перший сигнал отриманий шляхом згортки другого з деяким відомим сигналом - g (наприклад, з імпульсною характеристикою кінцевого імпульсного фільтру). Якщо сигнал g невідомий заздалегідь, його потрібно оцінити. Зазвичай це робиться за допомогою методів статистичного оцінювання.
Алгоритм сліпої деконволюції може бути ефективно використаний при відсутності інформації про спотворення (розмиття і шум). Він належить до алгоритмів одночасного відновлення зображень і функції точок (поширення) розповсюдження (PSF).
Даний алгоритм широко застосовується в системах відеоспостереження, для наведення чіткості отриманого зображення. Для прискорення операції, затухаючий алгоритм Річардсона-Люсі використовується в кожній ітерації при розпізнаванні матриці.
В якості вхідних параметрів для функції відновлення може виступати додаткова оптична система, характеристики якої можуть допомогти підвищити якість відновлення зображень.
PSF-обмеження можуть бути передані через зазначені користувачем допоміжні функції.
Для наглядного прикладу функціонування даного алгоритму візьмемо зображення і виконаємо такі операції перетворення:
- Зчитування;
- Моделювання Blur;
- Відновлення розмитого зображення (використання PSF різних розмірів);
- Аналіз PSF-відтвореного зображення;
- Поліпшення відновлення;
- Використання додаткових обмежень на відновлення PSF.
7. Моделювання blur
Змоделюємо зображення, яке може бути розмите через рух камери, відсутність фокусу. Зімітуємо розмиття шляхом згортки фільтру Гауса з true image (за допомогою функції imfilter).
Синтаксис:
P=imread('c:\images\Picture49.jpg');
PSF=fspecial('gaussian',7,10);
Blurred=imfilter(I,PSF,'symmetric','conv');
figure;
imshow(Blurred);
title('Blurred image');
Рис. 11. Розмите зображення
8. Відновлення розмитого зображення
Для того, щоб проілюструвати важливість знання розміру істинного PSF, виконаємо 3 реставрації. Кожного разу, коли виконується відновлення зображення, PSF починається з рівномірності масиву. На початку завжди використовують один масив.
В реставрації, J3 і P3, використовується одиничний масив, INITPSF, для початкової PSF, що має такий же розмір як справжня PSF.
Синтаксис:
P=imread('c:\images\Picture49.jpg');
PSF=fspecial('gaussian',7,10);
Blurred=imfilter(P,PSF,'symmetric','conv');
figure;
imshow(Blurred);
title('Blurred image');
INITPSF=padarray(PSF,[22],'replicate','both');
[J3 P3]=deconvblind(Blurred,INITPSF);
figure;
imshow(J3);
title('Dedluring with INITPSF');
Рис. 12. Реставрація по маломірному масиву INITPSF
9. Усунення розмитості зображення з допомогою фільтру Вінера
Деконволюції Вінера використовуються у випадках, коли точка розповсюдження функції і рівень шуму повністю відомі або їх можливо оцінити .
Виконаємо такі операції перетворення:
- Завантаження зображення;
- Імітація Blur ефекту (розмитості);
- Відновлення розмитого зображення.
Завантажимо зображення із подвійною точністю, за допомогою функції im2double:
Функція im2double дозволяє представити всі пікселі матриці зображення у вигляді дійсних чисел подвійної точності. При реалізації цієї функції, на відміну від функції double, здійснюється приведення значень пікселів до необхідного діапазону. Для бінарних, на півтонових і повнокольорних зображень - це діапазон [0, 1], а для па літрових зображень - [1, N], де N - кількість кольорів у палітрі.
Синтаксис:
Р=im2double(imread('c:\images\Picture49.jpg'));
figure,
imshow(Р);
title('Original Image (courtesy of MIT)');
Рис. 13. Оригінальне зображення (пом'якшений МІТ)
10. Імітація (motion blur) розмитості рухом
Моделювання розмитого зображення, яке може бути отримане від руху камери. Створимо точку розповсюдження функції, PSF, яка буде відповідною лінійному руху в 36пікселів (LEN=36), під кутом 5 градусів (THETA=5). Для імітації розмиття, необхідно виконати згортку фільтра з зображення за допомогою функції: imfilter.
h = fspecial(`motion', len, theta)
Синтаксис:
P=im2double(imread('c:\images\Picture49.jpg'));
imshow(P);
LEN=36;
THETA=5;
PSF=fspecial('motion',LEN,THETA);
blurred=imfilter(P,PSF,'conv','circular');
imshow(blurred);
title('Blurred image');
Рис. 14. Розмите зображення
11. Відновлення розмитого зображення
Функція J=deconvwnr(I,PSF) відновлює зображення P, яке було зіпсовано згорткою з функцією точки розповсюдження PSF і можливим доповненням шуму. Алгоритм оптимізується з точки зору найменшої середньоквадратичної похибки між зображенням що обчислюється та вихідним зображенням і використовує матрицю кореляції та шуму зображення. При відсутності шумової складової, фільтр Вінера перетворюється в ідеальний інверсний фільтр.
У функції J=deconvwnr(I,PSF,NSR) параметр NSR вказує на співвідношення сигнал/шум. Величина NSR є скаляром або масивом, розмірність якого така ж як І. За замовчуванням це значення дорівнює 0.
Найпростіший синтаксис функції deconvwnr записується таким чином:
deconvwnr(А,PSF,NSR),
де А - змінна, під якою збережено розмите зображення, PSF - точки розповсюдження функції, і NSR - величина співвідношення потужності шуму до потужності сигналу. Оскільки дане розмите зображення формується у 2 кроки без створення шуму, тому ми будемо використовувати 0,01 для NSR.
Синтаксис:
P=im2double(imread('c:\images\Picture49.jpg'));
imshow(P);
LEN=36;
THETA=5;
PSF=fspecial('motion',LEN,THETA);
blurred=imfilter(P,PSF,'conv','circular');
imshow(blurred);
title('Blurred image');
wnr1=deconvwnr(blurred,PSF,0.01);
imshow(wnr1);
title('Restored Image');
Рис. 15. Відновлене зображення
цифровий зображення фільтр деконволюція
Висновок
Проаналізувавши дану розрахунково-графічну роботу можна прийти до висновку, що система Matlab з пакетом розширення Image Processing Toolbox є масивним, потужним інструментом дослідження та моделювання зображень. Пакет Image Processing Toolbox містить повний набір типових еталонних алгоритмів для обробки і аналізу зображення, в тому числі функцій фільтрації, частотного аналізу, покращення зображення, морфологічного аналізу і розпізнавання.
Виконавши розрахунково-графічну роботу були отримані практичні навички роботи обробки зображень в системі Matlab, до яких відносяться геометричні перетворення зображення (кадрування, зменшення, поворот зображення), аналіз зображення (побудова гістограм зображення, нанесення крапок інтенсивності на зображення), поліпшення зображення (перерозподіл яскравостей, корегування зображення), фільтрація та сегментація зображення (з використанням фільтру Лапласа-Гауса), розмитнення зображення з використанням фільтру Гауса і розмитість супроводжена рухом камери, відновлення зображення фільтром Вінера та відновлення по маломірному масиву INITPSF. Відновлення зображення, як показало виконання роботи відбулося краще фільтром Вінера, ніж відновлення зображення при реставрації по маломірному масиву INITPSF. Що ж до відновлення розмитості зображення супроводжене рухом камери, то зображення ідеально не відновилося через те, що співвідношення потужності шуму до потужності сигналу дорівнювало 0,01. Якби цей показник дорівнював 0, то зображення відновилося б ідеально.
Список використаної літератури
1. Бондарев В.Н., Трёстер Г., Чернеча В.С. Цифровая обработка сигналов: методы и средства: Учеб. Пособие для вузов. - Севастополь: СевГТУ, 1999. - 398с.:ил.
2. Антонью А. Цифровые фильтры: Анализ и проектирование: Пер с англ. - М.: Радио и связь, 1983.
3. Обробка сигналів: Підручник / Бабак В.П., Хандецький В.С., Шрюфер Е. - К.: Либідь, 1996. - 392 с.
4. Дьяконов В.П., MATLAB 6.5 SP1/7/7 SP1/ Работа с изображениями и видеопотоками. - М.: СОЛОН-Пресс, 2010. - 400 с.
Додаток
Лістинг програми:
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
imshow(P); // Виведення зображення на екран
imcrop; // Кадрове зображення
figure, // Виведення кадрового зображення в окремому вікні
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
P1=imresize(P,0.5); // Вдвічі зменшене зображення
imshow(P1); // Виведення вдвічі зменшеного зображення в окремому вікні
P1=imrotate(P,135,'bicubic'); // Поворот зображення на заданий кут
figure, // Виведення поверненого зображення в окремому вікні
imshow(P1) // Виведення поверненого зображення на екран
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
figure, // Виведення діаграми в окремому вікні
imhist(P); // Побудова гістограми зображення
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
impixel // Визначення інтенсивності пікселів
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
P1=histeq(P); // Поліпшення зображення
figure, // Виведення поліпшеного зображення в окремому вікні
imshow(P1); // Виведення поліпшеного зображення на екран
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
P1=imadjust(P); // Контрастування гістограми
figure, // Виведення гістограми з гамма-корегуванням в окремому вікні
imshow(P1); // Виведення гістограми з гамма-корегуванням на екран
figure, // Виведення гістограми зображення в окремому вікні
imhist(P); // Побудова гістограми зображення
figure, // Виведення гістограми з гамма-корегуванням в окремому вікні
imhist(P1); // Побудова гістограми з гамма-корегуванням
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
h=fspecial('log', 4, 0.85); // Введення маски фільтру
P1=imfilter(P, h, 'replicate'); // Фільтрація зображення
figure, // Виведення відфільтрованого зображення в окремому вікні
imshow(P1); // Виведення відфільтрованого зображення на екран
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
P=P(1:256, 1:256); // Зменшення розміру зображення
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
S=qtdecomp(P, .38); // Сегментація зображення методом розділення та аналізу однорідності блоків зображення, що не перекриваються
blocks=repmat(uint8(0), size(S)); // формування блоку
for dim=[512 256 128 64 32 16 8 4 2 1 0]; // присвоєння умови (для) numblocks=length(find(S==dim)); // формування нового блоку
if (numblocks > 0) // умова (якщо)
values=repmat(uint8(1), [dim dim numblocks]); // присвоєння значень
values(2:dim, 2:dim, :)=0// присвоєння значень
blocks=qtsetblk(blocks, S, dim, values); // створення нового напівтонового зображення
end // закінчення умови (якщо)
end // закінчення умови (для)
blocks(end, 1:end)=1; // значення блоку
blocks(1:end, end)=1; // значення блоку
imshow(P), // Виведення зображення на екран
figure, // Виведення зображення в окремому вікні
imshow(blocks, []) // Виведення сегментованого зображення на екран
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
BW=edge(P,'log'); // Виділення меж зображення за фільтром Лапласа-Гауса
figure, // Виведення зображення з виділенням меж в окремому вікні
imshow(BW); // Виведення зображення з виділенням меж на екран
title ('log'); // Виведення назви на зображенні
P=imread('c:\images\Picture49.jpg'); // Завантаження зображення
PSF=fspecial('gaussian',7,10); // Розмиття зображення
Blurred=imfilter(P,PSF,'symmetric','conv'); // Зашумлення зображення
figure; // Виведення зашумленого зображення в окремому вікні
imshow(Blurred); // Виведення зашумленого зображення на екран
title('Blurred image'); // Виведення назви на зображенні
INITPSF=padarray(PSF,[22],'replicate','both'); // Використання одиничного масиву для реставрації
[J3 P3]=deconvblind(Blurred,INITPSF); // Відновлення зображення з використанням зворотнього алгоритму згортки
figure; // Виведення відновленого зображення в окремому вікні
imshow(J3); // Виведення відновленого зображення на екран
title('Dedluring with INITPSF'); // Виведення назви на зображенні
P=im2double(imread('c:\images\Picture49.jpg')); // Завантаження зображення з подвійною точністю
figure, // Виведення зображення в окремому вікні
imshow(P); // Виведення зображення на екран
title('Original Image (courtesy of MIT)'); // Виведення назви на зображенні
P=im2double(imread('c:\images\Picture49.jpg')); // Завантаження зображення з подвійною точністю
imshow(P); // Виведення зображення на екран
LEN=36; // Точка розповсюдження функції
THETA=5; // Кут розповсюдження функції
PSF=fspecial('motion',LEN,THETA); // Розмиття зображення
blurred=imfilter(P,PSF,'conv','circular'); // Фільтрація зображення
imshow(blurred); // Виведення відфільтрованого зображення на екран
title('Blurred image'); // Виведення назви на зображенні
wnr1=deconvwnr(blurred,PSF,0.01); // Відновлення зображення зіпсованого згорткою з доповненнямм шуму
imshow(wnr1); // Виведення відновленого зображення на екран
title('Restored Image'); // Виведення назви на зображенні
Размещено на Allbest.ru
Подобные документы
Геометричні перетворення зображення. Усунення розмитості зображення за допомогою алгоритму сліпої деконволюції або з допомогою фільтра Вінера. Моделювання Blur та відновлення розмитого зображення. Імітація (Motion Blur) розмитості рухом, його відновлення.
курсовая работа [1,8 M], добавлен 22.11.2014Методи поліпшення растрових зображень. Параметри виду, буфер глубини, джерело світла в бібліотеці Opengl. Створення тривимірної фігурі та забезпечення її повороту при натисненні на "пробіл". Операції маштабування з використанням клавіш "плюс" та "мінус".
контрольная работа [142,9 K], добавлен 22.09.2009Розробка та використання програми для пришвидшення процесу перетворення двомірного зображення у об'ємне. Методика та процес випробовування для виявлення та усунення недоліків в роботі програми. Інтерфейс програми, встановлення параметрів зображення.
курсовая работа [3,2 M], добавлен 09.06.2010Характеристика особливостей зображення предмета, при якому припускають, що він розташований між спостерігачем і відповідною площиною проекцій. Зображення: їх види, розрізи, перерізи. Умовності та спрощення. Загальні вимоги та етапи виконання ескізів.
реферат [588,1 K], добавлен 13.11.2010Створення алгоритму фрактального стиснення з втратами для зображень. Основні принципи методу, його обґрунтування та алгоритм реалізації. Характеристика типової схеми фрактального стиснення. Побудова алгоритму, його представлення та афінне перетворення.
курсовая работа [932,1 K], добавлен 10.07.2017Поняття растрового зображення, його види та структура. Лініатурна растра як основна риса автотипного зображення. Аналіз досліджень Юла і Нільсена у галузі оптичного розтискування. Співвідношення інтервалів оптичних щільностей у репродукційному процесі.
реферат [621,0 K], добавлен 13.09.2010Призначення та область застосування програм, які орієнтовані на перетворення зображень з плоского в об’ємне. Основні стадії формування тривимірного зображення. Класифікація моделей і методів візуалізації. Особливості створення карти глибин по пікселям.
курсовая работа [325,8 K], добавлен 04.06.2010Методи поліпшення растрових зображень. Параметри виду, буфер глибини, джерело світла в бібліотеці Opengl. Створення тривимірної фігури та забезпечення її повороту за допомогою Opengl, виконання операції масштабування з використанням клавіші "+" та "-".
контрольная работа [139,4 K], добавлен 12.09.2009Структура та галузі застосування систем цифрової обробки сигналів. Дискретне перетворення Фур’є. Швидкі алгоритми ортогональних тригонометричних перетворень. Особливості структурної організації пам’яті комп’ютерних систем цифрової обробки сигналів.
лекция [924,7 K], добавлен 20.03.2011Модель обробки файлів растрових зображень. Середній квадрат яскравості. Фільтри для виділення перепадів і границь. Опис та обґрунтування вибору складу технічних та програмних засобів. Опис інтерфейсу програми. Зображення діалогового вікна програми.
курсовая работа [664,3 K], добавлен 30.06.2009