Wavelet transform filter.
Inheritance: BaseFilter
Beispiel #1
0
        private void btnBackward_Click(object sender, EventArgs e)
        {
            // Create inverse transform
            WaveletTransform wt = new WaveletTransform(wavelet, true);

            // Apply inverse transform
            pictureBox.Image = wt.Apply(transformed);
        }
Beispiel #2
0
        private void btnForward_Click(object sender, EventArgs e)
        {
            if ((string)cbWavelet.SelectedItem == "Haar")
                wavelet = new Haar((int)numIterations.Value);
            else wavelet = new CDF97((int)numIterations.Value);


            // Create forward transform
            WaveletTransform wt = new WaveletTransform(wavelet);

            // Apply forward transform
            transformed = wt.Apply(lenna);

            pictureBox.Image = transformed;
        }
        public void WaveletTransformConstructorTest()
        {
            // Start with a grayscale image
            Bitmap src = Properties.Resources.lena512; 
            
            // Create a wavelet filter            
            IWavelet wavelet = new Accord.Math.Wavelets.Haar(2);
            WaveletTransform target = new WaveletTransform(wavelet);

            // Apply the transformation
            Bitmap dst = target.Apply(src);

            // Revert the transformation
            target.Backward = true;
            Bitmap org = target.Apply(dst);

            double[,] actual = org.ToDoubleMatrix(0);
            double[,] expected = src.ToDoubleMatrix(0);

            Assert.IsTrue(actual.IsEqual(expected, 0.102));
        }
        public void Example1()
        {
            Bitmap image = Properties.Resources.lena512;

            // Create a new Haar Wavelet transform filter
            var wavelet = new WaveletTransform(new Haar(1));

            // Apply the Wavelet transformation
            Bitmap result = wavelet.Apply(image);

            // Show on the screen
            //ImageBox.Show(result);
            Assert.IsNotNull(result);
            
            // Extract only one of the resulting images
            var crop = new Crop(new Rectangle(0, 0, 
                image.Width / 2, image.Height / 2));

            Bitmap quarter = crop.Apply(result);

            // Show on the screen
            //ImageBox.Show(quarter);
            Assert.IsNotNull(quarter);
        }
 /// <summary>
 /// Applies wavelet transform filter (Accord.NET).
 /// </summary>
 /// <param name="img">Image.</param>
 /// <param name="wavelet">A wavelet function.</param>
 /// <param name="backward">True to perform backward transform, false otherwise.</param>
 /// <returns>Transformed image.</returns>
 public static Gray<byte>[,] WaveletTransform(this Gray<byte>[,] img, IWavelet wavelet, bool backward = false)
 {
     WaveletTransform wt = new WaveletTransform(wavelet, backward);
     return img.ApplyFilter((BaseFilter)wt);
 }