public UICameraPreview(CameraPreview camera)
        {
            cameraOptions = camera.Camera;
            _IsPreviewing = camera.IsPreviewing;
            Camera        = camera;

            CaptureSession = new AVCaptureSession();
            previewLayer   = new AVCaptureVideoPreviewLayer(CaptureSession)
            {
                Frame        = Bounds,
                VideoGravity = AVLayerVideoGravity.ResizeAspectFill
            };
            Layer.AddSublayer(previewLayer);

            Initialize();

            MessagingCenter.Subscribe <LifeCyclePayload>(this, "", (p) => {
                switch (p.Status)
                {
                case LifeCycle.OnSleep:
                    //Sleep状態になるときにリソース解放
                    Release();
                    break;

                case LifeCycle.OnResume:
                    //Resume状態になるときに初期化
                    Initialize();
                    break;
                }
            });
        }
Exemplo n.º 2
0
 public void OnEnable()
 {
     screen = (TextureOverlay)target;
     o      = screen.gameObject;
     boost  = PlayerSettings.colorSpace == ColorSpace.Linear;
     CameraPreview.Boost(boost);
 }
Exemplo n.º 3
0
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null || Element == null)
            {
                return;
            }

            previewPage   = e.NewElement as PreviewPage;
            cameraPreview = previewPage.UnderlyingService.CameraPreview as CameraPreview;
            cameraPreview.LiveCameraView = liveCameraStream;
            previewPage.UnderlyingService.DetectionResultAquired += (o, result) => {
            };
            previewPage.UnderlyingService.StartService();
            try
            {
                SetupUserInterface();
                SetupEventHandlers();
                cameraPreview.StartPreview(() => { });
                AuthorizeCameraUse();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine($"\t\t\tERROR: {ex.Message}");
            }
        }
Exemplo n.º 4
0
        public DroidCameraPreview(Context context, CameraPreview formsCameraPreview)
            : base(context)
        {
            FormsCameraPreview = formsCameraPreview;
            surfaceView        = new SurfaceView(context);
            AddView(surfaceView);

            _IsPreviewing = FormsCameraPreview.IsPreviewing;
            holder        = surfaceView.Holder;
            holder.AddCallback(this);

            this.context = context;

            MessagingCenter.Subscribe <LifeCyclePayload>(this, "", (p) => {
                switch (p.Status)
                {
                case LifeCycle.OnSleep:
                    if (surfaceCreated)
                    {
                        //Sleepの時にSurfaceViewが生成されていればリソース解放
                        Release();
                    }
                    break;

                case LifeCycle.OnResume:
                    if (surfaceCreated)
                    {
                        //Resumeの時にSurfaceViewが生成されていればリソース初期化
                        Initialize();
                    }
                    break;
                }
            });
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            if (SetCameraInstance() == true)
            {
                _camPreview = new CameraPreview(this, _camera, _cameraId);
            }
            else
            {
                Finish();
            }

            var preview = (RelativeLayout)FindViewById(Resource.Id.preview_layout);

            preview.AddView(_camPreview);

            var previewLayout = (RelativeLayout.LayoutParams)_camPreview.LayoutParameters;

            previewLayout.Width          = ViewGroup.LayoutParams.MatchParent;
            previewLayout.Height         = ViewGroup.LayoutParams.MatchParent;
            _camPreview.LayoutParameters = previewLayout;

            var captureButton = (Button)FindViewById(Resource.Id.button_capture);

            captureButton.Click += (s, e) =>
            {
                _camera.TakePicture(null, null, _camPreview);
            };

            // at last, a call to set the right layout of the elements (like the button)
            // depending on the screen orientation (if it's changeable).
            FixElementsPosition(Resources.Configuration.Orientation);
        }
Exemplo n.º 6
0
 public CameraModel GetCameraSize(CameraPreview cameraPreview)
 {
     return(new CameraModel
     {
         Width = (uint)cameraPreview.Width,
         Height = (uint)cameraPreview.Height
     });
 }
Exemplo n.º 7
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            _model = await LearningModelYolo.CreateFromStreamAsync();

            _cameraModel = new CameraModel().GetCameraSize(CameraPreview);
            await CameraPreview.StartAsync();

            CameraPreview.CameraHelper.FrameArrived += CameraHelper_FrameArrived;
        }
