Lab Manual DIP

13
Program -1 %%Calculate Image negative%% clear all; close all; clc; aa=imread('cameraman.tif'); a=double(aa); c=255; b=c-a; figure(1) ; colormap(gray); imagesc(a); figure(2) ; colormap(gray); imagesc(b);

Transcript of Lab Manual DIP

Page 1: Lab Manual DIP

Program -1

%%Calculate Image negative%% clear all;close all;clc;aa=imread('cameraman.tif');a=double(aa);c=255;b=c-a;figure(1) ;colormap(gray);imagesc(a);figure(2) ;colormap(gray);imagesc(b);

Program -2

Page 2: Lab Manual DIP

%%Program for thresholding%% clear all;close all;clc;p=imread('cameraman.tif');a=p;[row col]=size(a);T=input('Enter value of threshold:');for i=1:1:row; for j=1:1:col if(p(i,j)<T) a(i,j)=0; else a(i,j)=255; end endendfigure(1) ;imshow(p);figure(2) ;imshow(a);

Program -3

Page 3: Lab Manual DIP

%%Ideal Low pass filters%% clear all;close all;clc;b=imread('cameraman.tif');a=double(b);c=size(a);N=c(1) d=input('Enter the cut-off frequency');for u=1:1:c(1) for v =1:1:c(2)D=((u-(N/2))^2+(v-(N/2))^2)^0.5;if D<d H(u,v)=1;else H(u,v)=0;end endendvv=fft2(a);vc=fftshift(vv);x=vc.*H;X=abs(ifft2(x));%%PLOTTING%%figure(1); imshow(uint8(a));figure(2); mesh(H);figure(3); imshow(uint8(X));figure(4); imagesc(H), colormap(gray);

Page 4: Lab Manual DIP

Program -4

%%Low pass Butterworth filters%% clear all;close all;clc;b=imread('cameraman.tif');a=double(b);c=size(a);N=c(1)n=input('Enter the order of the filter');d=input('Enter the cut-off frequency');for u=1:1:c(1) for v =1:1:c(2)D=((u-(N/2))^2+(v-(N/2))^2)^0.5;H(u,v)=1/(1+(D/d)^2*n);end end vv=fft2(a);vc=fftshift(vv);x=vc.*H;X=abs(ifft2(x));%%PLOTTING%%figure(1); imshow(uint8(a));figure(2); mesh(H);figure(3); imshow(uint8(X));figure(4); imagesc(H), colormap(gray);

Program -5

Page 5: Lab Manual DIP

%%Low pass Gaussian filters%% clear all;close all;clc;b=imread('cameraman.tif');a=double(b);c=size(a);N=c(1)D=input('Enter the cut off frequency');for u=1:1:c(1) for v =1:1:c(2)D1=((u-(N/2))^2+(v-(N/2))^2)^0.5;D2=D1*D1;H(u,v)=exp(-D2/(2*D*D));end end vv=fft2(a);vc=fftshift(vv);x=vc.*H;X=abs(ifft2(x));%%PLOTTING%%figure(1); imshow(uint8(a));figure(2); mesh(H);figure(3); imshow(uint8(X));figure(4); imagesc(H), colormap(gray);

Program-6

Page 6: Lab Manual DIP

%%Ideal High Pass filter%% clear all;close all;clc;b=imread('cameraman.tif');[row col]=size(b);set=input('Cut-off frequency'); for u=1:1:row for v =1:1:colD=((u-(row/2))^2+(v-(col/2))^2)^0.5;if D<set; H(u,v)=0;else H(u,v)=1;end endendvv=fft2(b);vc=fftshift(vv);x=vc.*H;X=abs(ifft2(x));%%PLOTTING%%figure(1); imshow(uint8(b));figure(2); mesh(H);figure(3); imshow(uint8(X));figure(4); imagesc(H), colormap(gray);

Program-7

%%Gaussian High Pass filters%%

Page 7: Lab Manual DIP

clear all;close all;clc;b=imread('cameraman.tif');a=double(b);c=size(a);N=c(1)D=input('Enter the cut off frequency');for u=1:1:c(1) for v =1:1:c(2)D1=((u-(N/2))^2+(v-(N/2))^2)^0.5;D2=D1*D1;H(u,v)=1-exp(-D2/(2*D*D));end end vv=fft2(a);vc=fftshift(vv);x=vc.*H;X=abs(ifft2(x));%%PLOTTING%%figure(1); imshow(uint8(a));figure(2); mesh(H);figure(3); imshow(uint8(X));figure(4); imagesc(H), colormap(gray);

Program-8

%%Butterworth High Pass filter%%

Page 8: Lab Manual DIP

clear all;close all;clc;b=imread('cameraman.tif');a=double(b);c=size(a);N=c(1)n=input('Enter the order of the filter');d=input('Enter the cut-off frequency');for u=1:1:c(1) for v =1:1:c(2)D=((u-(N/2))^2+(v-(N/2))^2)^0.5;H(u,v)=1/((1+(d/D)^2*n);end end vv=fft2(a);vc=fftshift(vv);x=vc.*H;X=abs(ifft2(x));%%PLOTTING%%figure(1); imshow(uint8(a));figure(2); mesh(H);figure(3); imshow(uint8(X));figure(4); imagesc(H), colormap(gray);

Program-9

%%Arithematic Mean Filter%%

Page 9: Lab Manual DIP

%%Low pass filtering of an image using Averaging Technique%% clear all;close all;clc;b=imread('cameraman.tif');a=double(b);[row col]=size(a);m=input('Enter the Mask size');n=m^2;for i=1:1:m for j=1:1:m w(i,j)=1/n;end ends=(m+1)/2;for x=1:1:row for y=1:1:col b(x,y)=a(x,y); endendfor x=s:1:row-s for y=s:1:col-s b(x,y)=0; endendfor x=s:1:row-s for y=s:1:col-s for i=1:1:m for j=1:1:m b(x,y)=a(x-s+i,y-s+j)*w(i,j)+b(x,y); endend

Page 10: Lab Manual DIP

endend

Program-10

%%Geometric mean Spatial filter%%

Page 11: Lab Manual DIP

clear all;close all;clc;f1=imread('cameraman.tif');f=double(f1);g=f;[row col]=size(f);for x=2:1:row-1 for y=2:1:col-1 g(x,y)=(f(x-1,y-1)*f(x-1,y)*f(x-1,y+1)*f(x,y-1)*f(x,y)*f(x,y+1)*f(x+1,y-1)*f(x+1,y)*f(x+1,y+1))^(1/g); endend figure(1); imshow(uint8(f));figure(3); imshow(uint8(g));