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

[verticaal horizontaal]=opschonen_raster(horizontaal, verticaal, verschilhO, verschilvO, y2, x2)
function [verticaal horizontaal]=opschonen_raster(horizontaal, verticaal, verschilhO, verschilvO, y2, x2)

h=size(horizontaal);
v=size(verticaal);
checkh=zeros(h(2),1);
checkv=zeros(v(2),1);

for a=1:(v(2)-1)
    if (verticaal(a+1)-verticaal(a))>1.4*verschilvO || (verticaal(a+1)-verticaal(a))<0.6*verschilvO
        checkv(a)=1;
        checkv(a+1)=1;
    end
end

if sum(checkv)>0
    for a=v(2):-1:1
        if  checkv(a)==1
            verticaal(a)=[];
        end
    end
    
    if isempty(verticaal)
        verticaal=0;
        return
    end
    a=1;
    while verticaal(a)<(y2-verschilvO)
        if verticaal(end)==verticaal(a)
            verticaal=[verticaal(1:a) verticaal(a)+verschilvO];
        elseif (verticaal(a+1)-verticaal(a))>(1.5*verschilvO)
            verticaal=[verticaal(1:a) verticaal(a)+verschilvO verticaal(a+1:end)];
        end
        a=a+1;
    end
    
    while verticaal(1)>verschilvO
        verticaal=[verticaal(1)-verschilvO verticaal];
    end
end

for a=1:(h(2)-1)
    if (horizontaal(a+1)-horizontaal(a))>1.4*verschilhO || (horizontaal(a+1)-horizontaal(a))<0.6*verschilhO
        checkh(a)=1;
        checkh(a+1)=1;
    end
end

if sum(checkh)>0
    for a=h(2):-1:1
        if  checkh(a)==1
            horizontaal(a)=[];
        end
    end
    
    if isempty(horizontaal)
        horizontaal=0;
        return
    end
    
    a=1;
    while horizontaal(a)<(x2-verschilhO)
        if horizontaal(end)==horizontaal(a)
            horizontaal=[horizontaal(1:a) horizontaal(a)+verschilhO];
        elseif (horizontaal(a+1)-horizontaal(a))>(1.5*verschilhO)
            horizontaal=[horizontaal(1:a) horizontaal(a)+verschilhO horizontaal(a+1:end)];
        end
        a=a+1;
    end
    
    while horizontaal(1)>verschilhO
        horizontaal=[horizontaal(1)-verschilhO horizontaal];
    end
end

Contact us