private async void TakePhoto_Click(object sender, EventArgs e) { try { _camera.StopPreview(); var imageBitmap = _textureView.Bitmap; analyseButton.Visibility = ViewStates.Visible; retakeButton.Visibility = ViewStates.Visible; takePhoto.Visibility = ViewStates.Invisible; using (var imageStream = new MemoryStream()) { var preparedBitmap = ImagePreparer.PrepareForRecognition(imageBitmap); preparedBitmap = SBSDK.ApplyImageFilter(preparedBitmap, ScanbotSDK.Xamarin.ImageFilter.Binarized); await preparedBitmap.CompressAsync(Bitmap.CompressFormat.Jpeg, 100, imageStream); img = preparedBitmap.Copy(preparedBitmap.GetConfig(), true); imageBitmap.Recycle(); //resizedBitmap.Recycle(); preparedBitmap.Recycle(); }; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("*************************\n" + ex.Message); } }
protected void ApplyFilterOnDocumentImage(ImageFilter filter) { DebugLog("Applying image filter on " + documentImageUrl); Task.Run(() => { // The SDK call is sync! var resultImage = SBSDK.ApplyImageFilter(documentImageUrl, filter); DebugLog("Image filter result: " + resultImage); ShowImageView(resultImage); }); }
void ApplyImageFilter(ImageFilter filter) { DebugLog("Applying image filter " + filter + " on image: " + documentImageUri); try { Task.Run(() => { // The SDK call is sync! var resultImage = SBSDK.ApplyImageFilter(documentImageUri, filter); documentImageUri = MainApplication.TempImageStorage.AddImage(resultImage); ShowImageView(resultImage); }); } catch (Exception e) { ErrorLog("Error applying image filter", e); } }
/// <summary> /// Make photo black and white thus removing noise and shadows /// </summary> /// <param name="image"></param> /// <returns></returns> public static Bitmap Binarize(Bitmap image) { return(SBSDK.ApplyImageFilter(image, ImageFilter.Binarized)); }