public static Bitmap Laplacian5x5Filter(this Bitmap sourceBitmap, bool grayscale = true) { Bitmap resultBitmap = ExtBitmap.ConvolutionFilter(sourceBitmap, Matrix.Laplacian5x5, 1.0, 0, grayscale); return(resultBitmap); }
public static Bitmap KirschFilter(this Bitmap sourceBitmap, bool grayscale = true) { Bitmap resultBitmap = ExtBitmap.ConvolutionFilter(sourceBitmap, Matrix.Kirsch3x3Horizontal, Matrix.Kirsch3x3Vertical, 1.0, 0, grayscale); return(resultBitmap); }
public static Bitmap Laplacian5x5OfGaussian5x5Filter1(this Bitmap sourceBitmap) { Bitmap resultBitmap = ExtBitmap.ConvolutionFilter(sourceBitmap, Matrix.Gaussian5x5Type1, 1.0 / 159.0, 0, true); resultBitmap = ExtBitmap.ConvolutionFilter(resultBitmap, Matrix.Laplacian5x5, 1.0, 0, false); return(resultBitmap); }
public static Bitmap Laplacian3x3OfGaussian3x3Filter(this Bitmap sourceBitmap) { Bitmap resultBitmap = ExtBitmap.ConvolutionFilter(sourceBitmap, Matrix.Gaussian3x3, 1.0 / 16.0, 0, true); resultBitmap = ExtBitmap.ConvolutionFilter(resultBitmap, Matrix.Laplacian3x3, 1.0, 0, false); return(resultBitmap); }
private Bitmap ConvertirParaProcesar(Bitmap original) { //Bitmap clone = new Bitmap(original.Width, original.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb); //using (Graphics gr = Graphics.FromImage(clone)) //{ // gr.DrawImage(original, new Rectangle(0, 0, clone.Width, clone.Height)); //} //original.Dispose(); //return Grayscale.CommonAlgorithms.BT709.Apply(original); //Bitmap imagenEscalaDeGrises = Grayscale.CommonAlgorithms.BT709.Apply(original); //ResizeBilinear filter = new ResizeBilinear(1024, 768); //// apply the filter //Bitmap newImage = filter.Apply(original); //const float limit = 0.3f; //for (int i = 0; i < original.Width; i++) //{ // for (int j = 0; j < original.Height; j++) // { // Color c = original.GetPixel(i, j); // if (c.GetBrightness() > limit) // { // original.SetPixel(i, j, Color.White); // } // } //} Bitmap resultado = Grayscale.CommonAlgorithms.BT709.Apply(ExtBitmap.Laplacian3x3Filter(original, true)); resultado.Save("Convertida" + DateTime.Now.Millisecond + ".bmp"); original.Dispose(); return(resultado); //return clone; }