AForge.Imaging.ComplexImage.ToBitmap C# (CSharp) Method

ToBitmap() public method

Convert complex image to bitmap.
public ToBitmap ( ) : Bitmap
return System.Drawing.Bitmap
        public Bitmap ToBitmap( )
        {
            // create new image
            Bitmap dstImage = AForge.Imaging.Image.CreateGrayscaleImage( width, height );

            // lock destination bitmap data
            BitmapData dstData = dstImage.LockBits(
                new Rectangle( 0, 0, width, height ),
                ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed );

            int offset = dstData.Stride - width;
            double scale = ( fourierTransformed ) ? Math.Sqrt( width * height ) : 1;

            // do the job
            unsafe
            {
                byte* dst = (byte*) dstData.Scan0.ToPointer( );

                for ( int y = 0; y < height; y++ )
                {
                    for ( int x = 0; x < width; x++, dst++ )
                    {
                        *dst = (byte) System.Math.Max( 0, System.Math.Min( 255, data[y, x].Magnitude * scale * 255 ) );
                    }
                    dst += offset;
                }
            }
            // unlock destination images
            dstImage.UnlockBits( dstData );

            return dstImage;
        }

Usage Example

Beispiel #1
0
        private void SpectraWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            if (input.Width != input.Height)
            {
                throw new System.ApplicationException(
                          "The image height and width must be the same.");
            }

            SpectraWorker.ReportProgress(0, "Computing spectra");

            // The AForge FFT requires an 8 bits per pixel input format.
            Bitmap gray_8bpp
                = AForge.Imaging.Filters.Grayscale.CommonAlgorithms.Y.Apply(input);

            AForge.Imaging.ComplexImage fft
                = ComplexImage.FromBitmap(gray_8bpp);
            fft.ForwardFourierTransform();

            SpectraWorker.ReportProgress(100, "Fourier Spectra Calculated.");
            fourier = fft.ToBitmap();
        }
All Usage Examples Of AForge.Imaging.ComplexImage::ToBitmap