Wednesday, 28 May 2014

MEAN FILTER IN MATLAB PROGRAM

/*CSEMATTER.BLOGSPOT.IN
PROGRAM FOR MEAN FILTER IN MATLAB*/


A = imread('atul1.jpg');
A=imresize(A,[300,300]);
A = rgb2gray(A)
figure,imshow(A),title('ORIGINAL IMAGE');

modifyA=zeros(size(A)+2);
B=zeros(size(A));
        for x=1:size(A,1)
            for y=1:size(A,2)
                modifyA(x+1,y+1)=A(x,y);
            end
        end
   
for i= 1:size(modifyA,1)-2
    for j=1:size(modifyA,2)-2
        window=zeros(9,1);
        inc=1;
        sum=0;
        for x=1:3
            for y=1:3
                window(inc)=modifyA(i+x-1,j+y-1);
     
                sum=sum+window(inc);
                inc=inc+1;
            end
        end
       sum=sum/9;
        B(i,j)=sum;
     
    end
end
B=uint8(B);
figure,imshow(B),title('IMAGE AFTER MEAN FILTERING');


MAX FILTER MATLAB PROGRAM

/*CSEMATTER.BLOGSPOT.IN
PROGRAM FOR MAX FILTER IN MATLAB*/


A = imread('atul1.jpg');
A=imresize(A,[300,300]);
 A = rgb2gray(A)
figure,imshow(A),title('ORIGINAL IMAGE');
B=zeros(size(A));
modifyA=padarray(A,[1 1]);

        x=[1:3];
        y=[1:3];
     
for i= 1:size(modifyA,1)-2
    for j=1:size(modifyA,2)-2
       window=reshape(modifyA(i+x-1,j+y-1),[],1);
               B(i,j)=max(window);
 
    end
end
B=uint8(B);
figure,imshow(B),title('IMAGE AFTER MAX FILTERING');

LINEAR FILTER IN MATLAB PROGRAM

/*CSEMATTER.BLOGSPOT.IN
PROGRAM FOR LINEAR FILTER IN MATLAB*/


A = imread('atul1.jpg');
A=imresize(A,[300,300]);
A = rgb2gray(A)
figure,imshow(A),title('ORIGINAL IMAGE');
modifyA=zeros(size(A)+2);
B=[1,2,4;1,2,4;1,2,4];
        for x=1:size(A,1)
            for y=1:size(A,2)
                modifyA(x+1,y+1)=A(x,y);
            end
        end
   
for i= 1:size(modifyA,1)-2
    for j=1:size(modifyA,2)-2
        sum=0;
            for x=1:3
               for y=1:3
                sum=sum +((modifyA(i+x-1,j+y-1))*B(x,y));
            end
        end
       sum=sum/9;
        A(i,j)=sum;
     
    end
end

figure,imshow(A),title('IMAGE AFTER LINEAR FILTERING');

HISTOGRAM EQUALIZATION IN MATLAB

/*CSEMATTER.BLOGSPOT.IN
PROGRAM FOR HISTOGRAM EQUALIZATION IN MATLAB*/


im1=imread('atul1.jpg');
im=rgb2gray(im1);
im=imresize(im,[256,256]);
numofpixels=size(im,1)*size(im,2);
figure(1);
subplot(1,2,1);
imshow(im);
subplot(1,2,2);
imhist(im);
HIm=uint8(zeros(size(im,1),size(im,2)));
freq=zeros(256,1);
probf=zeros(256,1);
probc=zeros(256,1);
cum=zeros(256,1);
output=zeros(256,1);
for i=1:size(im,1)
    for j=1:size(im,2)
        value=im(i,j);
        freq(value+1)=freq(value+1)+1;
        probf(value+1)=freq(value+1)/numofpixels;
   end
end
sum=0;
no_=255;
for i=1:size(probf)
   sum=sum+freq(i);
   cum(i)=sum;
   probc(i)=cum(i)/numofpixels;
   output(i)=round(probc(i)*no_);
end

for i=1:size(im,1)
    for j=1:size(im,2)
     HIm(i,j)=output(im(i,j)+1);
    end
end
figure(2);
subplot(1,2,1);
imshow(HIm);
subplot(1,2,2);
imhist(HIm);

OPERATIONS ON MATRIX IN MATLAB

/*CSEMATTER.BLOGSPOT.IN*/

DIGITAL IMAGE PROCESSING LAB
/*PROGRAM TO PERFORM ADDITION SUBTRACTION ETC. IN MATLAB*/

a=[1,2,3;4,5,6;7,8,9]
b=[2,4,6;1,3,5;3,4,1]
d=[1,2,3]
c=a+b;
disp('addition is ');
disp(c);
c=a-b;
disp('difference is ');
disp(c);
c=a*b;
disp('multiplication is');
disp(c);
disp('dot product');
c=a.*b;
disp(c);
disp('divison is');
c=a/d;
disp(c);
c=inv(a);
disp('inverse is');
disp(c);
disp('powerof matrix');
c=a^2;
disp(c);
disp('scalar divison');
c=a/2;
disp(c);