МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
Кафедра ЗІ
З В І Т
До лабораторної роботи №3
з курсу: „ Системи запису і відтворення інформації”
на тему:
„ ДОСЛІДЖЕННЯ МЕТОДІВ ОБРОБКИ
ЗОБРАЖЕНЬ В MATLAB ”
Варіант - 14
Львів-2015
1. Мета роботи
Ознайомитися з основними можливостями обробки зображень
реалізованими в середовищі MatLab.
2. Завдання
1. Ознайомитись з теоретичним матеріалом.
2. Завантажити файл вказаний в завданні відповідно до свого варіанту.
3. Вивести основну інформацію про графічний файл.
4. Накласти на зображення шуми gaussian, salt & pepper, speckle.
5. Провести лінійну фільтрацію зашумленого зображення фільтрами ‘average’, ‘gaussian’, ‘sobel’, ‘prewitt’, ‘unsharp’. Зробити висновки про ефективність фільтрів.
6. Провести медіанну фільтрацію. Зробити висновки про ефективність фільтру.
7. Написати програму збереження відфільтрованого зображення у bmp-файлі.
8. Переконатися у працездатності програми.
3. Лістинг програми
clc;
I=imread('E:\wbarb.tiff');
subplot(2,2,1);
imshow(I); title('Original Image');
h=imshow('E:\wbarb.tiff');
info = imfinfo('E:\wbarb.tiff');
G=imnoise(I,'gaussian');
subplot(2,2,2);
imshow(G); title('Gaussian Noise');
SP=imnoise(I,'salt & pepper');
subplot(2,2,3);
imshow(SP); title('Salt & Pepper Noise');
S=imnoise(I,'speckle');
subplot(2,2,4);
imshow(S); title('Speckle Noise');
h=fspecial('gaussian');
FG=imfilter(G,h);
figure('Name','Filers for Gaussian Noise');
subplot(2,3,1);
imshow(FG); title('Gaussian Filter');
s=fspecial('sobel');
FA=imfilter(G,s);
subplot(2,3,2);
imshow(FA), title('Sobel Filter');
u=fspecial('unsharp');
FA=imfilter(G,u);
subplot(2,3,3);
imshow(FA), title('Unsharp Filter');
p=fspecial('prewitt');
FA=imfilter(G,p);
subplot(2,3,4);
imshow(FA), title('Prewitt Filter');
a=fspecial('average');
FA=imfilter(G,a);
subplot(2,3,5);
imshow(FA), title('Average Filter');
h=fspecial('gaussian');
FG=imfilter(SP,h);
figure('Name','Filers for Salt & Pepper Noice');
subplot(2,3,1);
imshow(FG);title('Gaussian Filter');
s=fspecial('sobel');
FA=imfilter(SP,s);
subplot(2,3,2);
imshow(FA), title('Sobel Filter');
u=fspecial('unsharp');
FA=imfilter(SP,u);
subplot(2,3,3);
imshow(FA), title('Unsharp Filter');
p=fspecial('prewitt');
FA=imfilter(SP,p);
subplot(2,3,4);
imshow(FA), title('Prewitt Filter');
a=fspecial('average');
FA=imfilter(SP,a);
subplot(2,3,5);
imshow(FA), title('Average Filter');
h=fspecial('gaussian');
FG=imfilter(S,h);
figure('Name','Filers for Speckle Noise');
subplot(2,3,1);
imshow(FG);title('Gaussian Filter');
s=fspecial('sobel');
FA=imfilter(S,s);
subplot(2,3,2);
imshow(FA), title('Sobel Filter');
u=fspecial('unsharp');
FA=imfilter(S,u);
subplot(2,3,3);
imshow(FA), title('Unsharp Filter');
p=fspecial('prewitt');
FA=imfilter(S,p);
subplot(2,3,4);
imshow(FA), title('Prewitt Filter');
a=fspecial('average');
FA=imfilter(S,a);
subplot(2,3,5);
imshow(FA), title('Average Filter');
K=medfilt2(G);
figure('Name','Median Filers');
subplot(2,2,1)
imshow(K);title('Median filter for Gaussian Noise ');
K=medfilt2(SP);
subplot(2,2,2)
imshow(K);title('Median filter for Salt & Pepper Noise ');
K=medfilt2(SP);
subplot(2,2,3)
imshow(K);title('Median filter for Speckle Noise ');
[m,n]=size(K);
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('E:\myphoto.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');
end;
fclose(d);
4. Результати виконання програми
Основна інформація про зображення
/
/
Початкова зображення, і додані до нього шуми
/
Зображення з гаусівським білим шумом, відфільтроване різними типами фільтрів
/
Зображення з шумом типу «сіль та перець», відфільтроване різними типами фільтрів
/
Зображення з мультиплікативним шумом, відфільтроване різними типами фільтрів
/
Зображення, відфільтроване медіанним фільтром
Збережене відфільтроване зображення з шумом типу «сіль та перець» з допомогою медіанного фільтру
/
Висновки
В ході лабораторної роботи я ознайомився з основами представлення зображень у цифровому вигляді. Також вивчив можливості додавання шумів до зображення, а також їхню фільтрацію, за допомогою засобів MATLAB