資源簡介
自己編的鏈碼程序(matlab),里面x.mat是一個人體輪廓圖,encode2.m是對該輪廓圖編寫的歸一化鏈碼。若求其他目標(biāo)的鏈碼,將x替換一下即可。
代碼片段和文件信息
load?x.mat;
f1=im2bw(x);
figure(1);
imshow(f1);
%得到鏈碼code
f2=bwboundaries(f1);
f3=f2{1};
f4=zeros(size(f1));
for?i=1:size(f31)
????f4(f3(i1)f3(i2))=1;
???%?f4(f3(i1)f3(i2)-1)=1;
???%?f4(f3(i1)f3(i2)+1)=1;
????%f4(f3(i1)-1f3(i2))=1;
????%f4(f3(i1)+1f3(i2))=1;
end
figure(2);
imshow(f4);
code=zeros(1size(f31));
k=1;
x1=f3(12);y1=f3(11);
for?i=2:size(f31)
????xi=f3(i2);yi=f3(i1);
????dx=xi-x1;
????dy=yi-y1;
????if?dx==1?&?dy==0
????????code(k)=0;k=k+1;x1=xi;y1=yi;
????end
????if?dx==1?&?dy==-1
????????code(k)=1;k=k+1;x1=xi;y1=yi;
????end
????if?dx==0?&?dy==-1
????????code(k)=2;k=k+1;x1=xi;y1=yi;
????end
????if?dx==-1?&?dy==-1
????????code(k)=3;k=k+1;x1=xi;y1=yi;
????end
????if?dx==-1?&?dy==0
????????code(k)=4;k=k+1;x1=xi;y1=yi;
????end
????if?dx==-1?&?dy==1
????????code(k)=5;k=k+1;x1=xi;y1=yi;
????end
????if?dx==0?&?dy==1
????????code(k)=6;k=k+1;x1=xi;y1=yi;
????end
????if?dx==1?&?dy==1
????????code(k)=7;k=k+1;x1=xi;y
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2008-04-29?22:03??鏈碼\
?????文件????????1603??2008-03-01?09:09??鏈碼\encode2.m
?????文件??????311224??2005-05-31?16:09??鏈碼\x.mat
評論
共有 條評論