Дослідження методів обробки зображень в Matlab

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системи запису та відтворення інформації
Група:
ЗІ-32

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЗІ З В І Т до лабораторної роботи №3 з курсу: «Системи запису та відтворення інформації» на тему: «Дослідження методів обробки зображень в Matlab» Варіант № 15 Львів – 2010 Мета роботи – ознайомитися з основними можливостями обробки зображень реалізованими в середовищі MatLab. ЗАВДАННЯ 1. Ознайомитись з теоретичним матеріалом. 2. Завантажити файл вказаний в завданні відповідно до свого варіанту. 3. Вивести основну інформацію про графічний файл. 4. Накласти на зображення шуми gaussian, salt & pepper, speckle. 5. Провести лінійну фільтрацію зашумленого зображення фільтрами ‘average’, ‘gaussian’, ‘sobel’, ‘prewitt’, ‘unsharp’. Зробити висновки про ефективність фільтрів. 6. Провести медіанну фільтрацію. Зробити висновки про ефективність фільтру. 7. Написати програму збереження відфільтрованого зображення у bmp-файлі. 8. Переконатися у працездатності програми. Варіант Назва файлу  15 chess.tiff   Лістинг програми: A = imread ('D:\Documents\Photo\chess.tiff'); info = imfinfo('D:\Documents\Photo\chess.tiff'); J = imnoise(A, 'gaussian'); imwrite (J,'D:\Documents\Лаброб 3\Gaus.jpeg'); h1 = fspecial ('average'); h2 = fspecial ('gaussian'); h3 = fspecial ('sobel'); h4 = fspecial ('prewitt'); h5 = fspecial ('unsharp'); J1 = imfilter(J,h1); imwrite (J1,'D:\Documents \Лаброб 3\Gaus_Av.jpeg'); J2 = imfilter(J,h2); imwrite (J2,'D:\Documents \Лаброб 3\Gaus_Gu.jpeg'); J3 = imfilter(J,h3); imwrite (J3,'D:\Documents \Лаброб 3\Gaus_So.jpeg'); J4 = imfilter(J,h4); imwrite (J4,'D:\Documents\Лаброб 3\Gaus_Pr.jpeg'); J5 = imfilter(J,h5); imwrite (J5,'D:\Documents\Лаброб 3\Gaus_Un.jpeg'); I = imnoise(A,'salt & pepper'); imwrite (I,'D:\Documents \Лаброб 3\S&P.jpeg'); h6 = fspecial ('average'); h7 = fspecial ('gaussian'); h8 = fspecial ('sobel'); h9 = fspecial ('prewitt'); h10 = fspecial ('unsharp'); J6 = imfilter(I,h6); imwrite (J6,'D:\Documents\Лаброб 3\S&P_Av.jpeg'); J7 = imfilter(I,h7); imwrite (J7,'D:\Documents \Лаброб 3\S&P_Gu.jpeg'); J8 = imfilter(I,h8); imwrite (J8,'D:\Documents \Лаброб 3\S&P_So.jpeg'); J9 = imfilter(I,h9); imwrite (J9,'D:\Documents\Лаброб 3\S&P_Pr.jpeg'); J10 = imfilter(I,h10); imwrite (J10,'D:\Documents\Лаброб 3\S&P_Un.jpeg'); Y= imnoise(A,'speckle'); imwrite (Y,'D:\Documents\Лаброб 3\Sp.jpeg'); h11 = fspecial ('average'); h12 = fspecial ('gaussian'); h13 = fspecial ('sobel'); h14 = fspecial ('prewitt'); h15 = fspecial ('unsharp'); J11 = imfilter(Y,h11); imwrite (J11,'D:\Documents\Лаброб 3\Sp_Av.jpeg'); J12 = imfilter(Y,h12); imwrite (J12,'D:\Documents\Лаброб 3\Sp_Gu.jpeg'); J13 = imfilter(Y,h13); imwrite (J13,'D:\Documents\Лаброб 3\Sp_So.jpeg'); J14 = imfilter(Y,h14); imwrite (J14,'D:\Documents\Лаброб 3\Sp_Pr.jpeg'); J15 = imfilter(Y,h15); imwrite (J15,'D:\Documents\Лаброб 3\Sp_Un.jpeg'); B = medfilt2(J, [2,4]); imwrite (B,'D:\Documents\Лаброб 3\Lin_Ga.jpeg'); B2 = medfilt2(I, [2,4]); imwrite (B2,'D:\Documents\Лаброб 3\Lin_S&P.jpeg'); B3 = medfilt2(Y, [2,4]); imwrite (B3,'D:\Documents \Лаброб 3\Lin_Sp.jpeg'); I = imread('D:\Documents\Лаброб 3\Photo\chess.tiff'); [m,n] = size(I); H_I = m; W_I = n; W_Real = W_I+(W_I-fix(W_I/4)*4); File_Size = 54+W_Real*H_I+256*4; Image_Size = W_Real*H_I; Offset = 54+256*4; d = fopen('D:\Documents \Лаброб 3\SAV.bmp','wb'); fwrite(d,'B','uchar'); fwrite(d,'M','uchar'); fwrite(d,File_Size,'int32'); fwrite(d,0, 'int16'); fwrite(d,0, 'int16'); fwrite(d,Offset, 'int32'); fwrite(d,40,'int32'); fwrite(d,W_I,'int32'); fwrite(d,H_I,'int32'); fwrite(d,1,'int16'); fwrite(d,8,'int16'); fwrite(d,0,'int32'); fwrite(d,Image_Size,'int32'); fwrite(d,0,'int32'); fwrite(d,0,'int32'); fwrite(d,256,'int32'); fwrite(d,256,'int32'); for ii = 0:255 Temp = [ii ii ii 255]; fwrite(d,Temp,'uchar'); end; Temp = zeros(1,W_Real); for ii = H_I:-1:1 Temp(1:W_I) = I(ii,1:W_I); fwrite(d,Temp, 'uchar'); fclose(d); Графіки:   а) Оригінальне зображення б) Накладання шуму «gaussian»   в) Накладання шуму «salt&pepper» г) Накладання шуму «speckle» Медіанна фільтрація зашумленого зображення:    а) З накладанням шуму «gaussian» б) З накладанням шуму «salt&pepper» в) З накладанням шуму «speckle» Лінійна фільтрація зашумленого зображення фільтрами ‘average’, ‘gaussian’, ‘sobel’, ‘prewitt’, ‘unsharp’: З накладанням шуму «gaussian»:а) ‘average’; б) ‘gaussian’; в) ‘sobel’; г) ‘prewitt’; д) ‘unsharp’;    а) б) в)   г) д) З накладанням шуму «salt&pepper»:а) ‘average’; б) ‘gaussian’; в) ‘sobel’; г) ‘prewitt’; д) ‘unsharp’;    а) б) в)   г) д) З накладанням шуму «speckle»:а) ‘average’; б) ‘gaussian’; в) ‘sobel’; г) ‘prewitt’; д) ‘unsharp’;    а) б) в)   г) д) Висновки: На цій лабораторній роботі я ознайомився з основними можливостями обробки зображень, реалізованими в середовищі MatLab. Завдання лабораторної роботи полягало в тому, щоб спочатку зашумити зображення різними видами шумів («gaussian», «salt&pepper», «speckle»), а потім відфільтрувати зображення за допомогою медіанної та лінійної фільтрації. В лінійній фільтрації використовувались фільтри:‘average’, ‘gaussian’, ‘sobel’, ‘prewitt’, ‘unsharp’. Отже, медіанну фільтрацію найкраще використовувати тоді, коли зображення зашумлене шумом «salt&pepper»; для шуму «gaussian» при лінійній фільтрації найбільше підходить фільтр «gaussian», для шуму «salt&pepper» - ‘gaussian’ або ‘unsharp’, для шуму «speckle» - ‘gaussian’. Для фільтрування зображень найкраще використовувати комплексні фільтрації.
Антиботан аватар за замовчуванням

20.03.2013 00:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!