資源簡介
【項(xiàng)目代碼】該源代碼的功能是用matlab來實(shí)現(xiàn)鏈碼提取,內(nèi)含測(cè)試圖片及所用的算法源代.rar

代碼片段和文件信息
%此函數(shù)用來根據(jù)一個(gè)已知點(diǎn)來提取以該點(diǎn)為端點(diǎn)的特征線的鏈碼
%im為輸入二值圖像x0y0為端點(diǎn)坐標(biāo)
function?result=getcode(imx0y0)
[m?n]=size(im);
points(1)=x0;???%用points記錄所有鏈碼起始點(diǎn)的位置
points(2)=y0;
next=1;????%用來判斷是否結(jié)束對(duì)當(dāng)前鏈碼的搜索
number=1;??%用來記錄當(dāng)前鏈碼以搜索點(diǎn)的數(shù)量
list=[];
list(number)=0;
x=x0;
y=y0;
%每當(dāng)搜索到一個(gè)起始點(diǎn),搜索其周圍點(diǎn),追尋鏈碼軌跡
while(next==1)
????if(x<=0|x>m|y<=0|y>n)????%如果鏈碼當(dāng)前點(diǎn)已到達(dá)邊界,則停止搜索
????????next=0;
????else
????????im(xy)=0;???????%把已搜索過的點(diǎn)值置零,以免重復(fù)搜索
????????
????????%按照方向表中從1到8的順序檢索當(dāng)前點(diǎn)周圍是否存在非0點(diǎn)
????????if(im(xy+1)==1)
????????????list(number)=4;
????????????x=x;
????????????y=y+1;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)?????%判斷是否回到起始點(diǎn),若是則當(dāng)前特征線鏈碼提取結(jié)束
????????????????next=0;
????????????end
????????elseif(im(x+1y)==1)
????????????list(number)=6;
????????????x=x+1;
????????????y=y;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????elseif(im(xy-1)==1)
????????????list(number)=8;
????????????x=x;
????????????y=y-1;
????????????x1=x;
????????????y1=y;
????????????number=number+1;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????elseif(im(x-1y)==1)
????????????list(number)=2;
????????????x=x-1;
????????????y=y;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????elseif(im(x+1y+1)==1)
????????????list(number)=5;
????????????x=x+1;
????????????y=y+1;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????elseif(im(x+1y-1)==1)
????????????list(number)=7;
????????????x=x+1;
????????????y=y-1;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????elseif(im(x-1y-1)==1)
????????????list(number)=1;
????????????x=x-1;
????????????y=y-1;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????elseif(im(x-1y+1)==1)
????????????list(number)=3;
????????????x=x-1;
????????????y=y+1;
????????????x1=x;
????????????y1=y;
????????????number=1+number;
????????????if(x==x0&y==y0)
????????????????next=0;
????????????end
????????else
????????????next=0;
????????end
????end
end
result=[x0?y0?x1?y1?list(:)‘];
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2690??2008-12-04?10:38??matlab鏈碼提取算法\getcode.m
?????文件???????2106??2008-12-04?10:37??matlab鏈碼提取算法\searchtip.m
?????文件???????4627??2008-12-04?10:43??matlab鏈碼提取算法\listcode.m
?????文件??????12405??2009-11-03?21:28??matlab鏈碼提取算法\a.bmp
?????文件???????2726??2009-11-03?21:48??matlab鏈碼提取算法\getcode.asv
?????文件???????4695??2009-11-03?21:48??matlab鏈碼提取算法\listcode.asv
?????文件?????325197??2003-10-22?19:49??matlab鏈碼提取算法\texture1.jpg
?????文件???????2153??2009-11-03?22:06??matlab鏈碼提取算法\searchtip.asv
?????目錄??????????0??2009-11-03?21:19??matlab鏈碼提取算法
-----------?---------??----------?-----??----
???????????????356599????????????????????9
評(píng)論
共有 條評(píng)論