⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exp05.m

📁 SMOOTHING of images
💻 M
字号:
% % % % % % % % % % % % % % % 
%  Program for SMOOTHING    %
% % % % % % % % % % % % % % % 
clc;clear all;close all;


%%%%%%%CONVERTING TO GREY SCALE IMAGE %%%%%%
%%% Reading the images
I1 = imread('img_with_gaussian.bmp');
I2 = imread('img_with_salt_pepper.bmp');

%%% Converting 'unit8' values to 'double'
Im1 = im2double(I1)*255;
Im2 = im2double(I2)*255;

% Seperating R,G and B components 
R1 = Im1(:,:,1);
G1 = Im1(:,:,2);
B1 = Im1(:,:,3);
% Converting to Gray Scale Image
IMAGE1 = 0.299*R1 + 0.587*G1 + 0.114*B1;
% Rounding 
IMAGE1 = round (IMAGE1);

% Seperating R,G and B components 
R2 = Im2(:,:,1);
G2 = Im2(:,:,2);
B2 = Im2(:,:,3);
% Converting to Gray Scale Image
IMAGE2 = 0.299*R2 + 0.587*G2 + 0.114*B2;
% Rounding 
IMAGE2 = round (IMAGE2);

figure;
imshow(IMAGE1/255); title (' GAUSSIAN GRAY SCALE IMAGE ');
figure;
imshow(IMAGE2/255); title (' IMAGE WITH SALT & PEPPER NOISE ');
%imwrite(IMAGE1/255,'IMAGE1.bmp');
%imwrite(IMAGE2/255,'IMAGE2.bmp');

[R C] = size(IMAGE1);

%%%%%%%%%%%% AVERAGE FILTERING %%%%%%%%%%%%%%%%

m = 3;
n = m^2 ;
for i=1:1:m
    for j=1:1:m
        w1(i,j) = 1/n ;
    end
end
s = (m+1)/2;

for x=1:1:R
    for y=1:1:C
        IMAGE_1(x,y) = IMAGE1(x,y);
        IMAGE_2(x,y) = IMAGE2(x,y);
    end
end

for x=s:1:R-s
    for y=s:1:C-s
        IMAGE_1(x,y) = 0;
        IMAGE_2(x,y) = 0;
    end
end

for x=s:1:R-s
    for y=s:1:C-s
        for i=1:1:m
            for j=1:1:m
                IMAGE_1(x,y) = IMAGE1(x-s+i,y-s+j)*w1(i,j)+IMAGE_1(x,y);
                IMAGE_2(x,y) = IMAGE2(x-s+i,y-s+j)*w1(i,j)+IMAGE_2(x,y);
            end
        end
    end
end

figure;
imshow(IMAGE_1/255);title (' GAUSSIAN FILTERED IMAGE ');
figure;
imshow(IMAGE_2/255);title (' SALT & PEPPER FILTERED IMAGE ');
%imwrite(IMAGE_1/255,'IMAGE_1.bmp');
%imwrite(IMAGE_2/255,'IMAGE_2.bmp');

   %%% WAITED MASK %%%

w2 = [ 1 1 1 ; 1 1 1 ; 1 1 1]/9;

for x=1:1:R
    for y=1:1:C
        IMAGE3(x,y) = IMAGE1(x,y);
        IMAGE4(x,y) = IMAGE2(x,y);
    end
end

for x=s:1:R-s
    for y=s:1:C-s
        IMAGE3(x,y) = 0;
        IMAGE4(x,y) = 0;
    end
end

for x=s:1:R-s
    for y=s:1:C-s
        for i=1:1:m
            for j=1:1:m
                IMAGE3(x,y) = IMAGE1(x-s+i,y-s+j)*w1(i,j)+IMAGE3(x,y);
                IMAGE4(x,y) = IMAGE2(x-s+i,y-s+j)*w1(i,j)+IMAGE4(x,y);
            end
        end
    end
end

figure;
imshow(IMAGE3/255);title (' GAUSSIAN WAITED IMAGE ');
figure;
imshow(IMAGE4/255);title (' SALT & PEPPER WAITED IMAGE ');
%imwrite(IMAGE3/255,'IMAGE3.bmp');
%imwrite(IMAGE4/255,'IMAGE4.bmp');



