private Image <Gray, Byte> prepareImg2(System.Drawing.Image img, int threshold, bool invertImg) { Image <Gray, Byte> GrayImg = new Image <Gray, byte>((Bitmap)img); EmgImgProcssing = new ImageProcessing_Emgu(); // create the filter BradleyLocalThresholding filter2 = new BradleyLocalThresholding(); // apply the filter filter2.ApplyInPlace(GrayImg.Bitmap); GrayImg = GrayImg.Erode(1).Dilate(5).Erode(1); // create filter Invert filter3 = new Invert(); // apply the filter filter3.ApplyInPlace(GrayImg.Bitmap); return(GrayImg); }
private Image <Gray, Byte> prepareImg3(System.Drawing.Image img, int threshold, bool invertImg) { // create filter ColorFiltering filter = new ColorFiltering(); // set color ranges to keep //filter.Red = new AForge.IntRange(125, 255); //filter.Green = new AForge.IntRange(0, 95); //filter.Blue = new AForge.IntRange(0, 95); filter.Red = new AForge.IntRange(METState.Current.target_R_min, METState.Current.target_R_max); filter.Green = new AForge.IntRange(METState.Current.target_G_min, METState.Current.target_G_max); filter.Blue = new AForge.IntRange(METState.Current.target_B_min, METState.Current.target_B_max); // apply the filter Bitmap colorChannelImg = filter.Apply((Bitmap)img); temp_Image = colorChannelImg; Image <Gray, Byte> GrayImg = new Image <Gray, byte>((Bitmap)colorChannelImg); EmgImgProcssing = new ImageProcessing_Emgu(); GrayImg = EmgImgProcssing.Filter_Threshold2(GrayImg, threshold, invertImg).Erode(1).Dilate(1); return(GrayImg); }
private Image <Gray, Byte> prepareImg1(System.Drawing.Image img, int threshold, bool invertImg) { Image <Gray, Byte> GrayImg = new Image <Gray, byte>((Bitmap)img); EmgImgProcssing = new ImageProcessing_Emgu(); if (threshold == -1) { GrayImg = EmgImgProcssing.Filter_PupilAdaptiveThreshold(GrayImg, 20, invertImg, -1).Dilate(5).Erode(3); } else { GrayImg = EmgImgProcssing.Filter_Threshold(GrayImg, threshold, invertImg).Erode(1).Dilate(1); } return(GrayImg); }