Code covered by the BSD License  

Highlights from
Aztec barcode reader

image thumbnail

Aztec barcode reader

by

 

This program can read Aztec barcode from video or pictures. It is partial in Dutch

[uitkomst cnumerr]=RSeigen(rij,m,k)
function [uitkomst cnumerr]=RSeigen(rij,m,k)

b2=2:2:(2*m+1);

rijb=[];
zrij=size(rij);
for a=1:m:(zrij(2)-m+1)
    b=mat2str(rij(a:(a+m-1)));
    c=bin2dec(b(b2));
    rijb=[rijb c];
end
zrijb=size(rijb);

if m==8
    code=gf(rijb,m,301);
elseif m==12
    code=gf(rijb,m,4201);
else
    code=gf(rijb,m);
end


n = zrijb(2);               %totale lengte 
if n<k
    k=floor(n/2);
end
even=(n-k)/2;               %lengte bericht zodat n-k is even 

%Als het niet even is wordt de tijdelijke k met 1 opgehoogd
if ((even-(floor(even)))>0)
    k1=k+1;
else
    k1=k;
end

if n==0 || k1==0 || k1>=n
    cnumerr=-1;
    uitkomst='10101010101010';
    return
end
    
[decoded,cnumerr,ccode] = rsdec(code,n,k1);

if cnumerr== -1
    %msgbox('fout in Reed Salomon decoderen')
end

if m==4
    uitkomstgf=gf2dec(ccode(1:k1),m,19);
elseif m==6
    uitkomstgf=gf2dec(ccode(1:k1),m,67);
elseif m==8
    uitkomstgf=gf2dec(ccode(1:k1),m,301);
elseif m==10
    uitkomstgf=gf2dec(ccode(1:k1),m,1033);
elseif m==12
    uitkomstgf=gf2dec(ccode(1:k1),m,4201);
end


uitkomst=[];
for a=1:k
    uitkomst=[uitkomst dec2bin(uitkomstgf(a),m)];
end

Contact us