image thumbnail

vision_based_barcode_reader

by

 

This program can read 3 barcode ean13,code 39,code 128c by stable image,and by camera,

result=code128C(sodata,p,k)
function result=code128C(sodata,p,k)    
    result='';
    for i=1:sodata        
        j=(6*i+k);
        if     (p(j)==2)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==2)
            m='00';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==2)
            m='01';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==1)
            m='02';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==3)
            m='03';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==2)&&(p(j+5)==2)
            m='04';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==2)
            m='05';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==3)
            m='06';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==2)
            m='07';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==2)
            m='08';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==3)
            m='09';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==2)
            m='10';
        elseif (p(j)==2)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==2)
            m='11';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==3)&&(p(j+5)==2)
            m='12';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==2)
            m='13';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==3)&&(p(j+5)==1)
            m='14';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==2)
            m='15';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==2)
            m='16';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==3)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==1)
            m='17';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==3)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==1)
            m='18';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==2)
            m='19';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==3)&&(p(j+5)==1)
            m='20';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==2)
            m='21';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==2)
            m='22';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==1)
            m='23';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==2)
            m='24';
        elseif (p(j)==3)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==2)
            m='25';
        elseif (p(j)==3)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==1)
            m='26';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==2)
            m='27';
        elseif (p(j)==3)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==2)
            m='28';
        elseif (p(j)==3)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==1)
            m='29';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==3)
            m='30';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==3)&&(p(j+4)==2)&&(p(j+5)==1)
            m='31';
        elseif (p(j)==2)&(p(j+1)==3)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='32';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==2)&&(p(j+5)==3)
            m='33';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==3)
            m='34';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==3)&&(p(j+5)==1)
            m='35';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==3)
            m='36';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==3)
            m='37';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==2)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==1)
            m='38';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==3)
            m='39';
        elseif (p(j)==2)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==3)
            m='40';
        elseif (p(j)==2)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==1)
            m='41';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==3)
            m='42';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==3)&&(p(j+4)==3)&&(p(j+5)==1)
            m='43';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==1)
            m='44';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==3)
            m='45';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==3)&&(p(j+4)==2)&&(p(j+5)==1)
            m='46';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='47';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='48';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==3)&&(p(j+5)==1)
            m='49';
        elseif (p(j)==2)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==1)
            m='50';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==3)
            m='51';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==1)
            m='52';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==3)&&(p(j+5)==1)
            m='53';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==3)
            m='54';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==2)&&(p(j+5)==1)
            m='55';
        elseif (p(j)==3)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='56';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==3)
            m='57';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==1)
            m='58';
        elseif (p(j)==3)&(p(j+1)==3)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==1)
            m='59';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==4)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==1)
            m='60';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==4)&&(p(j+4)==1)&&(p(j+5)==1)
            m='61';
        elseif (p(j)==4)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==1)
            m='62';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==4)
            m='63';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==4)&&(p(j+4)==2)&&(p(j+5)==2)
            m='64';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==4)
            m='65';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==4)&&(p(j+4)==2)&&(p(j+5)==1)
            m='66';
        elseif (p(j)==3)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='67';
        elseif (p(j)==1)&(p(j+1)==4)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==2)&&(p(j+5)==1)
            m='68';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==4)
            m='69';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==4)&&(p(j+4)==1)&&(p(j+5)==2)
            m='70';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==4)
            m='71';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==2)&&(p(j+3)==4)&&(p(j+4)==1)&&(p(j+5)==1)
            m='72';
        elseif (p(j)==1)&(p(j+1)==4)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==2)
            m='73';
        elseif (p(j)==1)&(p(j+1)==4)&&(p(j+2)==2)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==1)
            m='74';
        elseif (p(j)==2)&(p(j+1)==4)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==1)
            m='75';
        elseif (p(j)==2)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==4)
            m='76';
        elseif (p(j)==4)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==1)
            m='77';
        elseif (p(j)==2)&(p(j+1)==4)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==2)
            m='78';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==4)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==1)
            m='79';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==4)&&(p(j+5)==2)
            m='80';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==4)&&(p(j+5)==2)
            m='81';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==4)&&(p(j+5)==1)
            m='82';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==4)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==2)
            m='83';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==4)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==2)
            m='84';
        elseif (p(j)==1)&(p(j+1)==2)&&(p(j+2)==4)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==1)
            m='85';
        elseif (p(j)==4)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==2)
            m='86';
        elseif (p(j)==4)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==2)
            m='87';
        elseif (p(j)==4)&(p(j+1)==2)&&(p(j+2)==1)&&(p(j+3)==2)&&(p(j+4)==1)&&(p(j+5)==1)
            m='88';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==4)&&(p(j+5)==1)
            m='89';
        elseif (p(j)==2)&(p(j+1)==1)&&(p(j+2)==4)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='90';
        elseif (p(j)==4)&(p(j+1)==1)&&(p(j+2)==2)&&(p(j+3)==1)&&(p(j+4)==2)&&(p(j+5)==1)
            m='91';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==4)&&(p(j+5)==3)
            m='92';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==4)&&(p(j+5)==1)
            m='93';
        elseif (p(j)==1)&(p(j+1)==3)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==4)&&(p(j+5)==1)
            m='94';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==4)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==3)
            m='95';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==4)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==1)
            m='96';
        elseif (p(j)==4)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==1)&&(p(j+4)==1)&&(p(j+5)==3)
            m='97';
        elseif (p(j)==4)&(p(j+1)==1)&&(p(j+2)==1)&&(p(j+3)==3)&&(p(j+4)==1)&&(p(j+5)==1)
            m='98';
        elseif (p(j)==1)&(p(j+1)==1)&&(p(j+2)==3)&&(p(j+3)==1)&&(p(j+4)==4)&&(p(j+5)==1)
            m='99';
        end
        result=strcat(result,m);
    end
    result=result;

Contact us