| | |
| | | import com.basic.security.activity.MainActivity; |
| | | import com.basic.security.base.BaseApplication; |
| | | import com.basic.security.manager.BaseSettingManager; |
| | | import com.basic.security.manager.ByteArrayManager; |
| | | import com.basic.security.manager.DetectResultManager; |
| | | import com.basic.security.manager.FaceTitleAndTipsManager; |
| | | import com.basic.security.manager.FaceTitleAndTipsManagerS; |
| | |
| | | setPosition1(facePosition, x1, y1, x2, y2); |
| | | facePosition.trackerId = trackerId; |
| | | facePosition.liveness = liveness; |
| | | // System.out.println("ProcessImageAndDrawResults.addDetectedResult liveness="+liveness); |
| | | // System1.out.println("ProcessImageAndDrawResults.addDetectedResult liveness="+liveness); |
| | | // facePosition.faceJpgData = cropImage(x1, y1, x2, y2, frameJpgPath, detectedResult.frameBitmap); |
| | | facePosition.detectScore = score; |
| | | facePosition.yaw = yaw; |
| | |
| | | BaseSettingManager.allowMultipleFace() ? 20 : 1, bgrArray |
| | | ); |
| | | long begin = System.currentTimeMillis(); |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace resultsStr="+resultsStr); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace resultsStr="+resultsStr); |
| | | final DetectedResult detectedResult1 = parseResult(resultsStr, rgbGrayCamera, nv21Array, |
| | | shouldExtractFeatureInFirstDetect > 0, shouldExtractFeatureInFirstDetect); |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace " + (System.currentTimeMillis() - begin)); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace " + (System.currentTimeMillis() - begin)); |
| | | boolean needFaceTitle = false; |
| | | boolean needFaceTitleS = false; |
| | | if (detectedResult1.facePositions.size() > 0) { |
| | |
| | | needFaceTitle = true; |
| | | } |
| | | } catch (Exception e) { |
| | | System.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); |
| | | System1.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); |
| | | } |
| | | try { |
| | | FaceTitleAndTipsS faceTitleAndTipsSS = FaceTitleAndTipsManagerS.getFaceTitleMap(detectedResult1.facePositions.get(0), true); |
| | |
| | | needFaceTitleS = true; |
| | | } |
| | | } catch (Exception e) { |
| | | System.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); |
| | | System1.out.println("ProcessImageAndDrawResults.detectFace " + e.getMessage()); |
| | | } |
| | | } |
| | | lastTimeDetectedFace = System.currentTimeMillis(); |
| | |
| | | lastTimeDetectedFace = 0; |
| | | } |
| | | if (shouldExtractFeatureInFirstDetect > 0) { |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace lastTimeSuccessExtractedFeature=" + (System.currentTimeMillis() - lastTimeSuccessExtractedFeature)); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace lastTimeSuccessExtractedFeature=" + (System.currentTimeMillis() - lastTimeSuccessExtractedFeature)); |
| | | } |
| | | // if (shouldExtractFeatureInFirstDetect > 0 && extractedFeature) { |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureInFirstDetect " + shouldExtractFeatureInFirstDetect); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureInFirstDetect " + shouldExtractFeatureInFirstDetect); |
| | | // } |
| | | } else { |
| | | BaseApplication.getApplication().activity.fragment_camera.hideAllFaceRects(); |
| | |
| | | ((System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000) || |
| | | needFaceTitle) |
| | | ) { |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureFirstTimeInWaitFace> 0 = " + (shouldExtractFeatureFirstTimeInWaitFace> 0)); |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeature > 0 = " + (shouldExtractFeature > 0)); |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000 = " |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeatureFirstTimeInWaitFace> 0 = " + (shouldExtractFeatureFirstTimeInWaitFace> 0)); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace shouldExtractFeature > 0 = " + (shouldExtractFeature > 0)); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000 = " |
| | | // + ((System.currentTimeMillis() - lastTimeSuccessExtractedFeature) > 1000)); |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace needFaceTitle " + (needFaceTitle)); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace needFaceTitle " + (needFaceTitle)); |
| | | shouldExtractFeatureFirstTimeInWaitFace--; |
| | | if (bgrArrayCopyForFeature == null || bgrArrayCopyForFeature.length != bgrArray.length) { |
| | | bgrArrayCopyForFeature = new byte[bgrArray.length]; |
| | |
| | | ); |
| | | } |
| | | } else { |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace 1 "); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace 1 "); |
| | | resultsStr = FaceId.instance.grayDetectFace(filesPath, targetFile.getAbsolutePath(), mImageWidth, mImageHeight, |
| | | BaseSettingManager.allowMultipleFace() ? 20 : 1); |
| | | } |
| | |
| | | parseResult(resultsStr, rgbGrayCamera, nv21Array, false, shouldExtractFeature); |
| | | } |
| | | } else { |
| | | // System.out.println("ProcessImageAndDrawResults.detectFace 2 "); |
| | | // System1.out.println("ProcessImageAndDrawResults.detectFace 2 "); |
| | | resultsStr = FaceId.instance.grayDetectFace(filesPath, targetFile.getAbsolutePath(), mImageWidth, mImageHeight, |
| | | BaseSettingManager.allowMultipleFace() ? 20 : 1); |
| | | } |
| | |
| | | } |
| | | } |
| | | if (BaseApplication.getApplication().activity.needCopyCameraData()) { |
| | | detectedResult.originalCameraData = new byte[originalCameraData.length]; |
| | | detectedResult.originalCameraData = ByteArrayManager.newBytes(originalCameraData.length); |
| | | System.arraycopy(originalCameraData, 0, detectedResult.originalCameraData, 0, originalCameraData.length); |
| | | } else { |
| | | detectedResult.originalCameraData = originalCameraData; |