Lab Manual DIP
-
Upload
aman-deep-singh -
Category
Documents
-
view
22 -
download
0
Transcript of 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
%%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
%%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);
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
%%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
%%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%%
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%%
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%%
%%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
endend
Program-10
%%Geometric mean Spatial filter%%
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));