Esempio n. 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.activity_main);

            cameraView  = FindViewById <SurfaceView>(Resource.Id.surface_view);
            drawingView = FindViewById <DrawingView>(Resource.Id.drawing_View);
            checkBox    = FindViewById <CheckBox>(Resource.Id.checkbox);

            TextRecognizer txtRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!txtRecognizer.IsOperational)
            {
                Log.Error("Main Activity", "Detector dependencies are not yet available");
            }
            else
            {
                cameraSource = new CameraSource.Builder(ApplicationContext, txtRecognizer)
                               .SetFacing(CameraFacing.Back)
                               //.SetRequestedPreviewSize(Resources.DisplayMetrics.WidthPixels, Resources.DisplayMetrics.HeightPixels)
                               .SetRequestedPreviewSize(1080, 1920)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true).Build();
                cameraView.Holder.AddCallback(this);
                txtRecognizer.SetProcessor(this);
            }
        }
Esempio n. 2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            SetContentView(Resource.Layout.activity_main);

            Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab);

            fab.Click += FabOnClick;

            textView   = FindViewById <TextView>(Resource.Id.txtAux);
            cameraView = FindViewById <SurfaceView>(Resource.Id.surfaceView1);

            TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            //MRZDetector mrzDetector = new MRZDetector();
            //if (textRecognizer.IsOperational)
            //{
            cameraSource = new CameraSource.Builder(ApplicationContext, textRecognizer)
                           .SetFacing(CameraFacing.Front)
                           .SetRequestedPreviewSize(1280, 1024)
                           .SetRequestedFps(2.0f)
                           .SetAutoFocusEnabled(true)
                           .Build();

            cameraView.Holder.AddCallback(this);
            textRecognizer.SetProcessor(this);
            //}
        }
Esempio n. 3
0
        /// <summary>
        /// Text OCR 기능
        /// </summary>
        /// <param name="bitmap"></param>
        public void TextOCRFunction(Bitmap bitmap)
        {
            TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
                Log.Error("ERROR", "Detector dependencies are not yet available");
            }
            else
            {
                Frame         frame      = new Frame.Builder().SetBitmap(bitmap).Build();
                SparseArray   items      = textRecognizer.Detect(frame);
                StringBuilder strBuilder = new StringBuilder();
                for (int i = 0; i < items.Size(); ++i)
                {
                    TextBlock item = (TextBlock)items.ValueAt(i);
                    strBuilder.Append(item.Value);
                    strBuilder.Append("\n  ");
                }
                if (strBuilder.ToString() != "")
                {
                    tvResult.Text = "  " + strBuilder.ToString();
                    Speak(tvResult.Text);
                }
                else
                {
                    tvResult.Text = "  인식할 수 없습니다.";
                    Speak(tvResult.Text);
                }
            }
        }
Esempio n. 4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_scanner);
            cameraView = FindViewById <SurfaceView>(Resource.Id.surface_view);
            textView   = FindViewById <TextView>(Resource.Id.text_view);

            // null the static strings
            LotteryTextValidation.OnValidationComplete();

            TextRecognizer textRecog = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecog.IsOperational)
            {
                Log.Error("ReceiptLotteryScan activity", "depencecies are not activated");
            }
            else
            {
                cameraSource = new CameraSource.Builder(ApplicationContext, textRecog)
                               .SetFacing(CameraFacing.Back)
                               .SetRequestedPreviewSize(1280, 1024)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true)
                               .Build();

                cameraView.Holder.AddCallback(this);
                textRecog.SetProcessor(this);
            }
        }
        public string ReadTextFromImage(string file_path)
        {
            var text   = string.Empty;
            var bitMap = BitmapFactory.DecodeFile(file_path);

            var textRecognizer = new TextRecognizer.Builder(Application.Context).Build();

            if (!textRecognizer.IsOperational)
            {
                return(text);
            }

            Frame         frame      = new Frame.Builder().SetBitmap(bitMap).Build();
            SparseArray   items      = textRecognizer.Detect(frame);
            StringBuilder strBuilder = new StringBuilder();

            for (int i = 0; i < items.Size(); i++)
            {
                TextBlock item = (TextBlock)items.ValueAt(i);
                strBuilder.Append(item.Value);
                strBuilder.Append(" ");
            }
            text = strBuilder.ToString();

            return(text);
        }
