Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未检测到面部图像时,不会读取次要面部状况_Javascript_Jquery_Image_If Statement_Face Detection - Fatal编程技术网

Javascript 未检测到面部图像时,不会读取次要面部状况

Javascript 未检测到面部图像时,不会读取次要面部状况,javascript,jquery,image,if-statement,face-detection,Javascript,Jquery,Image,If Statement,Face Detection,功能性: 用户将使用网络摄像头拍照。当相机捕捉图像时,会出现一个检查页面;此页面通知用户在运行检查条件以检测捕获的图像是否能够检测到任何面部特征和图像时,请稍候 因此,如果检查条件成功,它会将用户导航到一个选项页面,以重新拍摄图片或导航到新页面。否则,它将通知用户微笑并导航到重拍页面,用户只能选择重拍选项重新拍摄图像 已完成的操作: 已使用faceapp sdk:facepp sdk.min.js,创建面部检测。若要在检测到面时创建检查条件,将显示选项页,否则将显示重拍页 问题: 未调用检查条件

功能性:

用户将使用网络摄像头拍照。当相机捕捉图像时,会出现一个检查页面;此页面通知用户在运行检查条件以检测捕获的图像是否能够检测到任何面部特征和图像时,请稍候

因此,如果检查条件成功,它会将用户导航到一个选项页面,以重新拍摄图片或导航到新页面。否则,它将通知用户微笑并导航到重拍页面,用户只能选择重拍选项重新拍摄图像

已完成的操作:

已使用faceapp sdk:
facepp sdk.min.js
,创建面部检测。若要在检测到面时创建检查条件,将显示选项页,否则将显示重拍页

问题:

未调用检查条件。因此,在最后,无论拍摄的图像是否具有面部特征,或者图像是空白图像,都始终调用选项页。但是,检测功能与检测到面部图像一样,控制台日志能够记录微笑指数、性别和大致年龄,否则,如果未检测到面部图像,控制台日志将返回空

因此,发生了什么?请帮忙

代码:用于检查捕获图像的方法调用
//人脸检测的函数调用
函数Send(){
//将捕获映像发送到后端服务器
var canvasServer=document.getElementById(“canvas”);
var context=canvasServer.getContext(“2d”);
var imageDataURL=canvasServer.toDataURL('image/png');
var smilesDetected=0;
//通过ajax将图像发送到服务器
var ajax=new-XMLHttpRequest();
open(“POST”、“image.do”、false);
setRequestHeader(“内容类型”、“应用程序/上传”);
send(imageDataURL);
//将捕获图像发送到人脸检测Web服务
setTimeout(函数(){
log(“开始:+Date());
var binary=atob(canvasServer.toDataURL('image/jpeg').split(',')[1]);
var数组=[];
对于(var i=0;i0){
age=ageArray[i]。子字符串(ageArray[i]。indexOf(“value”)+7,ageArray[i]。indexOf(“},”);
年龄=$.trim(年龄);
gender=genderArray[i]。子字符串(genderArray[i]。indexOf(“value”)+8,genderArray[i]。indexOf(“}”)-1);
性别=$.trim(性别);
性别=性别。子字符串(1,性别。长度-1);
smile=smileArray[i]。子字符串(smileArray[i]。indexOf(“value”)+8,smileArray[i]。indexOf(“}”);
微笑=$.trim(微笑);
log(“年龄:|“+年龄+”);
console.log(“性别:|“+性别+”);
log(“微笑指数:|“+微笑+”);
//将人脸检测结果保存到后端服务器
如果(微笑)>=50){
ajax_detection(“function.do”、“formType=detection&gender=“+gender+”&age=“+age+”&smileIndex=“+smile+”&isSmile=true”);
smiles++;
console.log(检测到smiles);
}否则{
ajax_检测(“function.do”、“formType=detection&gender=“+gender+”&age=“+age+”&smileIndex=“+smile+”&isSmile=false”);
}
}
}
}否则{
console.log('error');
}
//人脸检测的条件检查
如果(检测到微笑>2){
$(“#检查_面_页”).fadeOut({
持续时间:幻灯片教学,
队列:false
});
$('#选中_face_page')。设置动画({
“左”:“1081px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false
});
$(“#摄像头(选项)页面”).fadeIn({
持续时间:幻灯片教学,
队列:false
});
$(“#相机_选项_页面”)。设置动画({
“左”:“0px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false
});
}否则{
控制台日志(“未检测到”);
$(“#检查_面_页”).fadeOut({
持续时间:幻灯片教学,
队列:false
});
$('#选中_face_page')。设置动画({
“左”:“1081px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false
});
$('plessemile_page')。fadeIn({
持续时间:幻灯片教学,
队列:false
});
$(“#请文件页面”)。设置动画({
“左”:“0px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false,
完成:函数(){
setTimeout(函数(){
$(“#请文件页面”)。淡出({
持续时间: