Image Processing File
Image Processing File
Image Processing File
Segmentation
1|Page
2|Page
1. PROGRAM FOR IMAGE SEGMANTATION
clc;
clear all;
close all;
%edge detection
a=imread('autumn.tif');
b=rgb2gray(a);
figure(1);
imshow(b);
title('original image');
%roberts operator
c=edge(b,'roberts');
figure(2);
imshow(c);
title('roberts image');
3|Page
4|Page
%sobel operator
d=edge(b,'sobel');
figure(3);
imshow(d);
title('sobel image');
%prewitt operator
e=edge(b,'prewitt');
figure(4);
imshow(e);
title('prewitt image');
%log operator
f=edge(b,'log');
figure(5);
imshow(f);
title('log image');
%canny operator
g=edge(b,'canny');
figure(6);
imshow(g);
title('canny image');
5|Page
6|Page
%point detection
h=[0,1,0;1,-4,1;0,1,0];
i=imfilter(b,h,'symmetric','conv');
figure(7);
imshow(i);
title('laplacian point filtered image');
%line detection
j=im2bw(b);
w=(1/3)*[1,0,-1;1,0,-1;1,0,-1];
k=imfilter(double(j),w);
k(k<1)=0;
figure(8);
imshow(k);
title('line detection image');
7|Page
8|Page
Image
Intensity
Transformation
9|Page
10 | P a g e
2. PROGRAM FOR IMAGE INTENSITY TRANSFORMATION
clc;
clear all;
close all;
%negative image
b=255-a;
figure(2);
imshow(b);
title('negative image');
%log transform
l=255;
d=l/log10(1+l);
e=d*log10(1+double(a));
f=uint8(e);
figure(3);
imshow(f);
title('log transform');
11 | P a g e
12 | P a g e
%power law transform
gamma = 1.1;
g=double(a).^gamma;
figure(4);
imshow(uint8(g));
title('power law transform');
13 | P a g e
14 | P a g e
Histogram
Equalization
15 | P a g e
3. MATLAB PROGRAM FOR HISTOGRAM EQUALIZATION
clc;
clear all;
close all;
%Read an image
a=imread('D:\mri.jpg');
16 | P a g e
17 | P a g e
% histogram processing
subplot(3,2,1);
imshow(a);
title('original image');
subplot(3,2,3);
b=rgb2gray(a);
imshow(b);
title('grayscale image');
subplot(3,2,4);
c=histeq(b);
imshow(c);
title('equalised image');
subplot(3,2,5);
imhist(b);
title('histogram of grayscale image');
subplot(3,2,6);
imhist(c);
title('histogram of equalised image');
18 | P a g e
19 | P a g e
4. PROGRAM FOR HISTOGRAM EQUALIZATION USING COLOR
IMAGE
clc;
clear all;
close all;
%Read an image
a=imread('D:\mri.jpg');
% histogram processing
subplot(3,2,1);
imshow(a);
title('original image');
subplot(3,2,3);
b=rgb2gray(a);
imshow(b);
title('grayscale image');
subplot(3,2,4);
c=histeq(b);
imshow(c);
title('equalised image');
subplot(3,2,5);
imhist(b);
title('histogram of grayscale image');
subplot(3,2,6);
imhist(c);
title('histogram of equalised image');
20 | P a g e
SPATIAL
INTENSITY
RESOLUTION
21 | P a g e
22 | P a g e
5. PROGRAM FOR SPATIAL INTENSITY RESOLUTION
clc;
clear all;
close all;
a=imread('D:\d1.jpg');
subplot(3,2,1);
imshow(a);
title('original image');
23 | P a g e
24 | P a g e
%16 graylevel image
subplot(3,2,5);
imshow(grayslice(a,16),gray(16));
title('16 graylevel image');
%8 graylevel image
subplot(3,2,6);
imshow(grayslice(a,8),gray(8));
title('8 graylevel image');
25 | P a g e
26 | P a g e
ENHANCEMENT
IN
SPATIAL FILTER
27 | P a g e
28 | P a g e
6. MATLAB PROGRAM FOR IMAGE ENCHANCEMENT IN
SPATIAL FILTERING
clc;
clear all;
close all;
a=imread('D:\mri.jpg');
b=double(a)+50;
subplot(3,3,1);
imshow(a);
title('original image');
subplot(3,3,2);
imshow(uint8(b));
title('enhanced image');
b1=double(a-70);
subplot(3,3,3);
imshow(uint8(b1));
title('brightness suppressed image');
e=a*.5;
f=a*.20;
29 | P a g e
30 | P a g e
subplot(3,3,4);
imshow(e);
title('increased in contrast');
subplot(3,3,5);
imshow(f);
title('decreased in contrast');
h1=1/9*ones(3,3);
h2=1/25*ones(5,5);
b1=conv2(a,h1,'same');
b2=conv2(a,h2,'same');
subplot(3,3,6);
imshow(uint8(b1));
title('output usins 3*3 mask');
subplot(3,3,7);
imshow(uint8(b2));
title('output using 5*5 mask');
31 | P a g e
32 | P a g e
ENCHANCEMENT
IN
FREQUENCY
FILTER
33 | P a g e
34 | P a g e
7. MATLAB PROGRAM FOR IMAGE ENCHANCEMENT IN
FREQUENCY FILTERING
c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
figure(1);
subplot(3,3,1);
imshow(a);
title('original image');
subplot(3,3,2);
imshow(uint8(e));
title('low passs filtered image');
subplot(3,3,3);
imshow(mask);
subplot(3,3,4);
35 | P a g e
36 | P a g e
imshow(c);
title('mask after fftshift operation');
37 | P a g e
38 | P a g e
%BAND PASS PASS FILTER
a=imread('coins.png');
[m,n]=size(a);
mask=zeros(m,n);
for i=160:170
for j=260:230
mask (i,j)=0;
end
end
c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
figure(2);
subplot(2,2,1);
imshow(a);
title('original image');
subplot(2,2,2);
imshow(uint8(e));
title('band pass filtered image');
subplot(2,2,3);
imshow(uint8(mask));
subplot(2,2,4);
imshow(uint8(c));
title('mask after fftshift operation');
39 | P a g e
40 | P a g e
% BAND REJECT FILTER
a=imread('coins.png');
[m,n]=size(a);
mask=ones(m,n);
for i=150:180
for j=210:240
mask(i,j)=0;
end
end
c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
figure(3);
subplot(2,2,1);
imshow(a);
title('original image');
subplot(2,2,2);
imshow(uint8 (e));
title('band reject pass filtered image');
subplot(2,2,3);
imshow(mask);
subplot(2,2,4);
imshow(c);
title('high pass filter mask');
41 | P a g e
42 | P a g e
DISCRETE
FOURIER
TRANSFORM
ANALYSIS
43 | P a g e
44 | P a g e
8. PROGRAM FOR DISCRETE FOURIER TRANSFORM ANALYSIS
clc;
clear all;
close all;
a=zeros(256);
[m,n]=size(a);
for i=120:145
for j=120:145
a(i,j)=225;
end;
end;
b=imrotate(a,45,'bilinear','crop');
a1=log(1+abs(fftshift(fft2(a))));
b1=log(1+abs(fftshift(fft2(b))));
subplot(2,2,1);
imshow(a);
title('Orignal Image');
subplot(2,2,2);
imshow(b);
title('Rotate Image');
subplot(2,2,3);
imshow(mat2gray(a1));
title('orignal image spectrum');
subplot(2,2,4);
imshow(mat2gray(b1));
title('spectrum of rotate img');
45 | P a g e
46 | P a g e
BASIC
THRESHOLDING
FUNCTION
47 | P a g e
48 | P a g e
9. PROGRAM FOR BASIC THRESHOLDING FUNCTION
clc;
clear all;
close all;
i=imread('cell.tif');
subplot(2,2,1);
imshow(i);
title('original image');
subplot(2,2,2);
im2bw(i,0.35);
title('mannual thershold image');
[counts,x]=imhist(i);
p=polyfit(x,counts,6);
y=polyval(p,x);
[v,ind]=sort(abs(diff(y)));
thresh=ind(3)./255;
subplot(2,2,3);
im2bw(i,thresh);
title(' polynomial thershold image');
level=graythresh(i);
subplot(2,2,4);
im2bw(i,level);
title('otsu method');
49 | P a g e
50 | P a g e
figure;
plot(x,counts);
hold on,plot(x,y,'r');
title('graph');
51 | P a g e
52 | P a g e
SAMPLING
AND
QUANTIZATION
53 | P a g e
54 | P a g e
10.PROGRAM FOR SAMPLING AND QUANTIZATION
clc;
clear all;
close all;
a=imread('trees.tif');
f=ind2gray(a,gray(256));
f=f(1:256,1:256);
[N,M]=size(f);
m=7;
w=1/m;
F=fftshift(fft2(f));
for i=1:N
for j=1:N
r2=(i-round(N/2))^2+(j-round(N/2))^2;
if(r2>round(N/2*w)^2)F(i,j)=0;
end;
end;
end;
Id=real(ifft2(fftshift(F)));
Id=imresize(Id,[N/m,N/m],'nearest');
m=10;
[N,M]=size(f);
Iu=zeros(m*N,m*N);
for i=1:N
for j=1:N
55 | P a g e
56 | P a g e
Iu(m*(i-1)+1,m*(j-1)+1)=f(i,j);
end;
end;
[N,M]=size(Iu);
w=1/m;
F=fftshift(fft2(Iu));
for i=1:N
for j=1:N
r2=(i-round(N/2))^2+(j-round(N/2))^2;
if(r2>round(N/2*w)^2)F(i,j)=0;
end;
end;
end;
Iu=(m*m)*abs(ifft2(fftshift(F)));
figure;imshow(a);
title('original image');
figure;imshow(f);
title('gray image');
figure;imshow(Id);
title('Idown image');
figure;imshow(Iu);
title('Iup image');
57 | P a g e
58 | P a g e
MORPHOLOGICAL
OPERATIONS
59 | P a g e
60 | P a g e
11.PROGRAM FOR MORPHOLOGICAL OPERATIONS (DILATION,
EROSION, OPENING, CLOSING AND THEIR PROPERTIES)
clc;
clear all;
close all;
figure(1);
imshow(a);
title('Original image');
c=imdilate(a,b);
figure(2);
imshow(c);
title('Dilate image');
d=strel('disk',11);
e=imerode(a,d);
figure(3);
imshow(e);
title('Erode image')
c=imopen(a,b);
figure(4);
61 | P a g e
62 | P a g e
imshow(c);
title('Open image');
d=strel('disk',11);
e=imclose(a,d);
figure(5);
imshow(e);
title('Close image')
%Properties
% pro=properties
i2=imerode(a,h);
figure(7);
imshow(i2);
title('Erode image ');
i3=a-i2;
figure(8);
imshow(i3);
title('pro3');
i4=i1-a;
63 | P a g e
64 | P a g e
figure(9);
imshow(i4);
title('pro4');
i5=i1-i2;
figure(10);
imshow(i5);
title('pro5');
65 | P a g e