Esempio n. 6
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            //Set your main view here
            SetContentView(Resource.Layout.activity_scanner);
            _cameraView      = FindViewById <SurfaceView>(Resource.Id.surface_view);
            _textView        = FindViewById <TextView>(Resource.Id.text_view);
            _transparentView = FindViewById <SurfaceView>(Resource.Id.transparent_view);

            _transparentView.SetZOrderOnTop(true);
            _transparentView.Holder.SetFormat(Format.Transparent);

            _numerator = _prevCount = 0;
            //ReceiptTextValidation.OnValidationComplete();


            var textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
                Log.Error("Scan Activity", "Detector dependencies not yet available");
            }
            else
            {
                _cameraSource = new CameraSource.Builder(ApplicationContext, textRecognizer)
                                .SetFacing(CameraFacing.Back)
                                .SetRequestedPreviewSize(1280, 1024)
                                .SetRequestedFps(2.0f)
                                .SetAutoFocusEnabled(true)
                                .Build();
                _cameraView.Holder.AddCallback(this);
                textRecognizer.SetProcessor(this);
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            sv = FindViewById <SurfaceView>(Resource.Id.surface);
            tv = FindViewById <TextView>(Resource.Id.txtV);


            TextRecognizer tr = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!tr.IsOperational)
            {
                Log.Error("Main Activity", "Naim");
            }
            else
            {
                cs = new CameraSource.Builder(ApplicationContext, tr)
                     .SetFacing(CameraFacing.Back)
                     .SetRequestedPreviewSize(1280, 1024)
                     .SetRequestedFps(2.0f)
                     .SetAutoFocusEnabled(true)
                     .Build();

                sv.Holder.AddCallback(this);
                tr.SetProcessor(this);
            }
        }
        private void _button_Click(object sender, EventArgs e)
        {
            TextRecognizer textRecogniser = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecogniser.IsOperational)
            {
                Log.Error("error", "detecotor dependencies are not yet available");
            }
            else
            {
                try
                {
                    Frame         frame      = new Frame.Builder().SetBitmap(_bitmap).Build();
                    SparseArray   items      = textRecogniser.Detect(frame);
                    StringBuilder strBuilder = new StringBuilder();

                    var size = items.Size();
                    for (int i = 0; i <= items.Size(); ++i)
                    {
                        TextBlock item = (TextBlock)items.ValueAt(i);
                        if (item != null)
                        {
                            strBuilder.Append(item.Value);
                        }
                    }


                    _textViewLabel.Text = strBuilder.ToString();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.StackTrace);
                }
            }
        }
Esempio n. 9
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Main);

            cameraView = FindViewById <SurfaceView>(Resource.Id.surface_view);
            textView   = FindViewById <TextView>(Resource.Id.text_view);


            TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
            }

            //Log.Error("Main Activity", "As dependencias ainda não estão prontas para serem carregadas!");
            else
            {
                cameraSource = new CameraSource.Builder(ApplicationContext, textRecognizer)
                               .SetFacing(CameraFacing.Back)
                               .SetRequestedPreviewSize(1280, 1024)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true)
                               .Build();
                cameraView.Holder.AddCallback(this);
                textRecognizer.SetProcessor(this);

                //var camera =  Android.Hardware.Camera.Open();
                //Parameters parameters = camera.GetParameters();
                //parameters.FlashMode = Parameters.FlashModeOn;
                //camera.SetParameters(parameters);
                //camera.StartPreview();
            }
        }
