ДОСЛІДЖЕННЯ МЕТОДІВ ОБРОБКИ ЗОБРАЖЕНЬ В MATLAB

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ КАФЕДРА ”ЗАХИСТ ІНФОРМАЦІЇ”  Звіт до лабораторної роботи № 3 з курсу: "Системи запису та відтворення інформації" на тему: “ ДОСЛІДЖЕННЯ МЕТОДІВ ОБРОБКИ ЗОБРАЖЕНЬ В MATLAB ” Варіант 4. Мета роботи: Ознайомитися з основними можливостями обробки зображень реалізованими в середовищі MatLab. Повний текст завдання: Ознайомитись з теоретичним матеріалом. Завантажити файл вказаний в завданні відповідно до свого варіанту. Вивести основну інформацію про графічний файл. Накласти на зображення шуми gaussian, salt & pepper, speckle. Провести лінійну фільтрацію зашумленого зображення фільтрами ‘average’, ‘gaussian’, sobel’, ‘prewitt’, ‘unsharp’. Зробити висновки про ефективність фільтрів. Провести медіанну фільтрацію. Зробити висновки про ефективність фільтру Написати програму збереження відфільтрованого зображення у bmp-файлі. Переконатися у працездатності програми. Варіант  Назва файлу  4  belmont1.tiff   Лістинг програми: I = imread('D:\Політех\С-ми запису і відтворення інф\Photo\belmont1.tiff'); figure(1); imshow(I); J1=imnoise(I,'salt & pepper'); figure(2); subplot(1,2,1); imshow(I);title('Original'); subplot(1,2,2); imshow(J1);title('Salt & Pepper'); J2=imnoise(I,'gaussian'); figure(3); title('Gaussian'); subplot(1,2,1); imshow(I); subplot(1,2,2); imshow(J2); J3=imnoise(I,'speckle'); figure(4); subplot(1,2,1); imshow(I); subplot(1,2,2); imshow(J3); %////////////////////////////////////////////////////////////////// B = medfilt2(J1); figure(5); subplot(1,2,1); imshow(J1); title('Noised salt & pepper'); subplot(1,2,2); imshow(B); title('Filtered'); B = medfilt2(J2); figure(6); subplot(1,2,1); imshow(J2); title('Noised Gaussian'); subplot(1,2,2); imshow(B); title('Filtered'); B = medfilt2(J3); figure(7); subplot(1,2,1); imshow(J3); title('Noised speckle'); subplot(1,2,2); imshow(B); title('Filtered'); %//////////////////////////////////////////////////////////////////// h=fspecial('average'); J4 = imfilter(J1, h); figure(8); subplot(1,2,1); imshow(J2); title('Noised salt & pepper'); subplot(1,2,2); imshow(J4); title('Filtered Average'); J4 = imfilter(J2, h); figure(9); subplot(1,2,1); imshow(J2); title('Noised Gaussian'); subplot(1,2,2); imshow(J4); title('Filtered Average'); J4 = imfilter(J3, h); figure(10); subplot(1,2,1); imshow(J2); title('Noised speckle'); subplot(1,2,2); imshow(J4); title('Filtered Average'); h=fspecial('gaussian'); J4=imfilter(J1,h); figure(11); subplot(1,2,1); imshow(J2); title('Noised Gaussian'); subplot(1,2,2); imshow(J4); title('Filtered '); J4=imfilter(J2,h); figure(12); subplot(1,2,1); imshow(J2); title('Noised Gaussian'); subplot(1,2,2); imshow(J4); title('Filtered'); J5=imfilter(J3,h); figure(13); subplot(1,2,1); imshow(J3); title('Noised unsharp'); subplot(1,2,2); imshow(J5); title('Filtered'); h=fspecial('unsharp'); J4=imfilter(J1,h); figure(14); subplot(1,2,1); imshow(J2); title('Noised salt & pepper'); subplot(1,2,2); imshow(J4); title('Filtered '); J4=imfilter(J2,h); figure(15); subplot(1,2,1); imshow(J2); title('Noised Gaussian'); subplot(1,2,2); imshow(J4); title('Filtered'); J5=imfilter(J3,h); figure(16); subplot(1,2,1); imshow(J3); title('Noised unsharp'); subplot(1,2,2); imshow(J5); title('Filtered'); % Визначити висоту і ширину зображення [m, n] = size(I); H_I = m; % Висота W_I = n; % Ширина % Доповнити кількість байт в рядку до кратних 4 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('my.bmp', 'wb'); %/////////////////////////////////////////////////////////////////////////// % Заголовок файлу (BitMapFileHeader) % Заповнити поле Type fwrite(d, 'B', 'uchar'); fwrite(d, 'M', 'uchar'); % Заповнити поле Size fwrite(d, File_Size, 'int32'); % Заповнити поле Reserved 1 fwrite(d, 0, 'int16'); 7 % Заповнити поле Reserved 2 fwrite(d, 0, 'int16'); % Заповнити поле OffsetBits fwrite(d, Offset, 'int32'); %/////////////////////////////////////////////////////////////////////////// % Інформаційний заголовок (BitMapInfoHeader) % Заповнити поле Size fwrite(d, 40, 'int32'); % Заповнити поле Width fwrite(d, W_I, 'int32'); % Заповнити поле Height fwrite(d, H_I, 'int32'); % Заповнити поле Planes fwrite(d, 1, 'int16'); % Заповнити поле BitCount fwrite(d, 8, 'int16'); % Заповнити поле Compression fwrite(d, 0, 'int32'); % Заповнити поле SizeImage fwrite(d, Image_Size, 'int32'); % Заповнити поле XpelsPerMeter fwrite(d, 0, 'int32'); % Заповнити поле YpelsPerMeter fwrite(d, 0, 'int32'); % Заповнити поле ColorsUsed fwrite(d, 256, 'int32'); % Заповнити поле ColorsImportant fwrite(d, 256, 'int32'); %/////////////////////////////////////////////////////////////////////////// % Таблиця кольорів (палітра) (ColorTable) for ii = 0 : 255 Temp = [ii ii ii 255]; fwrite(d, Temp, 'uchar'); end; %/////////////////////////////////////////////////////////////////////////// % Дані зображення (BitMap Array) Temp = zeros(1, W_Real); for ii = H_I : -1 : 1 Temp(1:W_I) = I(ii, 1:W_I); fwrite(d, Temp, 'uchar'); end; %/////////////////////////////////////////////////////////////////////////// fclose(d); Оригінал:  Фільтрація зображення з шумом типу «сіль і перець» медіанною фільтрацією  Фільтрація зображення з шумом типу Гауса фільтром Гауса  Фільтрація зображення з шумом типу Гауса фільтром «average»  Фільтрація зображення з мультиплікативним шумом фільтром «average»  Висновок: Виконуючи дану лабораторну роботу, ми навчилися працювати із зображеннями у середовищі Matlab. Ми розглянули методи очистки зображень за допомогою різноманітних фільтрів. Можна зробити висновок шодо відповідності очистки зображення контректним фільтром в залежності від типу шуму на зображенні. Проти шуму типу «сіль і перець» доречно застосовувати медіанну фільтрацію. Проти шуму Гаусса доречно використовувати фільтр Гаусса і фільтр типу «average». Проти мультиплікативного шуму – фільтр «average».
Антиботан аватар за замовчуванням

14.03.2013 23:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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