/// <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; }
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; }
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; }
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); }
/// <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> /// Возращает статистическую модель, содержащую коэффициенты аппроксимации и дисперсии на основе выбранного вейвлета для списка данных. /// </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); }