%AUTHOR : RAJJAN SINGH THAKUR (VIT UNIVERSITY)
%DATE :14/2/09
%FUNCTION TO CALCULATE THE CONTOUR OF IMAGE IN FOUR NEIGHBOURHOOD
%INPUT PARAMETERS ARE CONTOUR IMAGE,
%MATRIX (COL 1 CONTAINS X COORDINATE AND COL 2 CONTAINS Y COORDINATE) CONTAINING CONTOUR OBJECT PIXELS
%MATRIX (COL 1 CONTAINS X COORDINATE AND COL 2 CONTAINS Y COORDINATE) CONTAINING CONTOUR BACKGROUND PIXELS
%OUTPUT PARAMETERS ARE CONTOUR IMAGE OF FOUR NEIGHBOURHOOD
%AND MATRIX (COL 1 CONTAINS X COORDINATE AND COL 2 CONTAINS Y COORDINATE) CONTAINING THE CONTOUR PIXELS
function [knew,m2]=fourneighbour(k,n)
knew=k;
figure,
for(i=1:size(n,1))
x1=n(i,1);
y1=n(i,2);
%UNCOMMENT IMSHOW COMMAND IF U R USING MATLAB 6.5 TO SEE HOW PIXELS ARE GETTING ADDED
%imshow(knew);
if (k(x1+1,y1+1)==0 & k(x1,y1+1)==1 & k(x1+1,y1)==1)
knew(x1+1,y1+1)=1;
end
if(k(x1-1,y1+1)==0 & k(x1,y1+1)==1 & k(x1-1,y1)==1)
knew(x1-1,y1+1)=1;
end
if(k(x1+1,y1-1)==0 & k(x1,y1-1)==1 & k(x1+1,y1)==1)
knew(x1+1,y1-1)=1;
end
if(k(x1-1,y1-1)==0 & k(x1-1 ,y1)==1 & k(x1,y1-1)==1)
knew(x1-1,y1-1)=1;
end
end
[x,y]=find(knew);
m2(1:size(x,1),:)=[x,y];
imshow(knew)
title('contour of four neighbourhood');