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

📄 exp06.m

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

%%%%%%%CONVERTING TO GREY SCALE IMAGE %%%%%%
%%% Reading the image
IMAGE = imread('home.bmp');

%%% Converting 'unit8' values to 'double'
Im = im2double(IMAGE)*255;

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

figure;
imshow(I/255); title (' DREAM PALACE ');
%imwrite(I/255,'IMAGE.bmp');

[R C] = size(I);

for x = 1:1:R
    for y = 1:1:C
        I2(x,y) = I(x,y) ;
        I3(x,y) = I(x,y) ;
        I4(x,y) = I(x,y) ;
        I5(x,y) = I(x,y) ;
        I6(x,y) = I(x,y) ;
        I7(x,y) = I(x,y) ;
        I8(x,y) = I(x,y) ;
        I9(x,y) = I(x,y) ;
    end
end

for x = 2:1:R-1
    for y = 2:1:C-1
        I2(x,y) = 0 ;
        I3(x,y) = 0 ;
        I4(x,y) = 0 ;
        I5(x,y) = 0 ;
        I6(x,y) = 0 ;
        I7(x,y) = 0 ;
        I8(x,y) = 0 ;
        I9(x,y) = 0 ;
        
    end
end

                     %%% Gradient Operator %%%
w1=[1 0;-1 0];
w2=[1 -1;0 0];

for x = 2:1:R-1;
    for y = 2:1:C-1;
        a1(x,y) = [w1(1)*I(x,y)+w1(2)*I(x,y+1)+w1(3)*I(x+1,y)+w1(4)*I(x+1,y+1)];
        a2(x,y) = [w2(1)*I(x,y)+w2(2)*I(x,y+1)+w2(3)*I(x+1,y)+w2(4)*I(x+1,y+1)];
    end
end
I2=a1+a2; %%% final gradient image

figure;
imshow(a1/255); title (' x-gradient image ');
figure;
imshow(a2/255); title (' y-gradient image ');
figure;
imshow(I2/255); title (' FILTERING WITH  GRADIENT OPERATOR  ');
%imwrite(I2/255,'img_grad.bmp');

                    %%% Roberts Operator %%%
w3=[1 0;0 -1];
w4=[0 1;-1 0];

for x = 2:1:R-1;
    for y = 2:1:C-1;
        a3(x,y) = [w3(1)*I(x,y)+w3(2)*I(x,y+1)+w3(3)*I(x+1,y)+w3(4)*I(x+1,y+1)];
        a4(x,y) = [w4(1)*I(x,y)+w4(2)*I(x,y+1)+w4(3)*I(x+1,y)+w4(4)*I(x+1,y+1)];
    end
end
I3=a3+a4; %%%  final robert image

figure;
imshow(a3/255); title (' x-robert cross gradient image ');
figure;
imshow(a4/255); title (' y-robert cross gradient image ');
figure;
imshow(I3/255); title (' FILTERING WITH ROBERT CROSS GRADIENT OPERATOR ');
%imwrite(I3/255,'img_rob.bmp');


                       %%% Sobel operator  %%%
w5=[-1 -2 -1;0 0 0;1 2 1];
w6=[-1 0 1;-2 0 2;-1 0 1];

for x = 2:1:R-1;
    for y = 2:1:C-1;
        a5(x,y) = [w5(1)*I(x-1,y-1)+w5(2)*I(x-1,y)+w5(3)*I(x-1,y+1)+w5(4)*I(x,y-1)+w5(5)*I(x,y)+w5(6)*I(x,y+1)+w5(7)*I(x+1,y-1)+w5(8)*I(x+1,y)+w5(9)*I(x+1,y+1)];
        a6(x,y) = [w6(1)*I(x-1,y-1)+w6(2)*I(x-1,y)+w6(3)*I(x-1,y+1)+w6(4)*I(x,y-1)+w6(5)*I(x,y)+w6(6)*I(x,y+1)+w6(7)*I(x+1,y-1)+w6(8)*I(x+1,y)+w6(9)*I(x+1,y+1)];
    end