Exemplo n.º 8
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            LoadYoloOnnxModel();

            Window.Current.SizeChanged += Current_SizeChanged;

            await CameraPreview.StartAsync();

            CameraPreview.CameraHelper.FrameArrived += CameraHelper_FrameArrived;
        }
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        if (!CameraPreview.IsOpen)
        {
            if (GUILayout.Button(OPEN_MESSAGE))
            {
                CameraPreview window = (CameraPreview)EditorWindow.GetWindow(typeof(CameraPreview));
                window.Create();
                window.camera = o.GetComponent <Camera>();
                window.Show();
            }
        }
        else
        {
            if (GUILayout.Button(CLOSE_MESSAGE))
            {
                CameraPreview window = (CameraPreview)EditorWindow.GetWindow(typeof(CameraPreview));

                window.Close();
            }

            GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(1));
            previewMode = (PREVIEW_MODE)EditorGUILayout.EnumPopup("Preview mode", previewMode);

            if (previewMode == PREVIEW_MODE.WINDOWED)
            {
                CameraPreview.customResolution = EditorGUILayout.Vector2Field("Custom resolution", CameraPreview.customResolution);
            }
            EditorGUILayout.BeginHorizontal();
            GUILayout.FlexibleSpace();
            if (GUILayout.Button("Apply"))
            {
                CameraPreview.SetGameWindow(previewMode == PREVIEW_MODE.FULLSCREEN);
            }
            EditorGUILayout.EndHorizontal();
        }

        /***** Uncomment to watch the lights taken in forward mode ****/

        /*
         * for(int i = 0; i < screen.numberPointLights; i++)
         * {
         *  TextureOverlay.PointLight p = screen.pointLights[i];
         *  EditorGUILayout.LabelField("Point light : pos " + p.position + "|| range " + p.range);
         * }
         *
         * for (int i = 0; i < screen.numberSpotLights; i++)
         * {
         *  TextureOverlay.SpotLight p = screen.spotLights[i];
         *  EditorGUILayout.LabelField("Spot light : pos " + p.position + " || direction" + p.direction);
         * }
         */
    }
Exemplo n.º 10
0
        public override void OnInit()
        {
            Debug.WriteLine("Initializing the plugin...");

            if (_camPreview == null)
            {
                Debug.WriteLine("Initializing camera preview...");
                _camPreview = new CameraPreview();
                _camPreview.OnFrameProcessed += OnFrameProcessed;
            }
        }
Exemplo n.º 11
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            _softwareBitmapSource    = new SoftwareBitmapSource();
            CurrentFrameImage.Source = _softwareBitmapSource;

            GetCameraSize();
            Window.Current.SizeChanged += Current_SizeChanged;

            await CameraPreview.StartAsync();

            CameraPreview.CameraHelper.FrameArrived += CameraHelper_FrameArrived;
        }
Exemplo n.º 12
0
    public override void StartActions()
    {
        CameraPreview component = base.GetComponent <CameraPreview>();

        if (!component || component.ControlPoints == null || component.ControlPoints.Count == 0)
        {
            return;
        }
        Vector2 position = component.ControlPoints[0].position;

        base.transform.position = new Vector3(position.x, position.y, base.transform.position.z);
    }
Exemplo n.º 13
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        if (!CameraPreview.IsOpen)
        {
            if (GUILayout.Button(OPEN_MESSAGE))
            {
                CameraPreview window = (CameraPreview)EditorWindow.GetWindow(typeof(CameraPreview));
                boost = PlayerSettings.colorSpace == ColorSpace.Linear;
                window.Create();
                window.camera = o.GetComponent <Camera>();
                window.Show();
                CameraPreview.Boost(boost);
            }
        }
        else
        {
            if (GUILayout.Button(CLOSE_MESSAGE))
            {
                CameraPreview window = (CameraPreview)EditorWindow.GetWindow(typeof(CameraPreview));

                window.Close();
            }
            EditorGUI.BeginChangeCheck();
            GUIContent content = new GUIContent("Gamma Correction", "Correct the gamma color applied by the HMD");
            boost = EditorGUILayout.Toggle(content, boost);
            CameraPreview.Boost(boost);

            if (EditorGUI.EndChangeCheck())
            {
                CameraPreview.Boost(boost);
            }

            EditorGUI.BeginChangeCheck();
            content = new GUIContent("Full Screen", "Press escape to exit full screen mode");
            CameraPreview.isFullScreen = EditorGUILayout.Toggle(content, CameraPreview.isFullScreen);
            if (EditorGUI.EndChangeCheck())
            {
                if (CameraPreview.isFullScreen)
                {
                    CameraPreview.FullScreenGameWindow();
                }
                else
                {
                    CameraPreview.CloseGameWindow();
                }
            }
        }
    }
Exemplo n.º 14
0
        public UICameraPreview(CameraPreview camera)
        {
            cameraOptions = camera.Camera;
            _IsPreviewing = true;
            Camera        = camera;

            CaptureSession = new AVCaptureSession();
            previewLayer   = new AVCaptureVideoPreviewLayer(CaptureSession)
            {
                Frame        = Bounds,
                VideoGravity = AVLayerVideoGravity.ResizeAspectFill
            };
            Layer.AddSublayer(previewLayer);

            Initialize();
        }
