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); } }
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); //} }
/// <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); } } }
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); }
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); } } }
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(); } }
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); }
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); } }
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); }
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}"); } }
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(); }
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(); } }
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()); }
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(); } }; }
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; }
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 }