|
@ -1233,13 +1233,12 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
|
|
|
|
|
|
// 智能调节处理频率 |
|
|
// 智能调节处理频率 |
|
|
adjustProcessFrequency(currentTime); |
|
|
adjustProcessFrequency(currentTime); |
|
|
Log.d(TAG, "frameCounter45466:"+(frameCounter % PROCESS_FRAME_INTERVAL == 0)+" || "+((currentTime - lastProcessTime)>MIN_PROCESS_INTERVAL)); |
|
|
|
|
|
|
|
|
// Log.d(TAG, "frameCounter45466:"+(frameCounter % PROCESS_FRAME_INTERVAL == 0)); |
|
|
// 只有当满足处理条件时才进行人脸检测 |
|
|
// 只有当满足处理条件时才进行人脸检测 |
|
|
if (frameCounter % PROCESS_FRAME_INTERVAL == 0 && |
|
|
|
|
|
(currentTime - lastProcessTime) > MIN_PROCESS_INTERVAL) { |
|
|
|
|
|
|
|
|
if (frameCounter % PROCESS_FRAME_INTERVAL == 0) { |
|
|
|
|
|
|
|
|
// if(true){ |
|
|
// if(true){ |
|
|
Log.d(TAG, "满足条件: 0000000:"+isNeedCamera+"|"+needSendFaceImage); |
|
|
|
|
|
|
|
|
// Log.d(TAG, "满足条件: 0000000:"+isNeedCamera+"|"+needSendFaceImage); |
|
|
lastProcessTime = currentTime; |
|
|
lastProcessTime = currentTime; |
|
|
// Log.d(TAG, "onGetCameraData: 666:"+FaceSDKManager.initStatus+"帧数阈值:"+SingleBaseConfig.getBaseConfig().getFramesThreshold()); |
|
|
// Log.d(TAG, "onGetCameraData: 666:"+FaceSDKManager.initStatus+"帧数阈值:"+SingleBaseConfig.getBaseConfig().getFramesThreshold()); |
|
|
// 检查应用是否处于前台 |
|
|
// 检查应用是否处于前台 |
|
@ -1258,7 +1257,7 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
@Override |
|
|
@Override |
|
|
public void onFaceDetectCallback(LivenessModel livenessModel) { |
|
|
public void onFaceDetectCallback(LivenessModel livenessModel) { |
|
|
|
|
|
|
|
|
Log.d(TAG, "onGetCameraData: 777:"+livenessModel.getTrackFaceInfo().length+"|height:"+height+"| width:"+width); |
|
|
|
|
|
|
|
|
Log.d(TAG, "onGetCameraData: 获取到人脸:"+livenessModel.getTrackFaceInfo().length+"|height:"+height+"| width:"+width); |
|
|
try { |
|
|
try { |
|
|
// 检查是否需要进行人脸检测 |
|
|
// 检查是否需要进行人脸检测 |
|
|
if (!isNeedCheckFace()) { |
|
|
if (!isNeedCheckFace()) { |
|
@ -1315,7 +1314,7 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
// } |
|
|
// } |
|
|
} |
|
|
} |
|
|
}else{ |
|
|
}else{ |
|
|
Log.e(TAG, "不满足条件: 0000000:"); |
|
|
|
|
|
|
|
|
// Log.e(TAG, "不满足条件: 0000000:"); |
|
|
showFrame(null); |
|
|
showFrame(null); |
|
|
android.util.Log.d("OXFace", "isNeedCamera: false"); |
|
|
android.util.Log.d("OXFace", "isNeedCamera: false"); |
|
|
} |
|
|
} |
|
@ -1440,9 +1439,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
FaceInfo faceInfo = faceInfos[i]; |
|
|
FaceInfo faceInfo = faceInfos[i]; |
|
|
|
|
|
|
|
|
// 如果人脸置信度太低,不绘制 |
|
|
// 如果人脸置信度太低,不绘制 |
|
|
// if (faceInfo.score < 0.7f) { |
|
|
|
|
|
// continue; |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
if (faceInfo.score < 0.6) { |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
rectF.set(FaceOnDrawTexturViewUtil.getFaceRectTwo(faceInfo)); |
|
|
rectF.set(FaceOnDrawTexturViewUtil.getFaceRectTwo(faceInfo)); |
|
|
// 检测图片的坐标和显示的坐标不一样,需要转换。 |
|
|
// 检测图片的坐标和显示的坐标不一样,需要转换。 |
|
@ -1887,14 +1886,14 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 模糊结果过滤 |
|
|
// 模糊结果过滤 |
|
|
// float blur = livenessModel.getFaceInfo().bluriness; |
|
|
|
|
|
// if (blur > SingleBaseConfig.getBaseConfig().getBlur()) { |
|
|
|
|
|
// //照片模糊 |
|
|
|
|
|
// layoutCompareStatus.setVisibility(View.VISIBLE); |
|
|
|
|
|
// textCompareStatus.setTextColor(Color.parseColor("#fec133")); |
|
|
|
|
|
// textCompareStatus.setText("人脸模糊,请移动"); |
|
|
|
|
|
// return; |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
float blur = livenessModel.getFaceInfo().bluriness; |
|
|
|
|
|
if (blur > SingleBaseConfig.getBaseConfig().getBlur()) { |
|
|
|
|
|
//照片模糊 |
|
|
|
|
|
layoutCompareStatus.setVisibility(View.VISIBLE); |
|
|
|
|
|
textCompareStatus.setTextColor(Color.parseColor("#fec133")); |
|
|
|
|
|
textCompareStatus.setText("人脸模糊,请移动"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
//质量检测 |
|
|
//质量检测 |
|
|
if (!livenessModel.isQualityCheck()) { |
|
|
if (!livenessModel.isQualityCheck()) { |
|
@ -3226,14 +3225,14 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 设置新的超时任务 |
|
|
// 设置新的超时任务 |
|
|
cameraTimeoutHandler = new Handler(); |
|
|
|
|
|
cameraTimeoutHandler.postDelayed(new Runnable() { |
|
|
|
|
|
@Override |
|
|
|
|
|
public void run() { |
|
|
|
|
|
LogManager.logWarning(TAG, "摄像头暂停超时,自动恢复并关闭所有对话框"); |
|
|
|
|
|
forceResumeAndCloseAllDialogs(); |
|
|
|
|
|
} |
|
|
|
|
|
}, 10000); |
|
|
|
|
|
|
|
|
// cameraTimeoutHandler = new Handler(); |
|
|
|
|
|
// cameraTimeoutHandler.postDelayed(new Runnable() { |
|
|
|
|
|
// @Override |
|
|
|
|
|
// public void run() { |
|
|
|
|
|
// LogManager.logWarning(TAG, "摄像头暂停超时,自动恢复并关闭所有对话框1111111"); |
|
|
|
|
|
// forceResumeAndCloseAllDialogs(); |
|
|
|
|
|
// } |
|
|
|
|
|
// }, 10000); |
|
|
|
|
|
|
|
|
LogManager.logInfo(TAG, "摄像头已暂停,请求计数: " + pauseRequestCount + ", 超时时间: " + "ms"); |
|
|
LogManager.logInfo(TAG, "摄像头已暂停,请求计数: " + pauseRequestCount + ", 超时时间: " + "ms"); |
|
|
} |
|
|
} |
|
|