%fig915.m - Figure 9.15 Gonzales and Woods' book % region filling example % (C) 2003 by Yu Hen Hu % created: 12/2/2003 clear all A=[0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0]; figure(1),clf,colormap('gray') subplot(131),imagesc(A), Ac=ones(size(A))-A; B=[0 1 0; 1 1 1; 0 1 0]; x=zeros(size(A)); x(3,3)=1; k=0; converged=0; while converged==0, k=k+1; subplot(132),imagesc(x);drawnow xnew=double(and(dilate(x,B),Ac)); if sum(sum(xnew-x))==0, converged=1; else x=xnew; disp(['iteration # ' int2str(k)]); end pause(.5) end y=x+A; subplot(133),imagesc(y);