To perform Morphological Image Processing in Matlab.
clear
all;
close
all;
clc;
[namefile,pathname]=uigetfile({'*.bmp;*.tif;*.tiff;*.jpg;*.jpeg;*.gif','IMAGE Files
(*.bmp,*.tif,*.tiff,*.jpg,*.jpeg,*.gif)'},'Chose GrayScale Image');
a
= imread(strcat(pathname,namefile));
s
= size(a);
b
= strel('square',9);
erode
= imerode(a,b);
dilate
= imdilate(a,b);
opening
= imdilate(erode,b);
closing
= imerode(dilate,b);
figure;
imshow(a);
title('Original Image');
figure;
imshow(erode);
title('Erosion');
figure;
imshow(dilate);
title('Dilation');
figure;
imshow(opening);
title('Opening');
figure;
imshow(closing);
title('Closing');
Perform Morphological Image Processing through Programming Logic.
Dilation and Erosion
clc;
close all;
clear all;
a=imread('arjun.jpg');
p=size(a);
s=strel('square',5);
w=[1 1 1;1 1 1;1 1
1];
for x=2:1:p(1)-1
for y=2:1:p(2)-1
a1=[w(1)*a(x-1,y-1) w(2)*a(x-1,y)
w(3)*a(x-1,y+1) w(4)*a(x,y-1) w(5)*a(x,y) w(6)*a(x,y+1) w(7)*a(x+1,y-1)
w(8)*a(x+1,y) w(9)*a(x+1,y+1)];
A1(x,y)=max(a1); % Dilation
A2(x,y)=min(a1); % Erosion
end
end
subplot(2,3,1)
imshow(a);
title('Original Image');
subplot(2,3,4);
imshow(A1);
title('Dilation using program');
subplot(2,3,5);
imshow(A2);
title('Erosion using program');
Perform Morphological Image Processing through Programming Logic.
Opening
clc;
close all;
clear all;
a=imread('arjun.jpg');
p=size(a);
w=[1 1 1;1 1 1;1 1
1];
for x=2:1:p(1)-1
for y=2:1:p(2)-1
a1=[w(1)*a(x-1,y-1) w(2)*a(x-1,y)
w(3)*a(x-1,y+1) w(4)*a(x,y-1) w(5)*a(x,y) w(6)*a(x,y+1) w(7)*a(x+1,y-1)
w(8)*a(x+1,y) w(9)*a(x+1,y+1)];
A1(x,y)=min(a1);
end
end
q=size(A1);
for i=2:1:q(1)-1
for j=2:1:q(2)-1
a11=[w(1)*A1(i-1,j-1) w(2)*A1(i-1,j)
w(3)*A1(i-1,j+1)...
w(4)*A1(i,j-1) w(5)*A1(i,j)
w(6)*A1(i,j+1)...
w(7)*A1(i+1,j-1) w(8)*A1(i+1,j)
w(9)*A1(i+1,j+1)];
A2(i,j)=max(a11);
end
end
subplot(1,2,1)
imshow(a)
title('Original image')
subplot(1,2,2)
imshow(A2)
title('opening')
Perform Morphological Image Processing through Programming Logic.
Closing
clc;
close all;
clear all;
a=imread('arjun.jpg');
p=size(a);
w=[1 1 1;1 1 1;1 1
1];
for x=2:1:p(1)-1
for y=2:1:p(2)-1
a1=[w(1)*a(x-1,y-1) w(2)*a(x-1,y)
w(3)*a(x-1,y+1) w(4)*a(x,y-1) w(5)*a(x,y) w(6)*a(x,y+1) w(7)*a(x+1,y-1)
w(8)*a(x+1,y) w(9)*a(x+1,y+1)];
A1(x,y)=max(a1);
end
end
q=size(A1);
for i=2:1:q(1)-1
for j=2:1:q(2)-1
a11=[w(1)*A1(i-1,j-1) w(2)*A1(i-1,j)
w(3)*A1(i-1,j+1) w(4)*A1(i,j-1) w(5)*A1(i,j) w(6)*A1(i,j+1) w(7)*A1(i+1,j-1)
w(8)*A1(i+1,j) w(9)*A1(i+1,j+1)];
A2(i,j)=min(a11);
end
end
subplot(1,2,1);
imshow(a);
title('Original image')
imshow(a);
title('Original image')
No comments:
Post a Comment