constraints: {
width: 400,
height: 400
}
},
frequency:2,
decoder : {
readers : ['code_128_reader','ean_reader'],//'ean_8_reader','code_39_reader','code_39_vin_reader','codabar_reader','upc_reader','upc_e_reader','i2of5_reader','2of5_reader','code_93_reader'
debug: {
drawBoundingBox: false,
showFrequency: false,
drawScanline: false,
showPattern: false
},
multiple: false
}
}, function(err) {
if (err) {
console.dir(err);
alert('error of init camera')
return
}
console.log("Initialization finished. Ready to start");
Quagga.onDetected(function(data){
console.log(data)
//alert(JSON.stringify(data))
//if(data.line[0].x!=preresult.line[0].x)
{
//alert(preresult.line[0].x)
result.push(data.codeResult.code);
}
document.querySelector('#my_result_json').innerHTML = s+"----"+data.codeResult.code+" " +"<br/>" + document.querySelector('#my_result_json').innerHTML
s++;
preresult = data;
//qstop();
//alert(data.codeResult.format +"="+ data.codeResult.code )
showResult()
})
})
}
function qinit(){
Quagga.start();
// result= [] ;
// resultMap= new Map;
// document.querySelector('#my_result').innerHTML=''
}
function qstop(){
Quagga.stop();
}
var resultMap = new Map;
function showResult()
{
//alert(result.length)
if(result.length>=5)
{
for(var i=0;i<result.length-1;i++)
{
var temp = result[i];
//alert(temp)
var a = resultMap.get(temp);
if(a)
{
resultMap.set(temp,a+1);
}
else
{
resultMap.set(temp,1);
}
}
resultMap.forEach(function(v,k){
//alert(v+" "+k)
if(v>=4)
{
alert(k)
//清空
result= [] ;
resultMap= new Map;
///qstop();
}
})
}
}
function pz(){
var aVideo = document.getElementById('my_result')?.firstElementChild;
var aCanvas = document.getElementById('canvas');
var ctx = aCanvas.getContext('2d');
ctx.drawImage(aVideo, 0, 0, 400, 400); //将获取视频绘制在画布上
var type = 'png' ;
var imgData = aCanvas.toDataURL(type);
}
$("html,body").css("overflow","hidden").css("height","100%");
document.body.addEventListener('touchmove', self.welcomeShowedListener, false);
</script>
开始扫描 停止扫描 拍照
</div>
开始扫描按钮-> 启动摄像头,并每秒识别2次,result记录每次扫码结果,进行比对,主要是识别存在一定几率的错误
拍照功能是用来将视频流截图,可以发送到后台,用后台代码在识别一下,比对下正确性