Esempio n. 10
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            string result = string.Empty;

            try
            {
                if (requestCode == 100 && resultCode == Result.Ok)
                {
                    if (data != null && data.Extras != null)
                    {
                        Bitmap         imageBitmap    = (Bitmap)data.Extras.Get("data");
                        TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();
                        Frame          frame          = new Frame.Builder().SetBitmap(imageBitmap).Build();
                        SparseArray    items          = textRecognizer.Detect(frame);
                        StringBuilder  builder        = new StringBuilder();

                        for (int i = 0; i < items.Size(); i++)
                        {
                            TextBlock item = (TextBlock)items.ValueAt(i);
                            builder.Append(item.Value);
                            builder.Append(" ");
                        }

                        result = builder.ToString();
                    }
                }
            }
            catch (System.Exception e)
            {
                Toast.MakeText(this, e.Message, ToastLength.Long).Show();
            }

            TextData.LastText = result;
            Finish();
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            cameraView     = FindViewById <SurfaceView>(Resource.Id.surface_view);
            textView       = FindViewById <TextView>(Resource.Id.text_view);
            btnCheckResult = FindViewById <Button>(Resource.Id.checkResult);
            resultView     = FindViewById <TextView>(Resource.Id.result_view);

            TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
                Log.Error("Main Activity", "Dependencias não estao prontas");
            }
            else
            {
                cameraSource = new CameraSource.Builder(ApplicationContext, textRecognizer)
                               .SetFacing(CameraFacing.Back)
                               .SetRequestedPreviewSize(1280, 1024)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true)
                               .Build();

                cameraView.Holder.AddCallback(this);
                textRecognizer.SetProcessor(this);
                tts = new TextToSpeech(this, this);
                btnCheckResult.Click += BtnCheckResult_Click;
            }
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            InflaterMain = inflater;
            View view = inflater.Inflate(Resource.Layout.text_recognition, container, false);

            cameraView = view.FindViewById <SurfaceView>(Resource.Id.surface_view);
            textView   = view.FindViewById <TextView>(Resource.Id.text_view_dcr);

            TextRecognizer textRecognizer = new TextRecognizer.Builder(this.Activity.ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
                Log.Error("text_recognition", "Detector depenencies are not avaliable yet!");
            }
            else
            {
                cameraSource = new CameraSource.Builder(Activity.ApplicationContext, textRecognizer)
                               .SetFacing(CameraFacing.Back)
                               .SetRequestedPreviewSize(1280, 1024)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true).Build();
            }

            cameraView.Holder.AddCallback(this);
            textRecognizer.SetProcessor(this);
            return(view);
        }
Esempio n. 13
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Main);

            cameraView = FindViewById <SurfaceView>(Resource.Id.surface_view);
            textView   = FindViewById <TextView>(Resource.Id.text_view);

            TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
                Log.Error("MainActivity Activity", "Detector dependencies are not yet available");
            }
            else
            {
                cameraSource = new CameraSource.Builder(ApplicationContext, textRecognizer)
                               .SetFacing(CameraFacing.Back)
                               .SetRequestedPreviewSize(1280, 1024)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true)
                               .Build();

                cameraView.Holder.AddCallback(this);
                textRecognizer.SetProcessor(this);
            }
        }
Esempio n. 14
0
        public bool Initialize(Stream modelData, bool useNumThreads)
        {
            using (var builder = new TextRecognizer.Builder(MainActivity.context))
            {
                txtRecognizer = builder.Build();
            }

            using (var ms = new MemoryStream())
            {
                modelData.CopyTo(ms);

                model = new FlatBufferModel(ms.ToArray());
            }

            if (!model.CheckModelIdentifier())
            {
                return(false);
            }

            var op = new BuildinOpResolver();

            interpreter = new Interpreter(model, op);

            if (useNumThreads)
            {
                interpreter.SetNumThreads(Environment.ProcessorCount);
            }

            var allocateTensorStatus = interpreter.AllocateTensors();

            if (allocateTensorStatus == Status.Error)
            {
                return(false);
            }

            var input = interpreter.GetInput();

            inputTensor = interpreter.GetTensor(input[0]);

            var output      = interpreter.GetOutput();
            var outputIndex = output[0];

            outputTensors = new Tensor[output.Length];
            for (var i = 0; i < output.Length; i++)
            {
                outputTensors[i] = interpreter.GetTensor(outputIndex + i);
            }

            return(true);
        }