end
I4=a5+a6 ;%%%  final Sobel image

figure;
imshow(a5/255); title (' x-sobel operator image ');
figure;
imshow(a6/255); title (' y-sobel operator image ');
figure;
imshow(I4/255); title (' FILTERING WITH SOBEL OPERATOR ');
%imwrite(I4/255,'img_sob.bmp');

                     %%% Laplacian Operator %%%
w7=[0 1 0;1 -4 1;0 1 0];

for x = 2:1:R-1;
    for y = 2:1:C-1;
      a7(x,y) = [w7(1)*I(x-1,y-1)+w7(2)*I(x-1,y)+w7(3)*I(x-1,y+1)+w7(4)*I(x,y-1)+w7(5)*I(x,y)+w7(6)*I(x,y+1)+w7(7)*I(x+1,y-1)+w7(8)*I(x+1,y)+w7(9)*I(x+1,y+1)];
    end
end
I5=a7;
figure;
imshow(I5/255); title (' LAPLACIAN OPERATOR FILTERING  ');
%imwrite(I5/255,'img_lap.bmp');

                   %%% Composite Laplacian Operator %%%
w8=[-1 -1 -1;-1 9 -1;-1 -1 -1];

for x = 2:1:R-1;
    for y = 2:1:C-1;
      a8(x,y) = [w8(1)*I(x-1,y-1)+w8(2)*I(x-1,y)+w8(3)*I(x-1,y+1)+w8(4)*I(x,y-1)+w8(5)*I(x,y)+w8(6)*I(x,y+1)+w8(7)*I(x+1,y-1)+w8(8)*I(x+1,y)+w8(9)*I(x+1,y+1)];
    end
end
I6=a8;
figure;
imshow(I6/255); title (' COMPOSITE LAPLACIAN OPERATOR FILTERING  ');
%imwrite(I6/255,'img_clap.bmp');

                  %%% High Boost Filtering %%%
%%% General operaror  is w=[0 -1 0 ;-1 A+4 -1 ;0 -1 0];
 w9=[0 -1 0;-1 5 -1;0 -1 0];     % A = 1
w10=[0 -1 0;-1 6 -1;0 -1 0];     % A = 2
w11=[0 -1 0;-1 7 -1;0 -1 0];     % A = 3

for x = 2:1:R-1;
    for y = 2:1:C-1;
      a9(x,y) = [w9(1)*I(x-1,y-1)+w9(2)*I(x-1,y)+w9(3)*I(x-1,y+1)+w9(4)*I(x,y-1)+w9(5)*I(x,y)+w9(6)*I(x,y+1)+w9(7)*I(x+1,y-1)+w9(8)*I(x+1,y)+w9(9)*I(x+1,y+1)];
     a10(x,y) = [w10(1)*I(x-1,y-1)+w10(2)*I(x-1,y)+w10(3)*I(x-1,y+1)+w10(4)*I(x,y-1)+w10(5)*I(x,y)+w10(6)*I(x,y+1)+w10(7)*I(x+1,y-1)+w10(8)*I(x+1,y)+w10(9)*I(x+1,y+1)];
     a11(x,y) = [w11(1)*I(x-1,y-1)+w11(2)*I(x-1,y)+w11(3)*I(x-1,y+1)+w11(4)*I(x,y-1)+w11(5)*I(x,y)+w11(6)*I(x,y+1)+w11(7)*I(x+1,y-1)+w11(8)*I(x+1,y)+w11(9)*I(x+1,y+1)];
    end
end
 I7=a9;
 I8=a10;
 I9=a11;
 
figure;
imshow(I7/255); title (' HIGH BOOST FILTERING (A=1) ');
%imwrite(I7/255,'img_hbp1.bmp')
figure;
imshow(I8/255); title (' HIGH BOOST FILTERING (A=2) ');
%imwrite(I8/255,'img_hbp2.bmp')
figure;
imshow(I9/255); title (' HIGH BOOST FILTERING (A=3) ');
%imwrite(I9/255,'img_hbp3.bmp')







⌨️ 快捷键说明

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