No BSD License  

Highlights from
contour following in binary images

image thumbnail
from contour following in binary images by rajjan thakur
the function finds the contour pixels in a bw image.. the object is assumed to be white.

[knew,m2]=fourneighbour(k,n)
%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');

Contact us at files@mathworks.com