Esempio n. 15
0
        public IEnumerable <ShoppingItem> Analyse(Stream source)
        {
            var builder    = new TextRecognizer.Builder(Forms.Context);
            var recognizer = builder.Build();
            var bitmap     = BitmapFactory.DecodeStream(source);
            var frame      = new Android.Gms.Vision.Frame.Builder().SetBitmap(bitmap).Build();
            var results    = recognizer.Detect(frame);

            ShoppingItem[] toResturn = new ShoppingItem[results.Size()];
            for (int i = 0; i < results.Size(); i++)
            {
                var name = results.ValueAt(i) as TextBlock;
                toResturn[i] = new ShoppingItem()
                {
                    Name = name.Value ?? ""
                };
            }

            return(toResturn);
        }
        public async Task <List <string> > GetStringsFromImage(Image ImageWithText)
        {
            try
            {
                var result = new List <string>();

                Bitmap img = null;

                var imageHandler = GetHandler(ImageWithText.Source);
                if (imageHandler != null)
                {
                    img = await imageHandler.LoadImageAsync(ImageWithText.Source, Android.App.Application.Context); // needs context for Android
                }

                var txtRecognizer = new TextRecognizer.Builder(Android.App.Application.Context).Build();

                if (!txtRecognizer.IsOperational)
                {
                    throw new NotImplementedException("Detector dependencies are not yet available");
                }
                else
                {
                    Android.Gms.Vision.Frame frame = new Android.Gms.Vision.Frame.Builder().SetBitmap(img).Build();

                    SparseArray items = txtRecognizer.Detect(frame);

                    for (int i = 0; i < items.Size(); i++)
                    {
                        TextBlock item = (TextBlock)items.ValueAt(i);

                        result.Add(item.Value);
                    }
                }

                return(result);
            }
            catch (Exception ex)
            {
                throw new NotImplementedException($"Error: {ex.Message}");
            }
        }
Esempio n. 17
0
        private void CreateCameraSource()
        {
            var             context  = Application.Context;
            BarcodeDetector barcodes = new BarcodeDetector.Builder(context).Build();
            TextRecognizer  text     = new TextRecognizer.Builder(context).Build();
            MultiDetector   detector = new MultiDetector.Builder().Add(barcodes).Add(text).Build();

            barcodes.SetProcessor(new MultiProcessor.Builder(this).Build());
            text.SetProcessor(new MultiProcessor.Builder(this).Build());

            if (!detector.IsOperational)
            {
                Log.Warn(__CLASS__, "Detection is not ready");
            }

            mCameraSource = new CameraSource.Builder(context, detector)
                            .SetRequestedPreviewSize(512, 300)
                            .SetFacing(CameraFacing.Front)
                            .SetRequestedFps(15.0f)
                            .SetAutoFocusEnabled(true)
                            .Build();
        }
Esempio n. 18
0
        private void BtnProcess_Click(object sender, System.EventArgs e)
        {
            TextRecognizer txtRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!txtRecognizer.IsOperational)
            {
                Log.Error("Error", "Detector dependencies are not yet available");
            }
            else
            {
                Frame         frame      = new Frame.Builder().SetBitmap(bitmap).Build();
                SparseArray   items      = txtRecognizer.Detect(frame);
                StringBuilder strBuilder = new StringBuilder();
                for (int i = 0; i < items.Size(); i++)
                {
                    TextBlock item = (TextBlock)items.ValueAt(i);
                    strBuilder.Append(item.Value);
                    strBuilder.Append("/");
                }
                txtView.Text = strBuilder.ToString();
            }
        }
Esempio n. 19
0
        private string TextRecognition(Bitmap bitmap)
        {
            TextRecognizer textrec = new TextRecognizer.Builder(context).Build();
            StringBuilder  builder = new StringBuilder();

            if (!textrec.IsOperational)
            {
                Log.Error("Error", "Detector dependencies are not yet available");
            }
            else
            {
                Frame       frame = new Frame.Builder().SetBitmap(bitmap).Build();
                SparseArray items = textrec.Detect(frame);
                for (int i = 0; i < items.Size(); ++i)
                {
                    TextBlock text = (TextBlock)items.ValueAt(i);
                    builder.Append(text.Value);
                    builder.Append("\n");
                }
            }

            return(builder.ToString());
        }
