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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №3 з курсу: «Системи запису та відтворення інформації» на тему: «Дослідження методів обробки зображень в MATLAB.» МЕТА РОБОТИ Oзнайомитися з основними можливостями обробки зображень реалізованими в середовищі MATLAB. ЗАВДАННЯ 1. Ознайомитись з теоретичним матеріалом. 2. Завантажити файл вказаний в завданні відповідно до свого варіанту. 3. Вивести основну інформацію про графічний файл. 4. Накласти на зображення шуми gaussian, salt & pepper, speckle. 5. Провести лінійну фільтрацію зашумленого зображення фільтрами ‘average’, ‘gaussian’, sobel’, ‘prewitt’, ‘unsharp’. Зробити висновки про ефективність фільтрів. 6. Провести медіанну фільтрацію. Зробити висновки про ефективність фільтру. 7. Написати програму збереження відфільтрованого зображення у bmp-файлі. 8. Переконатися у працездатності програми. Варіант Назва файлу  11 cameraman1.tiff   ТЕКСТ ПРОГРАМИ A=imread('K:cameraman1.tiff','tiff'); info=imfinfo('K:cameraman1.tiff','tiff'); figure(1);imshow(A) info.Filename info.FileModDate info.FileSize info.Format info.FormatVersion info.Width info.Height info.BitDepth info.ColorType % Накладання шумів B=imnoise(A,'gaussian'); figure(2);imshow (B); B=imnoise(A,'salt & pepper'); figure(3);imshow (B); B=imnoise(A,'speckle'); figure(4);imshow (B); % Фільтрування h= fspecial('average'); C=imfilter(B,h); figure(5);imshow (C); h= fspecial('gaussian'); C=imfilter(B,h); figure(6);imshow (C); % h= fspecial('sobel'); C=imfilter(C,h'); figure(7);imshow (C); % h= fspecial('prewitt'); C=imfilter(B,h); figure(8);imshow (C); % h= fspecial('unsharp'); C=imfilter(B,h); figure(9);imshow (C); C=medfilt2(B,[3,3]); figure(10);imshow (C); % Визначити висоту і ширину зображення [m, n] = size(C); 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('K:cameraman1.bmp', 'wb'); % % Заголовок файлу (BitMapFileHeader) % Заповнити поле Type fwrite(d, 'B', 'uchar'); fwrite(d, 'M', 'uchar'); % Заповнити поле Size fwrite(d, File_Size, 'int32'); % Заповнити поле Reserved 1 fwrite(d, 0, 'int16'); % Заповнити поле 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) = C(ii, 1:W_I); fwrite(d, Temp, 'uchar'); end; % fclose(d); РЕЗУЛЬТАТ ВИКОНАННЯ ПРОГРАМИ ans = K:cameraman1.tiff ans = 24-Dec-2012 18:20:00 ans = 65110 ans = tif ans = [] ans = 256 ans = 256 ans = 8 ans = grayscale / Оригінальне зображення. Накладання шуму ‘gaussian’ / / Накладання шуму ‘salt & papper’ Накладання шуму ‘speckle’ / / Фільтрування ‘average’ Фільтрування ‘gaussian’ / / Фільтрування ‘sobel’ Фільтрування ‘prewitt’ / / Фільтрування ‘unsharp’ Фільтрування medfilt2 / / РЕЗУЛЬТАТ ОРИГІНАЛЬНЕ ЗОБРАЖЕННЯ ВІДФІЛЬТРОВАНЕ ЗОБРАЖЕННЯ / / ВИСНОВКИ Головна задача в даній лабораторній роботі була в наступному - навчитися працювати із зображеннями у середовищі Matlab. Розглянувши методи очистки зображень за допомогою різноманітних фільтрів, можна зробити висновок про відповідність очистки зображення конкретним фільтром в залежності від типу шуму на зображенні: проти шуму типу «сіль і перець» доречно застосовувати медіанну фільтрацію, проти гауссіанськго шуму доречно використовувати фільтр Гаусса і фільтр типу «average», проти мультиплікативного шуму – фільтр «average».Як видно із результатів, найякіснішу фільтрацію має медіанний фільтр.
Антиботан аватар за замовчуванням

11.03.2013 20:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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