private string reconhecerCaptcha(Image img) { Bitmap _bitmap = new Bitmap(img); _bitmap = _bitmap.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); Closing close = new Closing(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); bc.MinHeight = 10; FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter); pictureBox1.Image = seq.Apply(_bitmap); string recognedString = OCR((Bitmap)pictureBox1.Image); return(recognedString); }
public static Bitmap ProcessBlob(Bitmap img) { BlobCounterBase bc = new BlobCounter(); // set filtering options bc.FilterBlobs = true; bc.MinWidth = 2; bc.MinHeight = 2; // set ordering options bc.ObjectsOrder = ObjectsOrder.Size; // process binary image bc.ProcessImage(Grayscale.CommonAlgorithms.BT709.Apply(img)); Blob[] blobs = bc.GetObjectsInformation(); // extract the biggest blob if (blobs.Length > 0) { bc.ExtractBlobsImage(img, blobs[0], true); // create filter BlobsFiltering filter = new BlobsFiltering(); // apply the filter Bitmap biggestBlobsImage = filter.Apply(img); return(biggestBlobsImage); } return(img); }
private void InitializeFilters() { grayscaleFilter = new Grayscale(0.299, 0.587, 0.114); bradleyLocalFilter = new BradleyLocalThresholding(); bradleyLocalFilter.WindowSize = 9; bradleyLocalFilter.PixelBrightnessDifferenceLimit = 0.01f; plateBlobsFiltering = new BlobsFiltering(10, 20, 80, 66); blobCounter = new BlobCounter(); blobCounter.FilterBlobs = true; blobCounter.MinWidth = 50; blobCounter.MinHeight = 10; blobCounter.MaxWidth = 520; blobCounter.MaxHeight = 110; plateBlobCounter = new BlobCounter(); shapeChecker = new SimpleShapeChecker(); otsuThresholdFilter = new OtsuThreshold(); fillHoles = new FillHoles(); fillHoles.MaxHoleWidth = 100; fillHoles.MaxHoleHeight = 40; pen = new Pen(Color.GreenYellow, 4); openingFilter = new Opening(); contrastCorrectionFilter = new ContrastCorrection(80); colorFiltering = new ColorFiltering(); colorFiltering.Red = new IntRange(150, 255); colorFiltering.Green = new IntRange(150, 255); colorFiltering.Blue = new IntRange(150, 255); colorFiltering.FillOutsideRange = true; invert = new Invert(); }
public Bitmap ExtractHandContour(Bitmap img) { // create filter to remove noise (small blobs) BlobsFiltering filterB = new BlobsFiltering(); // configure filter //filterB.CoupledSizeFiltering = true; filterB.MinWidth = 200; filterB.MinHeight = 400; // apply the filter this.imgHandContour = filterB.Apply(img); this.imgHandContour = this.Invert(); int iVerticalOffset = 150; //cut bottom noise Bitmap newImg = new Bitmap(this.imgHandContour.Width, this.imgHandContour.Height - iVerticalOffset, System.Drawing.Imaging.PixelFormat.Format24bppRgb); for (int x = 0; x < this.imgHandContour.Width; x++) { for (int y = 0; y < this.imgHandContour.Height - iVerticalOffset; y++) { //if(this.imgHandContour.GetPixel(x,y).Name != "ffffffff") newImg.SetPixel(x, y, this.imgHandContour.GetPixel(x, y)); } } return(newImg); //return imgHandContour; }
private Bitmap LimparImagem(Image img) { var imagem = new Bitmap(img); imagem = imagem.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); var inverter = new Invert(); var cor = new ColorFiltering { Blue = new AForge.IntRange(200, 255), Red = new AForge.IntRange(200, 255), Green = new AForge.IntRange(200, 255) }; var open = new Opening(); var bc = new BlobsFiltering(); var gs = new GaussianSharpen(); var cc = new ContrastCorrection(); bc.MinHeight = 10; var seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter); imagem = seq.Apply(imagem); return(imagem); }
public static Bitmap ApplyFilters(Image img) { Bitmap imagem = new Bitmap(img); imagem = imagem.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); Closing close = new Closing(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); bc.MinHeight = 10; FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter); var filteredImage = seq.Apply(imagem); return(filteredImage); }
private string reconhecerCaptcha(Image img) { Bitmap imagem = new Bitmap(img); imagem = imagem.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); Closing close = new Closing(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); bc.MinHeight = 10; FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter); imagem = seq.Apply(imagem); //imagem.Save(Directory.GetCurrentDirectory() + "\\Captcha2.png", System.Drawing.Imaging.ImageFormat.Png); string reconhecido = OCR(imagem); //string reconhecido = ocr.Principal(Directory.GetCurrentDirectory() + "\\Captcha2.png"); return(reconhecido); }
public static Task <(Bitmap, string)> DeCaptchAsync(Image img) { return((Task <(Bitmap, string)>)Task.Run(() => { string value; Bitmap bmp = new Bitmap(img); bmp = bmp.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); //cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(50, 255); //cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering() { MinHeight = 10 }; Closing close = new Closing(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter, dilatation); Image image = seq.Apply(bmp); value = OCR((Bitmap)image); return ((Bitmap)image, value); })); }
private string reconhecerCaptcha(Image img) { Bitmap imagem = new Bitmap(img); imagem = imagem.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); Closing close = new Closing(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); bc.MinHeight = 10; GrayscaleRMY gray = new GrayscaleRMY(); Threshold thr = new Threshold(200); Difference diff = new Difference(dilatation.Apply(imagem)); FiltersSequence seq = new FiltersSequence(diff, inverter, erosion, gray, thr, cc); pictureBox.Image = seq.Apply(imagem); string reconhecido = OCR((Bitmap)pictureBox.Image); return(reconhecido); }
public mFigureFilter() { BitmapType = BitmapTypes.GrayscaleBT709; Effect = new BlobsFiltering(); filter = Effect; }
public BlobsFilteringUserControl(BlobsFiltering filter) : this() { minWidthNumericUpDown.Value = filter.MinWidth; maxWidthNumericUpDown.Value = filter.MaxWidth; minHeightNumericUpDown.Value = filter.MinHeight; maxHeightNumericUpDown.Value = filter.MaxHeight; }
public static Bitmap BlobsFiltering(Bitmap Imagem) { BlobsFiltering filter = new BlobsFiltering(); Imagem = Imagem.Clone(new Rectangle(0, 0, Imagem.Width, Imagem.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Imagem = filter.Apply(Imagem); return(Imagem); }
private Bitmap ProcessImageBlobsFiltering(Bitmap img) { BlobsFiltering blobsFiltering = new BlobsFiltering(); blobsFiltering.CoupledSizeFiltering = true; blobsFiltering.MinWidth = minWidth; blobsFiltering.MinHeight = minHeight; return(blobsFiltering.Apply(img)); }
//blob filter private void blob() { Bitmap gambar = (Bitmap)crop_image.Image; BlobsFiltering filter = new BlobsFiltering(); filter.CoupledSizeFiltering = true; filter.MinWidth = 100; filter.MinHeight = 150; crop_image.Image = filter.Apply(gambar); }
public mFigureFilter(wDomain WidthRange, wDomain HeightRange) { Width = WidthRange; Height = HeightRange; BitmapType = BitmapTypes.GrayscaleBT709; Effect = new BlobsFiltering((int)Width.T0, (int)Height.T0, (int)Width.T1, (int)Height.T1); filter = Effect; }
//------------------------------------------------------------- private void process_imginput(Bitmap img, String Plate_Type) { //grayscale IFilter way_filt;//= new GrayscaleY(); //process_image = way_filt.Apply(img); //resize if (Plate_Type == "1hang") { way_filt = new ResizeBilinear(600, 120); //bien 1 hang } else { way_filt = new ResizeBilinear(300, 200); //bien 2 hang } process_image = way_filt.Apply(img); //process_image = get_plate(process_image, 10, 210, 30, 330); input_image = way_filt.Apply(input_image); p = process_image; //threshold way_filt = new Threshold(125); process_image = way_filt.Apply(process_image); //K-means process_image = kmean(process_image); //invert way_filt = new Invert(); process_image = way_filt.Apply(process_image); //liembt //UCM way_filt = new Median(); process_image = way_filt.Apply(process_image); //way_filt = new AdaptiveSmooth(); //process_image = way_filt.Apply(process_image); //end liembt //filter k BlobsFiltering filter = new BlobsFiltering(); filter.MinHeight = 25;//50 filter.MinWidth = 10; filter.MaxHeight = 100; filter.ApplyInPlace(process_image); //p = process_image; input_width = process_image.Width; input_height = process_image.Height; }
public ListBoxItem Save() { var minWidth = (int)minWidthNumericUpDown.Value; var maxWidth = (int)maxWidthNumericUpDown.Value; var minHeight = (int)minHeightNumericUpDown.Value; var maxHeight = (int)maxHeightNumericUpDown.Value; var filter = new BlobsFiltering(minWidth, minHeight, maxWidth, maxHeight); var text = $"BlobsFiltering ({minWidth}, {maxWidth} - {minHeight}, {maxHeight})"; return(new ListBoxItem(text, filter)); }
public List <Bitmap> PreHandle2(Bitmap original) { var preOcr = new FiltersSequence( Grayscale.CommonAlgorithms.RMY, new BradleyLocalThresholding()); var grayscale = preOcr.Apply(original); GrayImg.Source = Bitmap2BitmapImageSource(grayscale); var filter = new BlobsFiltering { CoupledSizeFiltering = true, MinHeight = 6, MinWidth = 6 }; var filterImage = filter.Apply(new Invert().Apply(grayscale)); ThresholdImg.Source = Bitmap2BitmapImageSource(filterImage); var invertImg = new Invert().Apply(filterImage); DoneImg.Source = Bitmap2BitmapImageSource(invertImg); var labels = new ConnectedComponentsLabeling(); labels.BlobCounter.ObjectsOrder = ObjectsOrder.XY; labels.Apply(filterImage); var bitmaps = new List <Bitmap>(); for (int i = 0; i < labels.ObjectCount; i++) { var candidate = labels.BlobCounter.GetObjectsInformation()[i]; var edgePoint = labels.BlobCounter.GetBlobsEdgePoints(candidate); labels.BlobCounter.ExtractBlobsImage(filterImage, candidate, false); if (candidate.Image != null) { var charcter = new Invert().Apply(candidate.Image.ToManagedImage()); var resizer = new ResizeBilinear(10, 10); var finalImage = resizer.Apply(charcter); bitmaps.Add(finalImage); TesseractEngine a = new TesseractEngine(@"./tessdata", "eng", EngineMode.TesseractAndCube); Page p = a.Process(finalImage); TBlock.Text += p.GetText(); } } return(bitmaps); }
Pen greenPen = new Pen(Color.Green, 7); //is answer // public Form1() { InitializeComponent(); /*---filters---*/ brightnessFilter = new BrightnessCorrection(brightnessLevel); invertFilter = new Invert(); smoothFilter = new AdaptiveSmoothing(smoothFactor); thresholdFilter = new Threshold(thresholdLevel); blobFilter = new BlobsFiltering(); /*---tools---*/ blobCounter = new BlobCounter(); shapeChecker = new SimpleShapeChecker(); }
public mFigureFilter(wDomain WidthRange, wDomain HeightRange, bool coupled) { Width = WidthRange; Height = HeightRange; Coupled = coupled; BitmapType = BitmapTypes.GrayscaleBT709; Effect = new BlobsFiltering((int)Width.T0, (int)Height.T0, (int)Width.T1, (int)Height.T1); Effect.CoupledSizeFiltering = Coupled; filter = Effect; }
private void extractLargestBlob() { ExtractBiggestBlob biggestBlob = new ExtractBiggestBlob(); Bitmap newImage = biggestBlob.Apply(imageGot); int newImHeight = newImage.Height; int newImWidth = newImage.Width; // create filter BlobsFiltering filter = new BlobsFiltering(); filter.CoupledSizeFiltering = true; filter.MinWidth = newImHeight; filter.MinHeight = newImWidth; imageGot = filter.Apply(imageGot); pictureBox1.Image = imageGot; }
private void filterBlobs() // Filter blobs { // Delare image Bitmap bmp = new Bitmap(pictureBox1.Image); // create filter BlobsFiltering filter = new BlobsFiltering(); // configure filter filter.CoupledSizeFiltering = true; filter.MinWidth = 70; filter.MinHeight = 70; // apply the filter filter.ApplyInPlace(bmp); pictureBox1.Image = bmp; }
//verilen sınır değerlerden küçük şekilleri göz ardı eder private void button5_Click(object sender, EventArgs e) { //filtre oluşturuldu BlobsFiltering filtre = new BlobsFiltering(); //filtre ayarları yapıldı filtre.CoupledSizeFiltering = true; filtre.MinWidth = 70; filtre.MinHeight = 70; //burada bazıları ApplyInPlace() fonksiyonunu kullanıyor //ben Apply() fonksiyonunu kullanıyorum //ApplyInPlace() fonksiyonunu daha önce hiç kullanmadım, nasıl çalıştığınıda çözemedim zaten:) Bitmap newImage = filtre.Apply((Bitmap)pictureBox1.Image); pictureBox1.Image = newImage; }
private void InitFilters() { L_brownFilter = new ColorFiltering(); D_brownFilter = new ColorFiltering(); L_brownFilter.Red = new IntRange(125, 140); L_brownFilter.Green = new IntRange(95, 110); L_brownFilter.Blue = new IntRange(110, 130); D_brownFilter.Red = new IntRange(55, 85); D_brownFilter.Green = new IntRange(45, 75); D_brownFilter.Blue = new IntRange(45, 75); blobFilter = new BlobsFiltering(); blobFilter.CoupledSizeFiltering = true; blobFilter.MinWidth = 70; blobFilter.MinHeight = 70; diffFilter = new Difference(); diffFilter.OverlayImage = back; thresholdFilter = new Threshold(40); erosionFilter = new Erosion(); edgeFilter = new Edges(); openFilter = new Opening(); pixelFilter = new Pixellate(); morphFilter = new Morph(); morphFilter.SourcePercent = 0.9; towardsFilter = new MoveTowards(); towardsFilter.StepSize = 10; blobCounter = new BlobCounter(); blobGrabber = new ExtractBiggestBlob(); }
public static Bitmap Limpar(Image img) { Bitmap imagem = new Bitmap(img); Bitmap newBitmap = new Bitmap(imagem.Width, imagem.Height); Graphics g = Graphics.FromImage(newBitmap); g.FillRectangle(Brushes.White, 0, 0, imagem.Width, imagem.Height); ColorMatrix colorMatrix = new ColorMatrix( new float[][] { new float[] { .3f, .3f, .3f, 0, 0 }, new float[] { .59f, .59f, .59f, 0, 0 }, new float[] { .11f, .11f, .11f, 0, 0 }, new float[] { 0, 0, 0, 1, 0 }, new float[] { 0, 0, 0, 0, 1 } }); ImageAttributes attributes = new ImageAttributes(); attributes.SetColorMatrix(colorMatrix); g.DrawImage(imagem, new Rectangle(0, (int)(imagem.Height * 0.1), imagem.Width, (int)(imagem.Height * 0.8)), 0, imagem.Height * 0.1f, imagem.Width, imagem.Height * 0.8f, GraphicsUnit.Pixel, attributes); g.Dispose(); imagem = newBitmap; imagem = imagem.Clone(new Rectangle(0, 0, img.Width, img.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); bc.MinHeight = 3; FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter); return((Bitmap)seq.Apply(imagem)); }
private static string ResoudreItalien(Bitmap captcha) { Bitmap imagem = captcha; imagem = imagem.Clone(new Rectangle(0, 0, captcha.Width, captcha.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); Closing close = new Closing(); GaussianSharpen gs = new GaussianSharpen(); ContrastCorrection cc = new ContrastCorrection(); bc.MinHeight = 10; FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, inverter, open, cc, cor, bc, inverter); string reconhecido = OCRItalien((Bitmap)seq.Apply(imagem)); return reconhecido; }
public static Bitmap FormatImageRecaptcha(Bitmap imagem) { imagem = imagem.Clone(new Rectangle(0, 0, imagem.Width, imagem.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Erosion erosion = new Erosion(); Dilatation dilatation = new Dilatation(); Closing close = new Closing(); Invert inverter = new Invert(); ColorFiltering cor = new ColorFiltering(); cor.Blue = new AForge.IntRange(200, 255); cor.Red = new AForge.IntRange(200, 255); cor.Green = new AForge.IntRange(200, 255); Opening open = new Opening(); BlobsFiltering bc = new BlobsFiltering(); bc.MinHeight = 30; // chỉ bắt các đối tượng có chiều cao >=30 GaussianSharpen gs = new GaussianSharpen(1, 2); // tăng độ đậm của chi tiết lên gấp đôi ContrastCorrection cc = new ContrastCorrection(); FiltersSequence seq = new FiltersSequence(gs, inverter, open, inverter, bc, open, cc, bc, cor); return(seq.Apply(imagem)); }
private void kullanilacakcihaz_NewFrame(object sender, NewFrameEventArgs eventArgs) { Bitmap image = (Bitmap)eventArgs.Frame.Clone(); Bitmap image1 = (Bitmap)eventArgs.Frame.Clone(); image = new Mirror(false, true).Apply(image); görüntü_box.Image = image; EuclideanColorFiltering filter = new EuclideanColorFiltering(); filter.CenterColor = new RGB(Color.FromArgb(red, green, blue)); // Algılanacak Renk ve merkez noktası bulunur. filter.Radius = 80; filter.ApplyInPlace(image1); //Filitre Çalıştırılır. cevreal(image1); // Algilanan rengi Çevrçevelemek veya hedeflemek için gerekli Method. BlobsFiltering filter2 = new BlobsFiltering( ); // Belirli Piksel Altındaki Görüntüler Alınmadı. filter2.CoupledSizeFiltering = true; filter2.MinWidth = 100; filter2.MinHeight = 60; filter2.ApplyInPlace(image1); image1 = new Mirror(false, true).Apply(image1); pictureBox2.Image = image1; }
public Bitmap PreHandle(Bitmap b) { var bnew = new Bitmap(b.Width, b.Height, PixelFormat.Format24bppRgb); var g = Graphics.FromImage(bnew); g.DrawImage(b, 0, 0); g.Dispose(); BppImg.Source = Bitmap2BitmapImageSource(b); //Gray //b = new Grayscale(0.2125, 0.7154, 0.0721).Apply(b); b = new Grayscale(0.11, 0.59, 0.3).Apply(b); GrayImg.Source = Bitmap2BitmapImageSource(b); b = new Threshold(179).Apply(b); ThresholdImg.Source = Bitmap2BitmapImageSource(b); b = new BlobsFiltering(1, 1, b.Width, b.Height).Apply(b); return(b); }
public static List <Bitmap> CutImages(Bitmap bitmap, Action <Bitmap> act = null) { Bitmap sourceBitmap = bitmap; Bitmap targetBitmap = (Bitmap)sourceBitmap.Clone(); if (!AForge.Imaging.Image.IsGrayscale(targetBitmap)) { targetBitmap = AForge.Imaging.Image.Clone(targetBitmap, PixelFormat.Format24bppRgb); targetBitmap = Grayscale.CommonAlgorithms.BT709.Apply(targetBitmap); } if (act == null) { targetBitmap = new Threshold(50).Apply(targetBitmap); Invert filter = new Invert(); filter.ApplyInPlace(targetBitmap); BlobsFiltering bolbsfilter = new BlobsFiltering(); bolbsfilter.CoupledSizeFiltering = true; bolbsfilter.MinWidth = 4; bolbsfilter.MinHeight = 4; bolbsfilter.ApplyInPlace(targetBitmap); Closing binary = new Closing(); targetBitmap = binary.Apply(targetBitmap); filter.ApplyInPlace(targetBitmap); } else { act(targetBitmap); } var bit1 = Crop_Y(targetBitmap); var bit2 = Crop_X(bit1); return(ToResizeAndCenterIt(bit2)); }