private void histogramYapmaToolStripMenuItem_Click(object sender, EventArgs e) { HistogramEqualization histogram = new HistogramEqualization(); pictureBox3.Image = histogram.Apply((Bitmap)pictureBox2.Image); pictureBox6.Image = histogram.Apply((Bitmap)pictureBox5.Image); }
public Bitmap ToHistogramEqualization(Bitmap Im) { AForge.Imaging.Filters.HistogramEqualization Img = new HistogramEqualization(); Bitmap bmImage = AForge.Imaging.Image.Clone(new Bitmap(Im), PixelFormat.Format24bppRgb); return(Img.Apply(bmImage)); }
private void button14_Click(object sender, EventArgs e) { var histogramEqualization = new HistogramEqualization(); histogramEqualization.ApplyInPlace(picture.bitmap); pictureBox1.Image = picture.bitmap; }
private void button4_Click(object sender, EventArgs e) { //Equalização de Histograma HistogramEqualization hq = new HistogramEqualization(); hq.ApplyInPlace(bmp); pb_Original.Image = bmp; }
// ========================================================= private void HistogramFunct(ref Bitmap frame) { // create filter HistogramEqualization filter = new HistogramEqualization(); // process image filter.ApplyInPlace(frame); }
public void GaborFilter() { for (int i = 0; i < 4; i++) { HistogramEqualization he = new HistogramEqualization(); bitmap = he.Apply(bitmap); } }
public mNormalizeHistogram() { BitmapType = mFilter.BitmapTypes.None; Effect = new HistogramEqualization(); Sequence.Clear(); Sequence.Add(Effect); }
public static Bitmap HistogramEquilization(Bitmap bmp) { // create filter HistogramEqualization filter = new HistogramEqualization(); // process image filter.ApplyInPlace(bmp); return(bmp); }
public Bitmap Equalize(Bitmap bmp) { HistogramEqualization filter = new HistogramEqualization(); // process image filter.ApplyInPlace(bmp); return(bmp); }
/// <summary> /// Change the pixel format of the bitmap image /// </summary> /// <param name="inputImage">Bitmapped image</param> /// <param name="newFormat">Bitmap format - 24bpp</param> /// <returns>Bitmap image</returns> private static Bitmap ChangePixelFormat(Bitmap inputImage) { var img = inputImage.Clone(new Rectangle(0, 0, inputImage.Width, inputImage.Height), inputImage.PixelFormat); var histogramEqualization = new HistogramEqualization(); var smoothing = new Mean(); histogramEqualization.ApplyInPlace(img); smoothing.ApplyInPlace(img); img = img.Clone(new Rectangle(0, 0, inputImage.Width, inputImage.Height), PixelFormat.Format24bppRgb); return(img); }
private static void Main(string[] args) { var image = TestUtils.LoadImage(@"D:\ScarIntelFinal\ScarIntel\BD\filipe_dir_an\filipe_dir_an_2.bmp"); var fp = new FingerprintTemplate(image); Bitmap img = (Bitmap)Bitmap.FromFile(@"D:\ScarIntelFinal\ScarIntel\BD\filipe_dir_an\filipe_dir_an_2.bmp"); HistogramEqualization equalization = new HistogramEqualization(); equalization.ApplyInPlace(img); img.Save("Aforge.bmp"); }
public static List <Rectangle> DetectFaces(Bitmap image) { List <Rectangle> xfaces = new List <Rectangle>(); HaarObjectDetector detector; detector = new HaarObjectDetector(new FaceHaarCascade(), 20, ObjectDetectorSearchMode.Average, 1.1f, ObjectDetectorScalingMode.SmallerToGreater); detector.UseParallelProcessing = true; detector.Suppression = 2; var grayImage = Grayscale.CommonAlgorithms.BT709.Apply(image); HistogramEqualization filter = new HistogramEqualization(); filter.ApplyInPlace(grayImage); Rectangle[] faces = detector.ProcessFrame(grayImage); xfaces.AddRange(faces); return(xfaces); }
private void Button_Click_1(object sender, RoutedEventArgs e) { if (isPressed == false) { isPressed = true; previousItem = null; if (image1.Source != null) { HistogramEqualization filter = new HistogramEqualization(); Bitmap bm = new Bitmap(currentFileName); bm = filter.Apply(bm); BitmapSource bms = BitmapToBitmapSource(bm); image1.Source = bms; backgroundWorker2.RunWorkerAsync(bm); } } }
public void HistogramEqualizationExecuteTest() { IGeometryFactory factory = new GeometryFactory(); // execute for all bands HistogramEqualization operation = new HistogramEqualization(factory.CreateSpectralPolygon(_rasterMock.Object), null); operation.Execute(); Assert.AreEqual(_rasterMock.Object.NumberOfRows, operation.Result.Raster.NumberOfRows); Assert.AreEqual(_rasterMock.Object.NumberOfColumns, operation.Result.Raster.NumberOfColumns); Assert.AreEqual(_rasterMock.Object.NumberOfBands, operation.Result.Raster.NumberOfBands); Assert.AreEqual(_rasterMock.Object.RadiometricResolution, operation.Result.Raster.RadiometricResolution); Assert.AreEqual(_rasterMock.Object.Format, operation.Result.Raster.Format); for (Int32 bandIndex = 0; bandIndex < operation.Result.Raster.NumberOfBands; bandIndex++) { AssertResultForBand(_rasterMock.Object, bandIndex, operation.Result.Raster, bandIndex); } }
private void eqHistogram_Click(object sender, RoutedEventArgs e) { ClearTextBoxes(); brightness = 0; Brightness.Value = 0; if (eqHistogram.IsChecked == true) { HistogramEqualization filter = new HistogramEqualization(); filter.ApplyInPlace(mainPhoto); Photography.Source = ToBitmapImage(mainPhoto); } else { UpdatePicture(ImageURL); Photography.Source = ToBitmapImage(mainPhoto); } mainPhotoIS = Photography.Source; UpdateHistograms(null); UpdateChannelPreviews(null); }
/// <summary> /// Perform Image Equalization /// </summary> /// <param name="weight"></param> public void Enhance(double weight) { this.Pixels = HistogramEqualization.Enhance(this, weight); this.Edits.Add(new Image(this.Pixels)); }
public static Bitmap Histogram(Bitmap bitmap) { HistogramEqualization he = new HistogramEqualization(); return(he.Apply((Bitmap)bitmap.Clone())); }
public Bitmap Process(Bitmap bitmap) { var histogramEqualizer = new HistogramEqualization(); return(histogramEqualizer.Apply(bitmap)); }
// Process image private void ProcessImage(Bitmap bitmap) { // create filter HistogramEqualization hisFilter = new HistogramEqualization(); // process image //hisFilter.ApplyInPlace(Image); // create filter ContrastCorrection contrastFilter = new ContrastCorrection(4); // apply the filter contrastFilter.ApplyInPlace(bitmap); //QuantizeImage(bitmap); Grayscale grayscaleFilter = new Grayscale(0.33, 0.33, 0.34); // apply the filter Bitmap grayImage = grayscaleFilter.Apply(bitmap); // create filter SobelEdgeDetector sobelFilter = new SobelEdgeDetector(); // apply the filter sobelFilter.ApplyInPlace(grayImage); Threshold filter = new Threshold(110); // apply the filter filter.ApplyInPlace(grayImage); if (GetIntersect(grayImage, bitmap, intersectPoint)) { //MessageBox.Show("draw"); Graphics g = Graphics.FromImage(bitmap); //Sorting for (int i = 0; i < 19; i++) { for (int j = 0; j < 19; j++) { for (int k = 0; k < 19 - 1; k++) { if (Math.Abs(intersectPoint[1, i, k]) > Math.Abs(intersectPoint[1, i, k + 1])) { int tempX = Math.Abs(intersectPoint[0, i, k]); int tempY = Math.Abs(intersectPoint[1, i, k]); intersectPoint[0, i, k] = Math.Abs(intersectPoint[0, i, k + 1]); intersectPoint[1, i, k] = Math.Abs(intersectPoint[1, i, k + 1]); intersectPoint[0, i, k + 1] = tempX; intersectPoint[1, i, k + 1] = tempY; //MessageBox.Show(i + " " + k +" " +tempX + " " + tempY + " " + intersectPoint[0, i, k] + " " + intersectPoint[1, i, k] ,"ok", MessageBoxButtons.OK); } } } } for (int i = 0; i < 19; i++) { for (int j = 0; j < 19; j++) { for (int k = 0; k < 19 - 1; k++) { if (Math.Abs(intersectPoint[0, k, i]) > Math.Abs(intersectPoint[0, k + 1, i])) { int tempX = Math.Abs(intersectPoint[0, k, i]); int tempY = Math.Abs(intersectPoint[1, k, i]); intersectPoint[0, k, i] = intersectPoint[0, k + 1, i]; intersectPoint[1, k, i] = intersectPoint[1, k + 1, i]; intersectPoint[0, k + 1, i] = tempX; intersectPoint[1, k + 1, i] = tempY; } } } } Pen redPen = new Pen(Color.Red, 4); for (int i = 0; i < 19; i++) { for (int j = 0; j < 19; j++) { g.DrawEllipse(redPen, Math.Abs(intersectPoint[0, i, j]), Math.Abs(intersectPoint[1, i, j]), (int)5, (int)5); //g.DrawEllipse(redPen, 0, 0, (int)5, (int)5); //Debug.WriteLine((Math.Abs(intersectPoint[0, i, j]) - 2) + " " + (Math.Abs(intersectPoint[1, i, j]) - 2)); } } Pen greenPen = new Pen(Color.Green, 4); greenPen.Dispose(); redPen.Dispose(); g.Dispose(); // Initializes the variables to pass to the MessageBox.Show method. EspacioCamera.Image = bitmap; string message = "Do you accecpt this detection?"; string caption = "The system found totally 38 lines."; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons); if (result == System.Windows.Forms.DialogResult.Yes) { // Closes the parent form. locked = true; } } EspacioCamera.Image = bitmap; }
private void ImageHistogram(Bitmap bmp) // 이미지 평활화 함수 { HistogramEqualization filter = new HistogramEqualization(); filter.ApplyInPlace(bmp); }
public override Bitmap ApplyFilter(List <Bitmap> bitmaps) { HistogramEqualization filter = new HistogramEqualization(); return(filter.Apply(bitmaps[0])); }
public static Bitmap HistogramEqualization(Bitmap sourceImage) { var filter = new HistogramEqualization(); return(filter.Apply(sourceImage)); }
public static Bitmap EqualizeHistogram(Bitmap input) { HistogramEqualization equalizer = new HistogramEqualization(); return(equalizer.Apply(input)); }
public static byte[] ApplyFilter(byte[] imageBytes, ImageProcessingFilters filter, ImageFormat format = null) { IFilter baseFilter = null; switch (filter) { case ImageProcessingFilters.Default: return(imageBytes); case ImageProcessingFilters.GrayscaleBT709: baseFilter = new GrayscaleBT709(); break; case ImageProcessingFilters.GrayscaleRMY: baseFilter = new GrayscaleRMY(); break; case ImageProcessingFilters.GrayscaleY: baseFilter = new GrayscaleY(); break; case ImageProcessingFilters.BayerFilter: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new ExtractChannel(RGB.B)); ((FiltersSequence)baseFilter).Add(new BayerFilter()); break; /* * case ImageProcessingFilters.ImageWarp: * baseFilter = new ImageWarp( * break; * */ case ImageProcessingFilters.Channel_Red: baseFilter = new ExtractChannel(RGB.R); break; case ImageProcessingFilters.Channel_Green: baseFilter = new ExtractChannel(RGB.G); break; case ImageProcessingFilters.Channel_Blue: baseFilter = new ExtractChannel(RGB.B); break; case ImageProcessingFilters.WaterWave: baseFilter = new WaterWave(); ((WaterWave)baseFilter).HorizontalWavesCount = 10; ((WaterWave)baseFilter).HorizontalWavesAmplitude = 5; ((WaterWave)baseFilter).VerticalWavesCount = 3; ((WaterWave)baseFilter).VerticalWavesAmplitude = 15; break; case ImageProcessingFilters.Sepia: baseFilter = new Sepia(); break; case ImageProcessingFilters.BrightnessCorrection: baseFilter = new BrightnessCorrection(-50); break; case ImageProcessingFilters.ContrastCorrection: baseFilter = new ContrastCorrection(15); break; case ImageProcessingFilters.SaturationCorrection1: baseFilter = new SaturationCorrection(-0.5f); break; case ImageProcessingFilters.SaturationCorrection2: baseFilter = new SaturationCorrection(-.25f); break; case ImageProcessingFilters.SaturationCorrection3: baseFilter = new SaturationCorrection(+0.5f); break; case ImageProcessingFilters.Invert: baseFilter = new Invert(); break; case ImageProcessingFilters.Blur: baseFilter = new Blur(); break; case ImageProcessingFilters.RotateChannels: baseFilter = new RotateChannels(); break; case ImageProcessingFilters.RotateChannels2: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new RotateChannels()); ((FiltersSequence)baseFilter).Add(new RotateChannels()); break; case ImageProcessingFilters.AdditiveNoise: IRandomNumberGenerator generator = new UniformGenerator(new Range(-50, 50)); baseFilter = new AdditiveNoise(generator); break; case ImageProcessingFilters.GammaCorrection: baseFilter = new GammaCorrection(0.5); break; case ImageProcessingFilters.HistogramEqualization: baseFilter = new HistogramEqualization(); break; case ImageProcessingFilters.OrderedDithering: byte[,] matrix = new byte[4, 4] { { 95, 233, 127, 255 }, { 159, 31, 191, 63 }, { 111, 239, 79, 207 }, { 175, 47, 143, 15 } }; baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new GrayscaleBT709()); ((FiltersSequence)baseFilter).Add(new OrderedDithering(matrix)); break; case ImageProcessingFilters.Pixallete: baseFilter = new Pixellate(); break; case ImageProcessingFilters.SimplePosterization: baseFilter = new SimplePosterization(); break; case ImageProcessingFilters.Texturer_Textile: baseFilter = new Texturer(new AForge.Imaging.Textures.TextileTexture(), 0.3, 0.7); break; case ImageProcessingFilters.Texturer_Cloud: baseFilter = new Texturer(new AForge.Imaging.Textures.CloudsTexture(), 0.3, 0.7); break; case ImageProcessingFilters.Texturer_Marble: baseFilter = new Texturer(new AForge.Imaging.Textures.MarbleTexture(), 0.3, 0.7); break; case ImageProcessingFilters.Texturer_Wood: baseFilter = new Texturer(new AForge.Imaging.Textures.WoodTexture(), 0.3, 0.7); break; case ImageProcessingFilters.Texturer_Labyrinth: baseFilter = new Texturer(new AForge.Imaging.Textures.LabyrinthTexture(), 0.3, 0.7); break; case ImageProcessingFilters.SobelEdgeDetector: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new ExtractChannel(RGB.R)); ((FiltersSequence)baseFilter).Add(new SobelEdgeDetector()); break; case ImageProcessingFilters.SobelEdgeDetectorInvert: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new ExtractChannel(RGB.R)); ((FiltersSequence)baseFilter).Add(new SobelEdgeDetector()); ((FiltersSequence)baseFilter).Add(new Invert()); break; case ImageProcessingFilters.SobelEdgeDetectorSepia: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new ExtractChannel(RGB.R)); ((FiltersSequence)baseFilter).Add(new SobelEdgeDetector()); ((FiltersSequence)baseFilter).Add(new GrayscaleToRGB()); ((FiltersSequence)baseFilter).Add(new Sepia()); break; case ImageProcessingFilters.SobelEdgeDetectorSepiaCanvas: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new ExtractChannel(RGB.R)); ((FiltersSequence)baseFilter).Add(new SobelEdgeDetector()); ((FiltersSequence)baseFilter).Add(new GrayscaleToRGB()); ((FiltersSequence)baseFilter).Add(new Sepia()); ((FiltersSequence)baseFilter).Add(new SimplePosterization()); ((FiltersSequence)baseFilter).Add(new Texturer(new AForge.Imaging.Textures.TextileTexture(), 0.3, 0.7)); break; case ImageProcessingFilters.Drawing: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new GrayscaleBT709()); ((FiltersSequence)baseFilter).Add(new SobelEdgeDetector()); ((FiltersSequence)baseFilter).Add(new Invert()); ((FiltersSequence)baseFilter).Add(new SimplePosterization()); break; case ImageProcessingFilters.DrawingSepia: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new GrayscaleBT709()); ((FiltersSequence)baseFilter).Add(new SobelEdgeDetector()); ((FiltersSequence)baseFilter).Add(new Invert()); ((FiltersSequence)baseFilter).Add(new SimplePosterization()); ((FiltersSequence)baseFilter).Add(new GrayscaleToRGB()); ((FiltersSequence)baseFilter).Add(new Sepia()); break; case ImageProcessingFilters.OilCanvas: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new SimplePosterization()); ((FiltersSequence)baseFilter).Add(new Texturer(new AForge.Imaging.Textures.TextileTexture(), 0.3, 0.7)); break; case ImageProcessingFilters.OilCanvasGray: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new SimplePosterization()); ((FiltersSequence)baseFilter).Add(new Texturer(new AForge.Imaging.Textures.TextileTexture(), 0.3, 0.7)); ((FiltersSequence)baseFilter).Add(new GrayscaleBT709()); break; case ImageProcessingFilters.OilCanvasSepia: baseFilter = new FiltersSequence(); ((FiltersSequence)baseFilter).Add(new SimplePosterization()); ((FiltersSequence)baseFilter).Add(new Texturer(new AForge.Imaging.Textures.TextileTexture(), 0.3, 0.7)); ((FiltersSequence)baseFilter).Add(new Sepia()); break; } if (baseFilter == null) { return(null); } return(ApplyFilter(imageBytes, baseFilter, format)); }
public mAdjustHistogramEqualization() { BitmapType = mFilter.BitmapTypes.None; filter = new HistogramEqualization(); }