Exemplo n.º 15
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.SessionActivityLayout);
            camera  = Camera.Open();
            preview = new CameraPreview(this, camera);
            SurfaceView surfaceView = FindViewById <SurfaceView>(Resource.Id.dummySurfaceView);

            surfaceHolder = surfaceView.Holder;
            surfaceHolder.AddCallback(new CameraPreview(this, camera));
            surfaceHolder.SetType(SurfaceType.PushBuffers);
            var spyButton = FindViewById <Button>(Resource.Id.spyButton);

            spyButton.Click += (sender, args) =>
            {
                TakePicture();
            };
        }
Exemplo n.º 16
0
 protected override void OnElementChanged(ElementChangedEventArgs <CameraView> e)
 {
     base.OnElementChanged(e);
     if (e.OldElement != null || Element == null)
     {
         return;
     }
     if (e.NewElement != null)
     {
         if (Control == null)
         {
             cameraView                = ((CameraView)e.NewElement);
             cameraPreview             = new CameraPreview(Context, cameraView.DefaultTorchOn, cameraView.VibrationOnDetected, cameraView.AutoStartScanning);
             cameraPreview.OnDetected += (list) =>
             {
                 cameraView?.TriggerOnDetected(list);
             };
             SetNativeControl(cameraPreview);
         }
     }
 }
        // Initialize Camera
        private void InitializeCamera()
        {
            _camera = CameraHelper.GetCameraInstance((int)_cameraFacing);
            if (_camera != null)
            {
                //CameraHelper.SetCameraDisplayOrientation(this, 0, _camera);
                SurfaceOrientation displayRotation = this.WindowManager.DefaultDisplay.Rotation;

                // Create our Preview view and set it as the content of our activity.
                _preview = new CameraPreview(this, _camera, (int)_cameraFacing, displayRotation);

                //IList<Android.Hardware.Camera.Size> sizes = _camera.GetParameters().SupportedPreviewSizes;
                //_camera.GetParameters().SetPreviewSize(sizes[0].Width, sizes[0].Height);

                camera_preview.AddView(_preview);

                SetFlash();
            }
            else
            {
                AlertBox.Create("", "Could not access camera!", this);
            }
        }
Exemplo n.º 18
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Main);
            TableLayout  tl           = FindViewById <TableLayout>(Resource.Id.camera_preview);
            LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);

            TableRow.LayoutParams tableLayoutParams = new TableRow.LayoutParams();
            tableLayoutParams.Span   = 4;
            tableLayoutParams.Weight = 1;
            TableRow tr = new TableRow(this);

            mCamera        = getCameraInstance();
            mCameraPreview = new CameraPreview(this, mCamera, null, Android.Views.SurfaceOrientation.Rotation0);
            mCameraPreview.LayoutParameters = tableLayoutParams;
            tr.AddView(mCameraPreview, 0);
            tl.AddView(tr, 6);

            Button captureButton = FindViewById <Button>(Resource.Id.button_capture);

            captureButton.Click += CaptureButton_Click;
        }
Exemplo n.º 19
0
        /// <summary>
        /// Обработка запуска превью камеры
        /// </summary>
        private void StartCamera()
        {
            if (camera != null)
            {
                try
                {
                    camera.StartPreview();
                    return;
                }
                catch (Java.Lang.Exception e)
                {
                }
            }

            try
            {
                camera = CameraHelpers.GetCameraInstance();
                flashCurrent--;
                ToggleFlash();

                if (camera == null)
                {
                    //Log.Debug("Can not connect to camera.");
                }
                else
                {
                    preview = new CameraPreview(this, camera);
                    cameraPreview.RemoveAllViews();
                    cameraPreview.AddView(preview);
                }
            }
            catch (Exception e)
            {
                Log.Debug("Camera activity", e.StackTrace);
            }
        }
Exemplo n.º 20
0
 protected override void OnResume()
 {
     base.OnResume();
     cameraPreview = FindViewById<CameraPreview>(Resource.Id.texture);
     cameraPreview?.InitPreview(this);
     OpenCamera();
     InitSensors();
 }
Exemplo n.º 21
0
 public CameraFeedUtility(CameraPreview cameraPreview)
 {
     this.cameraPreview = cameraPreview;
 }
Exemplo n.º 22
0
 protected override void OnResume()
 {
     base.OnResume();
     cameraPreview = FindViewById<CameraPreview>(Resource.Id.texture);
     cameraPreview.InitPreview(this);
     if (cameraFeedUtility == null)
     {
         cameraFeedUtility = new CameraFeedUtility(cameraPreview);
     }
     cameraFeedUtility.StartPreview();
     cameraFeedUtility.UpdatePreviewRotation(world.Rotation);
     InitSensors();
 }