private void init()
        {
            Intent intent = getIntent();

            if (intent != null)
            {
                groupId = intent.GetStringExtra("group_id");
            }

            faceDetectManager = new FaceDetectManager(this);
            // 从系统相机获取图片帧。
            CameraImageSource cameraImageSource = new CameraImageSource(this);

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

            // 设置最小人脸,该值越小,检测距离越远,该值越大,检测性能越好。范围为80-200
            FaceSDKManager.getInstance().getFaceDetector().MinFaceSize = (100);
            // FaceSDKManager.getInstance().getFaceDetector().setNumberOfThreads(4);
            // 设置预览
            cameraImageSource.setPreviewView(previewView);
            // 设置图片源
            faceDetectManager.setImageSource(cameraImageSource);
            // 设置人脸过滤角度,角度越小,人脸越正,比对时分数越高
            faceDetectManager.getFaceFilter().setAngle(20);

            textureView.SetOpaque(false);
            // 不需要屏幕自动变黑。
            textureView.setKeepScreenOn(true);

            bool isPortrait = Resources.Configuration.Orientation == Android.Content.Res.Orientation.Portrait;

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

            setCameraType(cameraImageSource);
        }
Example #2
0
        private void init()
        {
            faceDetectManager = new FaceDetectManager(this);
            // 从系统相机获取图片帧。
            CameraImageSource cameraImageSource = new CameraImageSource(this);

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

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

            previewView.setMirrored(false);
            // 设置预览
            cameraImageSource.setPreviewView(previewView);
            // 设置图片源
            faceDetectManager.setImageSource(cameraImageSource);
            faceDetectManager.setUseDetect(true);
            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(0);
            }
            else
            {
                previewView.setScaleType(ScaleType.FIT_HEIGHT);
                // 相机横屏模式
                cameraImageSource.getCameraControl().setDisplayOrientation(1);
            }

            setCameraType(cameraImageSource);
        }
Example #3
0
        protected void onCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            detectManager = new FaceDetectManager(ApplicationContext);
            SetContentView(Resource.Layout.activity_reg);

            usernameEt = (EditText)FindViewById(Resource.Id.username_et);
            // groupIdEt = (EditText) FindViewById(R.id.group_id_et);
            groupIdSpinner          = (Spinner)FindViewById(Resource.Id.spinner);
            avatarIv                = (ImageView)FindViewById(Resource.Id.avatar_iv);
            autoDetectBtn           = (Button)FindViewById(Resource.Id.auto_detect_btn);
            fromAlbumButton         = (Button)FindViewById(Resource.Id.pick_from_album_btn);
            submitButton            = (Button)FindViewById(Resource.Id.submit_btn);
            submitButton.Visibility = ViewStates.Gone;

            autoDetectBtn.SetOnClickListener(this);
            fromAlbumButton.SetOnClickListener(this);
            submitButton.SetOnClickListener(this);

            //    groupIdSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
            //    {//选择item的选择点击监听事件
            //    public void onItemSelected(AdapterView<?> arg0, View arg1,
            //                               int arg2, long arg3)
            //    {
            //        if (arg2 < groupIds.size())
            //        {
            //            groupId = groupIds.get(arg2);
            //        }
            //    }

            //    public void onNothingSelected(AdapterView<?> arg0)
            //    {

            //    }
            //});

            init();
        }