Esempio n. 20
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            imageview  = FindViewById <ImageView>(Resource.Id.image_view);
            btnProcess = FindViewById <Button>(Resource.Id.btnProcess);
            txtView    = FindViewById <TextView>(Resource.Id.txtView);

            Bitmap bitmap = BitmapFactory.DecodeResource(ApplicationContext.Resources, Resource.Drawable.csharpcorner);

            imageview.SetImageBitmap(bitmap);

            btnProcess.Click += delegate
            {
                TextRecognizer txtRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();
                if (!txtRecognizer.IsOperational)
                {
                    Log.Error("Error", "Detector dependencies are not yet available");
                }
                else
                {
                    Frame         frame      = new Frame.Builder().SetBitmap(bitmap).Build();
                    SparseArray   items      = txtRecognizer.Detect(frame);
                    StringBuilder strBuilder = new StringBuilder();
                    for (int i = 0; i < items.Size(); i++)
                    {
                        TextBlock item = (TextBlock)items.ValueAt(i);
                        strBuilder.Append(item.Value);
                        strBuilder.Append("/");
                    }
                    txtView.Text = strBuilder.ToString();
                }
            };
        }
Esempio n. 21
0
        private void RecogText(Bitmap bitmap)
        {
            TextRecognizer txtRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!txtRecognizer.IsOperational)
            {
                Log.Error("Error", "Detector dependencies are not yet available");
            }
            else
            {
                frame = new Frame.Builder().SetBitmap(bitmap).Build();

                // Detect characters
                items = txtRecognizer.Detect(frame);

                // Create list for detected characters
                itemlist = new List <string>();

                // Add items to list
                for (int i = 0; i < items.Size(); i++)
                {
                    TextBlock item = (TextBlock)items.ValueAt(i);
                    itemlist.Add(item.Value);
                }

                // If no characters were found, print message
                if (itemlist.Count == 0)
                {
                    Toast.MakeText(this, "No characters found", ToastLength.Long).Show();
                }

                // Fill the listView with the items of itemlist
                ArrayAdapter <string> adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItemActivated1, itemlist);
                listnames.Adapter = adapter;
            }
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Main);


            rlt                         = FindViewById <LinearLayout>(Resource.Id.linearLayout1);
            swipeBtnGoGoGo              = FindViewById <SwipeButton>(Resource.Id.swipeBtn_Data);
            swipeBtnGoGoGo.Click       += SwipeBtnGoGoGo_Click;
            swipeBtnGoGoGo.StateChange += SwipeBtnGoGoGo_StateChange;

            cameraView = FindViewById <SurfaceView>(Resource.Id.surface_view);



            imageCameraProp = FindViewById <ImageView>(Resource.Id.imageCamera);
            imageCameraProp.SetImageResource(Resource.Drawable.Kamera_Button);
            imageCameraProp.Click += ImageCameraProp_Click;

            imageDataProp = FindViewById <ImageView>(Resource.Id.imageData);
            imageDataProp.SetImageResource(Resource.Drawable.data_final);
            imageDataProp.Click += ImageDataProp_Click;


            txtBoyAd = FindViewById <TextView>(Resource.Id.txtBoyAd);

            txtOmuzAd     = FindViewById <TextView>(Resource.Id.txtOmuzAd);
            txtChestAd    = FindViewById <TextView>(Resource.Id.txtChestAd);
            layout_Deneme = FindViewById <LinearLayout>(Resource.Id.linearLayout1);

            txtBoyDeger    = FindViewById <TextView>(Resource.Id.txtBoyDeger);
            txtKarinDeger  = FindViewById <TextView>(Resource.Id.txtKarinDeger);
            txtOmuzDeger   = FindViewById <TextView>(Resource.Id.txtOmuzDeger);
            txtChestDeger  = FindViewById <TextView>(Resource.Id.txtChestDeger);
            txtHipsDeger   = FindViewById <TextView>(Resource.Id.txtHipsValue);
            txtTighsDeger  = FindViewById <TextView>(Resource.Id.txtThigsValue);
            txtCalvesDeger = FindViewById <TextView>(Resource.Id.txtCalvesValue);
            txtKneeDeger   = FindViewById <TextView>(Resource.Id.txtKneeValue);
            txtNeckDeger   = FindViewById <TextView>(Resource.Id.txtNeckValue);

            txtCalvesDeger = FindViewById <TextView>(Resource.Id.txtCalvesValue);
            TextRecognizer textRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!textRecognizer.IsOperational)
            {
                Log.Error("Main Activity", "Detector dependencies are not yet available");
            }
            else
            {
                cameraSource = new CameraSource.Builder(ApplicationContext, textRecognizer)
                               .SetFacing(CameraFacing.Back)
                               .SetRequestedPreviewSize(1280, 1024)
                               .SetRequestedFps(2.0f)
                               .SetAutoFocusEnabled(true)
                               .Build();

                cameraView.Holder.AddCallback(this);
                textRecognizer.SetProcessor(this);
            }

            //btnCircularCheckButon = FindViewById<CircularPulsingButton>(Resource.Id.btnCircularCheck);

            //btnCircularCheckButon.Click +=//btnCircularCheckButon_Click;
        }
