手机H5条形码扫码

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>
111
开始扫描 停止扫描 拍照
</div>

开始扫描按钮-> 启动摄像头,并每秒识别2次,result记录每次扫码结果,进行比对,主要是识别存在一定几率的错误
拍照功能是用来将视频流截图,可以发送到后台,用后台代码在识别一下,比对下正确性

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值