基于HTML5 的人脸识别活体认证的实现方法

2020-04-24 19:24:07易采站长站整理

  
is_head_ok=true;  
is_alive_head=false;  
  
}  
  
  
  
last_dis_left_right=dis_left_right;   
last_time = new Date().getTime();  
  
}  
}  
  
/////////////////////////////////////  
//mouse   
if(is_alive_mouse==true){  
if(last_time==0 || (new Date().getTime()-last_time>500 && new Date().getTime()-last_time<10000 ) ){  
  
//研究和鼻子距离  
var xdiff = positions[62][0] – positions[27][0] ;  
var ydiff = positions[62][1] – positions[27][1] ;   
var dis_eye_norse = Math.pow((xdiff * xdiff + ydiff * ydiff), 0.5);  
  
//上嘴唇 和下嘴唇距离  
var xdiff_mouse = positions[53][0] – positions[47][0] ;  
var ydiff_mouse = positions[53][1] – positions[47][1] ;   
var dis_mouse = Math.pow((xdiff_mouse * xdiff_mouse + ydiff_mouse * ydiff_mouse), 0.5);  
  
//上次的眼鼻距离和这次的眼鼻距离差  
var dn= Math.abs(dis_eye_norse-last_dis_eye_norse);  
  
//上次的嘴距离和本次的嘴距离差  
var dm=Math.abs(dis_mouse – last_dis_mouse);  
  
  
  
  
//鼻子的位置确保变化不大  
if(last_nose_left>0 && last_nose_top>0  
&& Math.abs(positions[62][0]-last_nose_left)<5  
&& Math.abs(positions[62][1]-last_nose_top)<5  
){  
  
document.getElementById(‘msg’).innerHTML = dn;  
  
if(last_dis_eye_norse>0 && dn < dis_eye_norse*1/50){   
  
if(last_dis_mouse>0 && dm > dis_mouse/10){  
  
document.getElementById(‘result’).innerHTML = "通过";  
  
is_alive_mouse=false;  
is_mouse_ok=true;  
}  
  
}  
}  
  
  
last_dis_mouse = dis_mouse;  
last_dis_eye_norse = dis_eye_norse;  
last_time = new Date().getTime();