%%%%%%%%  FILTERS %%%%%%%%
I = IMAGE1;
II =IMAGE2;

for x=2:1:R-1
    for y=2:1:C-1
        
  %%% MIN Filtering %%% 
                     %%% To make 3 x 3 mask into 1 x 9 mask 
a=[I(x-1,y-1) I(x-1,y) I(x-1,y+1) I(x,y-1) I(x,y)  I(x,y+1) I(x+1,y-1) I(x+1,y) I(x+1,y+1) ];
        Imin_G(x,y) = min(a);
b=[II(x-1,y-1) II(x-1,y) II(x-1,y+1) II(x,y-1) II(x,y)  II(x,y+1) II(x+1,y-1) II(x+1,y) II(x+1,y+1) ];
        Imin_SP(x,y) = min(b);
 
  %%% MAX Filtering %%%    
a=[I(x-1,y-1) I(x-1,y) I(x-1,y+1) I(x,y-1) I(x,y)  I(x,y+1) I(x+1,y-1) I(x+1,y) I(x+1,y+1) ];
         Imax_G(x,y) = max(a);
b=[II(x-1,y-1) II(x-1,y) II(x-1,y+1) II(x,y-1) II(x,y)  II(x,y+1) II(x+1,y-1) II(x+1,y) II(x+1,y+1) ];       
         Imax_SP(x,y) = max(b);
        
  %%% MEDIAN Filtering %%%       
a=[I(x-1,y-1) I(x-1,y) I(x-1,y+1) I(x,y-1) I(x,y)  I(x,y+1) I(x+1,y-1) I(x+1,y) I(x+1,y+1) ];
         a1=sort(a);
         med_a=a1(5);
         Imedian_G(x,y) = med_a;
b=[II(x-1,y-1) II(x-1,y) II(x-1,y+1) II(x,y-1) II(x,y)  II(x,y+1) II(x+1,y-1) II(x+1,y) II(x+1,y+1) ]; 
         b1=sort(b);
         med_b=b1(5);
        Imedian_SP(x,y) = med_b;
     
  %%% MID-POINT Filtering %%%       
a=[I(x-1,y-1) I(x-1,y) I(x-1,y+1) I(x,y-1) I(x,y)  I(x,y+1) I(x+1,y-1) I(x+1,y) I(x+1,y+1) ];
        Imidpt_G(x,y) = (min(a)+max(a))/2;
b=[II(x-1,y-1) II(x-1,y) II(x-1,y+1) II(x,y-1) II(x,y)  II(x,y+1) II(x+1,y-1) II(x+1,y) II(x+1,y+1) ];        
        Imidpt_SP(x,y) = (min(b)+max(b))/2;
        
    end
end

figure;
imshow(Imin_G/255);title (' GAUSSIAN MIN FILTER ');
figure;
imshow(Imin_SP/255);title (' SALT & PEPPER MIN FILTER ');
%imwrite(Imin_G/255,'Imin_G.bmp');
%imwrite(Imin_SP/255,'Imin_SP.bmp');

figure;
imshow(Imax_G/255);title ('  GAUSSIAN MAX FILTER ');
figure;
imshow(Imax_SP/255);title (' SALT & PEPPER MAX FILTER ');
%imwrite(Imax_G/255,'Imax_G.bmp');
%imwrite(Imax_SP/255,'Imax_SP.bmp');

figure;
imshow(Imedian_G/255);title ('  GAUSSIAN MEDIAN FILTER ');
figure;
imshow(Imedian_SP/255);title (' SALT & PEPPER MEDIAN FILTER ');
%imwrite(Imedian_G/255,'Imedian_G.bmp');
%imwrite(Imedian_SP/255,'Imedian_SP.bmp');

figure;
imshow(Imidpt_G/255);title ('  GAUSSIAN MID POINT FILTER ');
figure;
imshow(Imidpt_SP/255);title (' SALT & PEPPER MID POINT FILTER ');
%imwrite(Imidpt_G/255,'Imidpt_G.bmp');
%imwrite(Imidpt_SP/255,'Imidpt_SP.bmp');




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -