示例#1
0
        /// <summary>
        ///   Constructs a new Wavelet Transform filter.
        /// </summary>
        ///
        /// <param name="wavelet">A wavelet function.</param>
        /// <param name="backward">True to perform backward transform, false otherwise.</param>
        ///
        public WaveletTransform(IWavelet wavelet, bool backward)
        {
            this.wavelet  = wavelet;
            this.backward = backward;

            formatTranslations[PixelFormat.Format8bppIndexed]    = PixelFormat.Format8bppIndexed;
            formatTranslations[PixelFormat.Format16bppGrayScale] = PixelFormat.Format16bppGrayScale;
        }
示例#2
0
        /// <summary>
        ///   Constructs a new Wavelet Transform filter.
        /// </summary>
        /// 
        /// <param name="wavelet">A wavelet function.</param>
        /// <param name="backward">True to perform backward transform, false otherwise.</param>
        /// 
        public WaveletTransform(IWavelet wavelet, bool backward)
        {
            this.wavelet = wavelet;
            this.backward = backward;

            formatTranslations[PixelFormat.Format8bppIndexed] = PixelFormat.Format8bppIndexed;
            formatTranslations[PixelFormat.Format16bppGrayScale] = PixelFormat.Format16bppGrayScale;
        }
示例#3
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;
        }
示例#4
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;
        }
示例#5
0
        private void ForwardButtonOnClick(object sender, System.EventArgs e)
        {
            var selectedTransform = (string)this.transformsSpinner.SelectedItem;
            var numIterations     = Convert.ToInt32((string)this.iterationsSpinner.SelectedItem);

            if (selectedTransform == "Haar")
            {
                this.wavelet = new Haar(numIterations);
            }
            else
            {
                this.wavelet = new CDF97(numIterations);
            }

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

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

            this.transformImage.SetImageBitmap((Android.Graphics.Bitmap) this.transformed);
        }
示例#6
0
 /// <summary>
 ///   Constructs a new Wavelet Transform filter.
 /// </summary>
 ///
 /// <param name="wavelet">A wavelet function.</param>
 ///
 public WaveletTransform(IWavelet wavelet)
     : this(wavelet, false)
 {
 }
 /// <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 Image <Gray, short> WaveletTransform(this Image <Gray, short> img, IWavelet wavelet, bool backward = false)
 {
     return(WaveletTransform <Gray, short>(img, wavelet, backward));
 }
        /// <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>
        private static Image <TColor, TDepth> WaveletTransform <TColor, TDepth>(this Image <TColor, TDepth> img, IWavelet wavelet, bool backward)
            where TColor : IColor
            where TDepth : struct
        {
            WaveletTransform wt = new WaveletTransform(wavelet, backward);

            return(img.ApplyFilter((BaseFilter)wt));
        }
 /// <summary>
 ///   Constructs a new Wavelet Transform filter.
 /// </summary>
 /// 
 /// <param name="wavelet">A wavelet function.</param>
 /// 
 public WaveletTransform(IWavelet wavelet)
     : this(wavelet, false)
 {
 }
        /// <summary>
        /// Возращает статистическую модель, содержащую коэффициенты аппроксимации и дисперсии на основе выбранного вейвлета для списка данных.
        /// </summary>
        /// <param name="data">Список данных для статистического анализа в виде вектора над полем рациональных чисел.</param>
        /// <param name="wavelet">Вейвлет, на основе которого вычисляются коэффициенты аппроксимации и дисперсии.</param>
        /// <returns>Cтатистическая модель для выбранных набора данных и вейвлета.</returns>
        public static IWaveletTransformationStatisticsModel GenerateStatisticsModel(IList <double> data, IWavelet wavelet)
        {
            var waveletStatistics = new WaveletStatistics
            {
                Wavelet = wavelet,
                ApproximationCoefficients = data,
                DetailingCoefficients     = data
            };

            var statisticsModel = new WaveletTransformationStatisticsModel();

            statisticsModel.WaveletStatistics.Add(waveletStatistics);

            while (true)
            {
                waveletStatistics = Decompose(waveletStatistics);
                if (waveletStatistics.ApproximationCoefficients.Count == 0)
                {
                    break;
                }

                statisticsModel.WaveletStatistics.Add(waveletStatistics);
            }

            return(statisticsModel);
        }
        /// <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));
        }
 /// <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);
 }