Example #1
0
        public static Bitmap Laplacian5x5Filter(this Bitmap sourceBitmap,
                                                bool grayscale = true)
        {
            Bitmap resultBitmap = ExtBitmap.ConvolutionFilter(sourceBitmap,
                                                              Matrix.Laplacian5x5, 1.0, 0, grayscale);

            return(resultBitmap);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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;
        }