Esempio n. 23
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Activity_camera);

            xmlDb          = new XmlDb(this);
            cardrepo       = new CardRepository();
            chargedNumbers = new List <string>();

            camView               = FindViewById <SurfaceView>(Resource.Id.MainSurfaceView);
            tv                    = FindViewById <TextView>(Resource.Id.txt);
            flashImage            = FindViewById <ImageView>(Resource.Id.imageViewFlash);
            flashImage.Visibility = ViewStates.Visible;

            TextRecognizer txtRecognizer = new TextRecognizer.Builder(ApplicationContext).Build();

            if (!txtRecognizer.IsOperational)
            {
                //https://stackoverflow.com/questions/38254349/google-mobile-vision-text-api-example
                IntentFilter lowstorageFilter = new IntentFilter(Intent.ActionDeviceStorageLow);
                bool         hasLowStorage    = RegisterReceiver(null, lowstorageFilter) != null;

                if (hasLowStorage)
                {
                    string ok      = GetString(Resource.String.home_ok);
                    var    builder = new Android.Support.V7.App.AlertDialog.Builder(this);
                    builder.SetIconAttribute
                        (Android.Resource.Attribute.AlertDialogIcon);
                    builder.SetTitle("");
                    builder.SetMessage(GetString(Resource.String.cam_lowStorage));
                    builder.SetPositiveButton(ok, delegate { });
                    builder.Create().Show();
                    //Toast.MakeText(this, " Low Storage, delete some files", ToastLength.Long).Show();
                }
                Toast.MakeText(this, GetString(Resource.String.cam_Detector_not_ready), ToastLength.Short).Show();
                Log.Error("CameraActivity", "Detector not ready");
            }
            else
            {
                camSource = new CameraSource.Builder(ApplicationContext, txtRecognizer)
                            .SetFacing(CameraFacing.Back)
                            .SetRequestedPreviewSize(1280, 1024)
                            .SetRequestedFps(2.0f)
                            .SetAutoFocusEnabled(true)
                            .Build();

                camView.Holder.AddCallback(this);

                txtRecognizer.SetProcessor(this);
            }

            GetChargedList();

            #region Flash light
            // FlashlightIsAvailableOrNot();
            // mCameraManager = (CameraManager)GetSystemService(Context.CameraService);

            //try
            //{
            //    mCameraId = mCameraManager.GetCameraIdList()[0];
            //}
            //catch (CameraAccessException e)
            //{
            //    e.PrintStackTrace();
            //}
            //CameraDeviceCallback callBack = new CameraDeviceCallback();
            //mCameraManager.OpenCamera(mCameraId, callBack, null);
            //mCameraDevice = callBack.Device;

            //mPreviewBuilder = mCameraDevice.CreateCaptureRequest(CameraTemplate.Preview);

            /*
             * mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
             *
             * Surface previewSurface = new Surface(texture);
             * mPreviewBuilder.addTarget(previewSurface);
             */

            flashImage.Click += FlashImage_Click;
            #endregion
            redBox = FindViewById <ImageView>(Resource.Id.imageViewRedBox);


            #region banner ads
            var adView    = FindViewById <AdView>(Resource.Id.adView);
            var adRequest = new AdRequest.Builder().Build();
            adView.LoadAd(adRequest);
            #endregion
        }