資源簡介
使用matlab處理數字圖像的貼標簽程序

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%貼標簽%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear??all;
g=imread(‘C:\Users\Administrator\Desktop\ezh.bmp‘);%讀圖
f=g(::1);
f1=double(f);????%圖像格式轉化為矩陣格式
[mn]?=?size(f1);
g=zeros(mn);
figure(1);
imshow(f);
a=zeros(14);
val=0;
num=0;
for?i=1:m
????for?j=1:n
????????if?f1(ij)==0?????????????????%首先??必須要是黑點
????????????if?i==1???????????????????%第一行????特殊計算
????????????????if?j==1???????????????%第一行??第一列
????????????????????????val=val+1;
????????????????????????g(11)=val;
????????????????????????num=num+1;
????????????????else
????????????????????if?f1(1j-1)==0
????????????????????????g(1j)=g(1j-1);
????????????????????else
????????????????????????val=val+1;
????????????????????????g(ij)=val;
??????????????????????????num=num+1;
????????????????????end
????????????????end
????????????else?????????????????????????%不是第一行
????????????????if?j==1????????????????????%行的第一個???????????????????
????????????????????????if?f1(i-1j)==0||f1(i-1j+1)==0????%上一行??至少有一個目標點
????????????????????????????if?f1(i-1j)~=0????%取較小值
????????????????????????????????g(ij)=g(i-1j);
????????????????????????????end
????????????????????????????if?f1(i-1j+1)~=0
????????????????????????????????g(ij)=g(i-1j+1);
????????????????????????????end
????????????????????????else
????????????????????????????val=val+1;
????????????????????????????g(ij)=val;
????????????????????????????num=num+1;????????????????????
????????????????????????end
????????????????end
??????????????if?j==n?????????????????????%最后一列?????????????????????
?????????????????????????if?f1(i-1j)==0||f1(i-1j-1)==0
????????????????????????????if?f1(i-1j)~=0
????????????????????????????????g(ij)=g(i-1j);
????????????????????????????end
????????????????????????????if?f1(i-1j-1)~=0
????????????????????????????????g(ij)=g(i-1j-1);
????????????????????????????end
?????????????????????????else???????????????????????%上邊兩個都不是黑點
?????????????????????????????if?f1(ij-1)==0
?????????????????????????????????g(ij)=g(ij-1);
?????????????????????????????else
??????????????????????????????????val=val+1;
??????????????????????????????????g(ij)=val;
??????????????????????????????????num=num+1;????????????????????????????
?????????????????????????????end
?????????????????????????end
??????????????end
??????????????if?j>1&&j ?????????????????????if?f1(i-1j-1)&&f1(i-1j+1)&&f1(i-1j)&&f1(ij-1)??????%全為真
????????????????????????????????val=val+1;
????????????????????????????????g(ij)=val;
????????????????????????????????num=num+1;
?????????????????????else??????????????????????????????????%至少有一個黑點
?????????????????????????if?g(i-1j+1)~=g(i-1j-1)?&&?g(i-1j+1)~=0?&&g(i-1j-1)~=0??????????????%兩種特例??標簽沖突??考前的較小??還要判斷g(i-1j+1)、g(i-1j-1)不能為零
?????????????????????????????g(ij)=g(i-1j-1);
???????????????????????????????for?k=1:i-1??????%對前i-1行判斷????如果等于較大的???該較大值改為較小值?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????33502??2011-08-05?10:26??matlab\ezh.bmp
?????文件???????7718??2011-09-02?20:39??matlab\tiebiaoqian.m
?????目錄??????????0??2011-09-03?17:44??matlab
-----------?---------??----------?-----??----
????????????????41220????????????????????3
- 上一篇:雙門限法語音端點檢測
- 下一篇:標準粒子群算法代碼PSO
評論
共有 條評論