DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системи запису та відтворення інформації
Група:
ЗІ-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:27

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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