Exemplo n.º 1
0
 protected override void OnCreate(Bundle savedInstanceState)
 {
     RequestWindowFeature(WindowFeatures.NoTitle);
     Window.AddFlags(WindowManagerFlags.Fullscreen);
     base.OnCreate(savedInstanceState);
     SetContentView(Resource.Layout.activity_rgb_ir_video_attribute);
     FaceSDK.InitModel(this);
     findView();
     FaceSDK.FaceAttributeModelInit(this);
     FaceLiveness.getInstance().setLivenessCallBack(this);
 }
        private void init()
        {
            faceDetectManager = new FaceDetectManager(this);
            FaceSDK.FaceAttributeModelInit(this);
            // 从系统相机获取图片帧。
            CameraImageSource cameraImageSource = new CameraImageSource(this);

            // 图片越小检测速度越快,闸机场景640 * 480 可以满足需求。实际预览值可能和该值不同。和相机所支持的预览尺寸有关。
            // 可以通过 camera.getParameters().getSupportedPreviewSizes()查看支持列表。
            cameraImageSource.getCameraControl().setPreferredPreviewSize(1280, 720);

            // 设置最小人脸,该值越小,检测距离越远,该值越大,检测性能越好。范围为80-200

            // 设置预览
            cameraImageSource.setPreviewView(previewView);
            // 设置图片源
            faceDetectManager.setImageSource(cameraImageSource);

            textureView.SetOpaque(false);
            // 不需要屏幕自动变黑。
            textureView.KeepScreenOn = (true);
            bool isPortrait = Resources.Configuration.Orientation == Android.Content.Res.Orientation.Portrait;

            if (isPortrait)
            {
                previewView.setScaleType(ScaleType.FIT_WIDTH);
                // 相机坚屏模式
                cameraImageSource.getCameraControl().setDisplayOrientation(App1.Droid.BaiduSDKManager.Face.Camera.CameraView.ORIENTATION_PORTRAIT);
            }
            else
            {
                previewView.setScaleType(ScaleType.FIT_HEIGHT);
                // 相机横屏模式
                cameraImageSource.getCameraControl().setDisplayOrientation(CameraView.ORIENTATION_HORIZONTAL);
            }

            setCameraType(cameraImageSource);
        }