Additive noise filter.

The filter adds random value to each pixel of the source image. The distribution of random values can be specified by random generator.

The filter accepts 8 bpp grayscale images and 24 bpp color images for processing.

Sample usage:

// create random generator IRandomNumberGenerator generator = new UniformGenerator( new Range( -50, 50 ) ); // create filter AdditiveNoise filter = new AdditiveNoise( generator ); // apply the filter filter.ApplyInPlace( image );

Initial image:

Result image:

Inheritance: BaseInPlacePartialFilter
Exemple #1
0
        /// <summary>
        /// Generates the filtered Image.
        /// </summary>
        public Bitmap process(Bitmap frame)
        {
            IRandomNumberGenerator generator = new UniformGenerator(new Range(-1*noise, noise), System.DateTime.Now.Millisecond);

            AdditiveNoise filter = new AdditiveNoise(generator);
            Bitmap test = new Bitmap(frame.Width, frame.Height, PixelFormat.Format24bppRgb);

            for (int i = 0; i < frame.Width; i++)
            {
                for (int j = 0; j < frame.Height; j++)
                {
                    test.SetPixel(i, j, frame.GetPixel(i, j));
                }
            }

            /*    Graphics g = Graphics.FromImage(test);
            g.DrawImage(frame, 0, 0);
            g.Dispose();

            frame = test;*/
            filter.ApplyInPlace(test);
            return test;
        }