public static void ExtractRegionsDevice2(Bitmap frame1, Bitmap frame2) { frame1 = greyscaleFilter2.Apply(frame1); frame2 = greyscaleFilter2.Apply(frame2); lock (_lock2) { cropFilter2.Rectangle = Region3; ROI3 = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame1))); diffFilter2.OverlayImage = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame2))); ROI3Diff = diffFilter2.Apply(ROI3); subFilter2.OverlayImage = invertFilter2.Apply(threshFilter2.Apply(ROI3Diff)); ROI3DropDiff = subFilter2.Apply(ROI3Diff); cropFilter2.Rectangle = Region4; ROI4 = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame1))); diffFilter2.OverlayImage = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame2))); ROI4Diff = diffFilter2.Apply(ROI4); subFilter2.OverlayImage = invertFilter2.Apply(threshFilter2.Apply(ROI4Diff)); ROI4DropDiff = subFilter2.Apply(ROI4Diff); cropFilter2.Rectangle = Region7; ROI7 = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame1))); diffFilter2.OverlayImage = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame2))); ROI7Diff = diffFilter2.Apply(ROI7); subFilter2.OverlayImage = invertFilter2.Apply(threshFilter2.Apply(ROI7Diff)); ROI7DropDiff = subFilter2.Apply(ROI7Diff); cropFilter2.Rectangle = Region8; ROI8 = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame1))); diffFilter2.OverlayImage = circleFilter2.Apply(resizeFilter2.Apply(cropFilter2.Apply(frame2))); ROI8Diff = diffFilter2.Apply(ROI8); subFilter2.OverlayImage = invertFilter2.Apply(threshFilter2.Apply(ROI8Diff)); ROI8DropDiff = subFilter2.Apply(ROI8Diff); } }
public static void ExtractRegionImages1(Bitmap frame1, Bitmap frame2) { frame1 = greyscaleFilter1.Apply(frame1); frame2 = greyscaleFilter1.Apply(frame2); lock (_lock1) { cropFilter1.Rectangle = Region1; ROI1 = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame1))); diffFilter1.OverlayImage = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame2))); ROI1Diff = diffFilter1.Apply(ROI1); subFilter1.OverlayImage = invertFilter1.Apply(threshFilter1.Apply(ROI1Diff)); ROI1DropDiff = subFilter1.Apply(ROI1Diff); cropFilter1.Rectangle = Region2; ROI2 = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame1))); diffFilter1.OverlayImage = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame2))); ROI2Diff = diffFilter1.Apply(ROI2); subFilter1.OverlayImage = invertFilter1.Apply(threshFilter1.Apply(ROI2Diff)); ROI2DropDiff = subFilter1.Apply(ROI2Diff); cropFilter1.Rectangle = Region5; ROI5 = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame1))); diffFilter1.OverlayImage = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame2))); ROI5Diff = diffFilter1.Apply(ROI5); subFilter1.OverlayImage = invertFilter1.Apply(threshFilter1.Apply(ROI5Diff)); ROI5DropDiff = subFilter1.Apply(ROI5Diff); cropFilter1.Rectangle = Region6; ROI6 = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame1))); diffFilter1.OverlayImage = circleFilter2.Apply(resizeFilter1.Apply(cropFilter1.Apply(frame2))); ROI6Diff = diffFilter1.Apply(ROI6); subFilter1.OverlayImage = invertFilter1.Apply(threshFilter1.Apply(ROI6Diff)); ROI6DropDiff = subFilter1.Apply(ROI6Diff); } }
//TODO: podpiac ta funkcje do slidera gdzie bedzie ustawialo sie prog binaryzacji, blad chyba mozna ustawic programowo public Bitmap MeanInterativSelectionBinarization(Bitmap image) { // create filter IterativeThreshold filter = new IterativeThreshold(2, 128); // apply the filter Bitmap newImage = filter.Apply(image); return(newImage); }
public Bitmap BinarizacionIterativa() { Atributos atr = Atributos.getInstance(); IterativeThreshold it = new IterativeThreshold(2, (byte)atr.umbralBinarizacion); imagen = it.Apply(imagen); umbral = it.ThresholdValue; return(imagen); }
/// <summary> /// Binarize image with iterative threshold filter /// </summary> /// <param name="image"></param> /// <param name="threshold">threshold for binarization</param> public static Image IterativeThreshold(this Bitmap image, byte threshold) { if (image.PixelFormat != PixelFormat.Format8bppIndexed) { throw new NotSupportedException("Filter can be applied to binary 8bpp images only"); } IterativeThreshold thresholdFilter = new IterativeThreshold(2, threshold); return(thresholdFilter.Apply(image)); }