public void FrameTestCheckSum5() { // 10(dec) = 1010 (bin) Frame nfra = new Frame.Builder().SetFrame(lst1).SetControlType(new CheckSumControl(), 5).Create(); Assert.AreEqual(Convert.ToInt32(Functions.GetPartInDec(nfra.GetControlPart().GetList())), 10); }
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 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(); }
private void CreateFaceframes(FaceDetector detector, Bitmap b, long timestamp) { try { Frame newframe = new Frame.Builder().SetBitmap(b).Build(); //s.Start(); SparseArray faces = detector.Detect(newframe); //takes longest //s.Stop(); lock (obj) { //if (!_framelist.ContainsKey(index)) _framelist.Add(timestamp, faces); } } catch (System.Exception e) { Console.WriteLine(e); throw; } finally { b.Recycle(); //if (VERBOSE) // Log.Info("CreateFaceframes!!!", s.ElapsedMilliseconds.ToString()); } }
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == PickImageID && resultCode == Result.Ok && data != null) { Android.Net.Uri uri = data.Data; cameraSource.Stop(); surfaceView.Visibility = ViewStates.Gone; selectedimage.Visibility = ViewStates.Visible; mainLayout.Visibility = ViewStates.Gone; captureLayout.Visibility = ViewStates.Visible; selectedimage.SetImageURI(uri); Bitmap currentImage = MediaStore.Images.Media.GetBitmap(this.ContentResolver, uri); selectedimage.SetImageBitmap(currentImage); Frame frame = new Frame.Builder().SetBitmap(currentImage).Build(); SparseArray items = textRecognizer.Detect(frame); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < items.Size(); i++) { stringBuilder.Append(((TextBlock)items.ValueAt(i)).Value); stringBuilder.Append(" "); } textView.Text = stringBuilder.ToString(); } }
/// <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); } } }
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); } } }
public void TestGroupOfBitsCollisionPacket2() { Package pak = new Package(); List <byte> nlst1 = new List <byte> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; List <byte> ncon1 = new List <byte> { 1, 1, 1 }; Frame fra1 = new Frame.Builder().SetFrame(nlst1).SetControl(ncon1).Create(); List <byte> nlst2 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> ncon2 = new List <byte> { 0, 0, 0 }; Frame fra2 = new Frame.Builder().SetFrame(nlst2).SetControl(ncon2).Create(); List <byte> pcon2 = new List <byte> { 0, 0, 0 }; pak.AddFrame(fra1); pak.AddFrame(fra2); pak.GetControlPart().SetControlPart(pcon2); BitsCollision BC = new BitsCollision.Builder().SetBasedOnPackage(1).ChangeGroupOfBits(0).Create(); BC.DoCollision(pak, 10); Package tpak = new Package(); List <byte> tnlst1 = new List <byte> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; List <byte> tncon1 = new List <byte> { 1, 1, 1 }; Frame tfra1 = new Frame.Builder().SetFrame(tnlst1).SetControl(tncon1).Create(); List <byte> tnlst2 = new List <byte> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; List <byte> tncon2 = new List <byte> { 0, 0, 0 }; Frame tfra2 = new Frame.Builder().SetFrame(tnlst2).SetControl(tncon2).Create(); List <byte> tpcon2 = new List <byte> { 0, 0, 0 }; tpak.AddFrame(tfra1); tpak.AddFrame(tfra2); tpak.GetControlPart().SetControlPart(tpcon2); Assert.AreEqual(pak, tpak); }
public void SetFrameCRC2() { // 10(dec) = 1010 (bin) Frame nfra1 = new Frame.Builder().SetFrame(lst1).SetControlType(new CRCControl()).Create(); //nfra1.ShowControlPart(); Assert.AreEqual(nfra1.GetControlPart().GetCount(), 4); }
public void CollisionFrameCRC3() { // 10(dec) = 1010 (bin) Frame nfra1 = new Frame.Builder().SetFrame(lst1).SetControlType(new CRCControl(), 123298).Create(); //nfra1.ShowControlPart(); Assert.AreEqual(nfra1.CheckFrame(), 0); }
private void ProcessCameraPicture() { Bitmap bitmap = DecodeBitmapUri(this, imageUri); if (detector.IsOperational && bitmap != null) { editedBitmap = Bitmap.CreateBitmap(bitmap.Width, bitmap .Height, bitmap.GetConfig()); float scale = Resources.DisplayMetrics.Density; Paint paint = new Paint(PaintFlags.AntiAlias); paint.Color = Color.Green; paint.TextSize = (int)(16 * scale); paint.SetShadowLayer(1f, 0f, 1f, Color.White); paint.SetStyle(Paint.Style.Stroke); paint.StrokeWidth = 6f; Canvas canvas = new Canvas(editedBitmap); canvas.DrawBitmap(bitmap, 0, 0, paint); Frame frame = new Frame.Builder().SetBitmap(editedBitmap).Build(); SparseArray faces = detector.Detect(frame); string text = ""; for (int index = 0; index < faces.Size(); ++index) { Face face = faces.ValueAt(index) as Face; canvas.DrawRect( face.Position.X, face.Position.Y, face.Position.X + face.Width, face.Position.Y + face.Height, paint); //CREA EL RECUADRO text += "Cara " + (index + 1) + "\n"; text += "Probilidad de una sonrisa:" + " " + face.IsSmilingProbability * 100 + "\n"; text += "Probilidad que el ojo izquierdo este abierto : " + " " + face.IsLeftEyeOpenProbability * 100 + "\n"; text += "Probilidad que el ojo derecho este abierto: " + " " + face.IsRightEyeOpenProbability * 100 + "\n"; foreach (Landmark landmark in face.Landmarks) { int cx = (int)(landmark.Position.X); int cy = (int)(landmark.Position.Y); canvas.DrawCircle(cx, cy, 8, paint); // CREA EL CIRCULO } } if (faces.Size() == 0) { txtDescription.Text = "Scaneo fallido"; } else { _imageView.SetImageBitmap(editedBitmap); text += "\n\n" + "Numero de caras detectadas: " + " " + faces.Size().ToString() + "\n\n"; } txtDescription.Text = text; } else { txtDescription.Text = "No se pudo configurar el detector!"; } }
public void PackageTestCheckSum3() { // 10(dec) = 1010 (bin) Frame nfra1 = new Frame.Builder().SetFrame(lst1).SetControlType(new CheckSumControl(), 4).Create(); Package pak = new Package(); pak.AddFrame(nfra1); pak.AddFrame(nfra1); pak.SetControlType(new CheckSumControl()); pak.SetControlPartByType(1230); Assert.AreEqual(Convert.ToInt32(Functions.GetPartInDec(pak.GetControlPart().GetList())), 20); }
public void SetCRCPackage2() { // 10(dec) = 1010 (bin) Frame nfra1 = new Frame.Builder().SetFrame(lst1).SetControlType(new CRCControl()).Create(); Package pak = new Package(); pak.AddFrame(nfra1); pak.AddFrame(nfra1); pak.SetControlType(new CRCControl()); pak.SetControlPartByType(); pak.ShowControlPart(); Assert.AreEqual(pak.GetControlPart().GetCount(), 5); }
public void BitsCollisionTest1() { List <byte> nlst = new List <byte> { 1, 1, 1, 1, 0, 1, 1, 1, 1, 0 }; Frame fra = new Frame.Builder().SetFrame(nlst).SetControl(5).Create(); BitsCollision BC = new BitsCollision.Builder().SetBasedOnFrame().ChangeGroupOfBits(0).Create(); BC.DoCollision(fra, 10); List <byte> tnlst = new List <byte> { 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 }; Frame tfra = new Frame.Builder().SetFrame(tnlst).SetControl(5).Create(); Assert.AreEqual(fra, tfra); }
private async Task <string> GetTextFromImageAsync(Bitmap image) { var task = Task.Run(() => { var frame = new Frame.Builder().SetBitmap(image).Build(); var items = textRecognizer.Detect(frame); var ocrResultBuilder = new StringBuilder(); for (var i = 0; i < items.Size(); i++) { var item = (TextBlock)items.ValueAt(i); ocrResultBuilder.Append(item.Value); ocrResultBuilder.Append(" "); } var ocrResult = ocrResultBuilder.ToString(); return(ocrResult); }); return(await task); }
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 void BtnGetTextOnClick(object sender, EventArgs e) { txtRecognizer = new TextRecognizer.Builder(ApplicationContext).Build(); if (!txtRecognizer.IsOperational) { txt_text.Text = "Error"; } else { Frame fr = new Frame.Builder().SetBitmap(bitmap1).Build(); SparseArray items = txtRecognizer.Detect(fr); StringBuilder stBuilder = new StringBuilder(); for (int i = 0; i < items.Size(); i++) { TextBlock item = (TextBlock)items.ValueAt(i); stBuilder.Append(item.Value); stBuilder.Append("\n"); } txt_text.Text = stBuilder.ToString(); } }
private void Ler(object sender, EventArgs e) { if (bitmap != null) { if (!textRecognizer.IsOperational) { } else { Frame frame = new Frame.Builder().SetBitmap(bitmap).Build(); var items = textRecognizer.Detect(frame); StringBuilder sb = new StringBuilder(); for (int i = 0; i < items.Size(); i++) { var textBlock = items.ValueAt(i) as TextBlock; sb.Append(textBlock.Value); sb.Append("\n"); } txt.Text = sb.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()); }
private void DetectFace() { OnboardingActivity.ShowProgressDialog(); try { FaceDetector detector = new FaceDetector.Builder(Context) .SetMode(FaceDetectionMode.Accurate) .SetClassificationType(ClassificationType.All) .SetLandmarkType(LandmarkDetectionType.All) .SetProminentFaceOnly(true) .SetTrackingEnabled(false) .Build(); if (!detector.IsOperational) { //Handle contingency } else { Frame frame = new Frame.Builder() .SetBitmap(bitmap) .Build(); var faces = detector.Detect(frame); detector.Release(); DetectedResponse(bitmap, faces); } SaveImage(); } catch (Exception e) { OnboardingActivity.CloseProgressDialog(); OnboardingActivity.ShowErrorDialog(e.Message); } }
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(); } }; }
public void RandomCollision1() { BitsCollision BC = new BitsCollision.Builder().SetBasedOnPackage().SetRandomCollision().Create(); Package pak = new Package(); List <byte> lst1 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> con1 = new List <byte> { 0, 0, 0, 0 }; List <byte> lst2 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> con2 = new List <byte> { 0, 0, 0, 0 }; List <byte> lst3 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> con3 = new List <byte> { 0, 0, 0, 0 }; Frame fra1 = new Frame.Builder().SetFrame(lst1).SetControl(con1).Create(); Frame fra2 = new Frame.Builder().SetFrame(lst2).SetControl(con2).Create(); Frame fra3 = new Frame.Builder().SetFrame(lst3).SetControl(con3).Create(); pak.AddFrame(fra1); pak.AddFrame(fra2); pak.AddFrame(fra3); pak.GetControlPart().SetControlPart(10); Package tpak = new Package(); List <byte> tlst1 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> tcon1 = new List <byte> { 0, 0, 0, 0 }; List <byte> tlst2 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> tcon2 = new List <byte> { 0, 0, 0, 0 }; List <byte> tlst3 = new List <byte> { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; List <byte> tcon3 = new List <byte> { 0, 0, 0, 0 }; Frame tfra1 = new Frame.Builder().SetFrame(tlst1).SetControl(tcon1).Create(); Frame tfra2 = new Frame.Builder().SetFrame(tlst2).SetControl(tcon2).Create(); Frame tfra3 = new Frame.Builder().SetFrame(tlst3).SetControl(tcon3).Create(); tpak.AddFrame(tfra1); tpak.AddFrame(tfra2); tpak.AddFrame(tfra3); tpak.GetControlPart().SetControlPart(10); BC.DoCollision(pak, 10); Assert.AreEqual(Check(ref pak, ref tpak), 10); }
private void CropAndParse() { MainActivity.DetectedMotoModel = ""; MainActivity.DetectedPlate = ""; if (!txtRecognizer.IsOperational) { // Log.Error("Error", "Detector dependencies are not yet available"); } else { var maxscore = MainActivity.PlateAndMotoStats.Scores.Max(); if (maxscore > MainActivity.SCORE_THRESHOLD) { var i0 = MainActivity.PlateAndMotoStats.Scores.ToList().IndexOf(maxscore); var bboxes = MainActivity.PlateAndMotoStats.BoundingBoxes.ToList(); var ymin = bboxes[i0 * 4 + 0] * 300; var xmin = bboxes[i0 * 4 + 1] * 300; var ymax = bboxes[i0 * 4 + 2] * 300; var xmax = bboxes[i0 * 4 + 3] * 300; if (xmin < 0) { xmin = 0; } if (ymin < 0) { ymin = 0; } if (xmax > 300) { xmax = 300; } if (ymax > 300) { ymax = 300; } var w = xmax - xmin; var h = ymax - ymin; using (var builder = new Frame.Builder()) { var cfg = Android.Graphics.Bitmap.Config.Argb8888; using (var bmp = Android.Graphics.Bitmap.CreateBitmap(CopyColorsToArray(imgptr), 300, 300, cfg)) { using (var bmpc = Android.Graphics.Bitmap.CreateBitmap(bmp, (int)xmin, (int)ymin, (int)(w), (int)(h))) { if (previewbmp != null) { previewbmp.Dispose(); previewbmp = null; } previewbmp = bmpc.ToSKBitmap().ToBitmap(); var frame = builder.SetBitmap(bmpc).Build(); var items = txtRecognizer.Detect(frame); var strBuilder = new StringBuilder(); var plate = ""; for (int i = 0; i < items.Size(); i++) { var item = (TextBlock)items.ValueAt(i); var str = item.Value.Replace('\n', ' '); plate = str; strBuilder.Append("i = " + i + ": " + str + "|"); if (i > 0) { break; } } plate = ParsePlate(plate); Console.WriteLine(plate); if (CheckIsValidPlate(plate)) { MainActivity.DetectedPlate = plate; MainActivity.context.RunOnUiThread(() => { var imgView = MainActivity.context.FindViewById <ImageView>(Resource.Id.imageViewPlatePreview); imgView.SetImageBitmap(previewbmp); var txtView = MainActivity.context.FindViewById <TextView>(Resource.Id.txtObjID); txtView.Text = "Placa Detectada: " + plate + " (" + (maxscore * 100).ToString("N2") + "%)"; }); if (MainActivity.SavedDataStore.PlateNumbers.Contains(plate)) { Xamarin.Essentials.Vibration.Vibrate(2000); StartMedia("warning.mp3"); MainActivity.context.RunOnUiThread(() => { var layout = MainActivity.context.FindViewById <LinearLayout>(Resource.Id.linearLayoutLabelPanel); layout.SetBackgroundColor(Android.Graphics.Color.ParseColor("#89ff0000")); var txtView = MainActivity.context.FindViewById <TextView>(Resource.Id.txtObjID); txtView.SetTextColor(Android.Graphics.Color.Black); var imgwarning = MainActivity.context.FindViewById <ImageButton>(Resource.Id.imageButtonWarning); imgwarning.Visibility = Android.Views.ViewStates.Visible; }); } else { MainActivity.context.RunOnUiThread(() => { var layout = MainActivity.context.FindViewById <LinearLayout>(Resource.Id.linearLayoutLabelPanel); layout.SetBackgroundColor(Android.Graphics.Color.ParseColor("#bc000000")); var txtView = MainActivity.context.FindViewById <TextView>(Resource.Id.txtObjID); if (maxscore < 0.7) { txtView.SetTextColor(Android.Graphics.Color.Red); } else if (maxscore < 0.85) { txtView.SetTextColor(Android.Graphics.Color.Yellow); } else { txtView.SetTextColor(Android.Graphics.Color.LightGreen); } }); if (MainActivity.SavedDataStore.Vibrate) { Xamarin.Essentials.Vibration.Vibrate(200.0); } if (MainActivity.SavedDataStore.PlaySound) { StartMedia("pop.m4a"); } } } } } } } } }
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { if (requestCode == PHOTO_REQUEST && resultCode == Result.Ok) { LaunchMediaScanIntent(); try { Bitmap bitmap = DecodeBitmapUri(ApplicationContext, imageUri); if (detector.IsOperational && bitmap != null) { Frame frame = new Frame.Builder().SetBitmap(bitmap).Build(); SparseArray textBlocks = detector.Detect(frame); System.String blocks = ""; System.String lines = ""; System.String words = ""; var regexMoney = new Regex(@"\$ ?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$*"); for (int index = 0; index < textBlocks.Size(); index++) { //extract scanned text blocks here TextBlock tBlock = (TextBlock)textBlocks.ValueAt(index); blocks = blocks + tBlock.Value + " " + "\n"; var text = Regex.Replace(blocks.ToString(), "[A-Za-z ]", " "); Match match = regexMoney.Match(text); if (match.Success) { scanResults.Text = match.Value; break; } else { scanResults.Text = "No Price."; } // foreach (IText line in tBlock.Components) // { // //extract scanned text lines here // lines = lines + line.Value + "\n"; // foreach (IText element in line.Components) // { // //extract scanned text words here // words = words + element.Value + ", "; // } // } //} //if (textBlocks.Size() == 0) //{ // scanResults.Text = "Scan Failed: Found nothing to scan"; //} //else //{ // scanResults.Text = "Assim funcaaaaaaaaaaa"; // //scanResults.Text = scanResults.Text + "Blocks: " + "\n"; // //scanResults.Text = scanResults.Text + blocks + "\n"; // //scanResults.Text = scanResults.Text + "---------" + "\n"; // //scanResults.Text = scanResults.Text + "Lines: " + "\n"; // //scanResults.Text = scanResults.Text + lines + "\n"; // //scanResults.Text = scanResults.Text + "---------" + "\n"; // //scanResults.Text = scanResults.Text + "Words: " + "\n"; // //scanResults.Text = scanResults.Text + words + "\n"; // //scanResults.Text = scanResults.Text + "---------" + "\n"; //} } //else //{ // scanResults.Text = "Could not set up the detector!"; //} } } catch (System.Exception e) { Log.Error("OnActivityResult", e.StackTrace); } } }
public static View getProcessView(View givenView, Android.Content.Res.Resources Resources) { faceImage = (ImageView)givenView.FindViewById(Resource.Id.ImageViewFace); if (faceBitmap == null) { faceBitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.memo); faceBitmap = changeBitmapSize(faceBitmap, 1500); faceImage.SetImageBitmap(faceBitmap); tempBitmap = Bitmap.CreateBitmap(faceBitmap.Width, faceBitmap.Height, Bitmap.Config.Rgb565); canvas = new Canvas(tempBitmap); canvas.DrawBitmap(faceBitmap, 0, 0, null); } faceImage.SetImageDrawable(new BitmapDrawable(Resources, tempBitmap)); if (flowers == null) { flowers = BitmapFactory.DecodeResource(Resources, Resource.Drawable.flowers); } if (goggles == null) { goggles = BitmapFactory.DecodeResource(Resources, Resource.Drawable.glass3); } if (smoke == null) { smoke = BitmapFactory.DecodeResource(Resources, Resource.Drawable.cigarette); } buttonProcess = (Button)givenView.FindViewById(Resource.Id.buttonProcess); buttonClear = (Button)givenView.FindViewById(Resource.Id.buttonClear); buttonSave = (ImageButton)givenView.FindViewById(Resource.Id.buttonSave); AlertDialog.Builder builder = new AlertDialog.Builder(givenView.Context) .SetTitle("Save the image") .SetMessage("Are you sure to save?") .SetPositiveButton("Yes", (senderAlert, args) => { saveImage(); if (isCompressSuccessful) { Toast.MakeText(givenView.Context, "Successfuly saved!", ToastLength.Short).Show(); } else { Toast.MakeText(givenView.Context, "Failed!", ToastLength.Short).Show(); } }) .SetNegativeButton("No", (senderAlert, args) => {}); buttonProcess.Click += delegate { positions.Clear(); FaceDetector faceDetector = new FaceDetector.Builder(Android.App.Application.Context) .SetTrackingEnabled(true) .SetLandmarkType(LandmarkDetectionType.All) .SetMode(FaceDetectionMode.Fast) .Build(); if (!faceDetector.IsOperational) { Toast.MakeText(givenView.Context, "Error about faceDetector.", ToastLength.Long); return; } Frame frame = new Frame.Builder().SetBitmap(faceBitmap).Build(); SparseArray sparseArray = faceDetector.Detect(frame); for (int i = 0; i < sparseArray.Size(); i++) { Face face = (Face)sparseArray.ValueAt(i); DetectLandMarks(face); } ; int leftEyeX = positions.Find(x => x.id == "leftEye").positionX; int rightEyeX = positions.Find(x => x.id == "rightEye").positionX; int rightEyeY = positions.Find(x => x.id == "rightEye").positionY; int eyeWidth = leftEyeX - rightEyeX; goggles = changeBitmapSize(goggles, eyeWidth * 2); int glassScaleHeight = goggles.GetScaledHeight(canvas); canvas.DrawBitmap(goggles, rightEyeX - (eyeWidth / 2) + 5, rightEyeY - (glassScaleHeight / 2) - 2, null); flowers = changeBitmapSize(flowers, eyeWidth * 2); int flowersScaleWidth = flowers.GetScaledWidth(canvas); int mouthY = positions.Find(x => x.id == "bottomMouth").positionY; int noseX = positions.Find(x => x.id == "nose").positionX; int eyeMouthDifference = mouthY - rightEyeY; canvas.DrawBitmap(flowers, noseX - (flowersScaleWidth / 2), rightEyeY - (glassScaleHeight / 2) - eyeMouthDifference, null); smoke = changeBitmapSize(smoke, eyeWidth * 2); int rightMouthX = positions.Find(x => x.id == "rightMouth").positionX; int rightMouthY = positions.Find(x => x.id == "rightMouth").positionY; int cigaretteScaleWidth = smoke.GetScaledWidth(canvas); canvas.DrawBitmap(smoke, rightMouthX - (cigaretteScaleWidth - (cigaretteScaleWidth / 4)), rightEyeY - (glassScaleHeight / 2) + (eyeMouthDifference - (eyeMouthDifference / 8) - (eyeMouthDifference / 8)), null); faceImage.SetImageDrawable(new BitmapDrawable(Resources, tempBitmap)); }; buttonClear.Click += delegate { clearCanvas(); }; buttonSave.Click += delegate { var myCustomDialog = builder.Create(); myCustomDialog.Show(); }; var gridView4 = givenView.FindViewById <GridView>(Resource.Id.gridView4); gridView4.Adapter = new Adapters.GridviewAdapters.peopleGridviewAdapter(givenView.Context); gridView4.ItemClick += delegate(object sender, AdapterView.ItemClickEventArgs args) { int id = (int)args.Id; faceBitmap = BitmapFactory.DecodeResource(Resources, id); faceBitmap = changeBitmapSize(faceBitmap, 1500); faceImage.SetImageBitmap(faceBitmap); tempBitmap = Bitmap.CreateBitmap(faceBitmap.Width, faceBitmap.Height, Bitmap.Config.Rgb565); canvas = new Canvas(tempBitmap); canvas.DrawBitmap(faceBitmap, 0, 0, null); }; return(givenView); }
public void FrameTestCheckSum2() { Frame nfra = new Frame.Builder().SetFrame(lst2).SetControlType(new CheckSumControl()).Create(); Assert.AreEqual(Convert.ToInt32(Functions.GetPartInDec(nfra.GetControlPart().GetList())), 4); }
public void FrameTestCheckSum1() { Frame nfra = new Frame.Builder().SetFrame(lst0).SetControlType(new CheckSumControl()).Create(); Assert.AreEqual(nfra.GetControlPart().GetList().Sum(x => Convert.ToInt32(x)), 0); }