資源簡介
matlab一維條形碼識別程序,條碼為通用的EAN一13條碼
代碼片段和文件信息
%%------------條碼識別,建立寬度序列--------------%%%
%EAN-13條碼字符集特點:A/B子集為白開頭黑結尾,C子集為黑開頭白結尾
%:一個字符由2個條和2個空構成,故A/B子集就是白黑白黑,C子集就是黑白黑白
function?[numberbar1]=barcognition(Iheightwidth)
bar=zeros(1width);
znum?=?zeros(1width);
onum?=?zeros(1width);
%%%-----------------少數服從多數校正----------------%%%
for?i=1:height
????for?j=1:width
????????if(I(ij)==0)
????????????znum(1j)=znum(1j)+1;%統計每一列0的個數
????????else
????????????onum(1j)=onum(1j)+1;%統計每一列1的個數
????????end
????end
end
%%決定寬度序列的二進制碼
for?i=1:width
????if(znum(1i)>onum(1i))
????????bar(1i)=0;
????else
????????bar(1i)=1;
????end
end
%00011000--010?
%1000000001100000--10000100
%1111111001111100--1110110
%1111100111111100--1101110
%11000001111111000-1001110
%1000111100000000--1011000
%1100001111111000--1001110
%11001100011--10101
%001111111110011---0111101(3)
%0011111001111111--0110111(8)
%00000110000011111-0010011(2)
%0011111111100111--0111101(3)
%0011001111111111--0101111(6)
%0011111110011111--0111011(7)
%0011000--010
%%--------------校正條形碼寬度序列------------------%%
%%%-------------------奇偶校正---------------------%%%
zcout=0;
ocout=0;
count=1;
bar1=zeros(1width+10);
for?i=1:width
????if(bar(1i)==0)
????????if(ocout==1)???????%刪補,讓它成偶數
????????????bar1(1count)=1;%補上1個1;
????????????count=count+1;
????????elseif(ocout>8)????%4/5
????????????for?i=1:(ocout-8)
????????????????count=count-1;
????????????end
????????end
????????ocout=0;
????????zcout=zcout+1;
????????bar1(1count)=0;%累加0
????????count=count+1;
????end
????if(bar(1i)==1)
????????if(zcout==1)????????%判斷前面有多少個0
????????????bar1(1count)=1;%補上1個1;
????????????count=count+1;
????????elseif(zcout>8)?????%多于8個的,刪除多余的
????????????for?i=1:(ocout-8)
????????????????count=count-1;
????????????end
????????end
????????zcout=0;
????????ocout=ocout+1;??????%字符1計數
????????bar1(1count)=1;
????????count=count+1;
????end
end
number=count-1;
%%-----------------字符集分類-------------------%%
%開始數據(3010),左側數據(6)中間符(510101),右側數據(6),結束符(3)
data?=zeros(159);??%起始符有3個字符
ldata?=0;???????????%白黑白黑
count1=1;
oflag=false;
zflag=false;
stflag=true;
for?i=1:number
????if(stflag==true)
????????if(bar1(1i)~=0)%判斷是否為0,如果不是0則不開始統計數據
????????????continue;%跳過去
????????else
????????????stflag?=?false;
????????end????????????
????end
????if(bar1(1i)==0)
????????if(oflag==true)
????????????count1=count1+1;%1切換到0,表示白到黑,換一種類型
????????????oflag=false;
????????end
????????zflag=true;
????????data(1count1)=data(1count1)+1;
????????%count=count+1;
????elseif(bar1(1i)==1)
????????if(zflag==true)
????????????count1=count1+1;???%換一種類型
????????????zflag=false;
????????end
????????oflag=true;
????????data(1count1)=data(1count1)+1;
????????%count=count+1;
????end
end
%[number]?=?findchar(a1b1a2b2pos)
max?=?count1-1;
%pos?=?0;
%[numvalid]=findchar(data(11)data(12)data(13)‘head‘);
%左側數據
lnumber=0;
pos?=1;
for?i=4:4:24??
????[lnumlvalid]=findchar(data
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????100129??2014-06-03?10:12??codebar\01.jpg
?????文件???????51108??2014-05-27?09:57??codebar\02.jpg
?????文件???????63640??2014-05-27?09:53??codebar\03.jpg
?????文件???????71104??2014-05-21?15:53??codebar\12.jpg
?????文件???????72537??2014-06-03?11:34??codebar\123.jpg
?????文件?????7873678??2014-06-03?11:25??codebar\bar.mp4
?????文件????????3574??2007-11-12?19:43??codebar\barcognition.m
?????文件????????6448??2014-05-21?10:26??codebar\bw3.jpg
?????文件????????8209??2014-06-03?15:18??codebar\codebar.m
?????文件????????8048??2014-05-21?16:35??codebar\codebarreg.m
?????文件????????2409??2007-11-12?19:30??codebar\findchar.m
?????文件???????19608??2014-06-03?10:13??codebar\hs_err_pid7668.log
?????文件????????2354??2014-05-21?16:36??codebar\I5.jpg
?????文件????????1087??2007-11-08?10:32??codebar\ImageEdgePoint.m
?????文件????????4382??2014-06-03?12:00??codebar\imagefilter.m
?????文件????????9683??2007-11-10?15:04??codebar\point2line.m
?????文件????????1282??2007-11-12?19:48??codebar\readme.txt
?????文件????????1110??2007-11-09?15:27??codebar\ThretholdOptimize.m
?????文件?????2359350??2007-11-07?10:12??codebar\w16.bmp
?????文件?????2359350??2007-11-07?10:11??codebar\w7.bmp
?????文件?????2359350??2007-11-07?10:11??codebar\w8.bmp
評論
共有 條評論