예제 #1
0
 public float[,] StandartMatrixWavelet()
 {
     float[] temp;
     for (int i = 0; i < ColRowCount; i++)
     {
         temp = GetRow(i);
         WaveletTransform waveletTransform = new WaveletTransform(temp);
         SetRow(i, waveletTransform.FullWaveletTransform());
     }
     for (int j = 0; j < ColRowCount; j++)
     {
         temp = GetCol(j);
         WaveletTransform waveletTransform = new WaveletTransform(temp);
         SetCol(j, waveletTransform.FullWaveletTransform());
     }
     return(matrixAn);
 }
예제 #2
0
파일: Program.cs 프로젝트: Olya73/Wavelet
        static void Main(string[] args)
        {
            WaveletTransform waveletTransform = new WaveletTransform(new float[] { 249, 247, 243, 241, 180, 184, 235, 237 });
            var r = waveletTransform.FullWaveletTransform();

            foreach (var i in r)
            {
                Console.Write($"{i}, ");
            }
            Console.WriteLine();
            WaveletTransform waveletTransform1 = new WaveletTransform(new float[] { 227, 18, 3, -27, 0, 0, -2, 0 });
            var t = waveletTransform1.FullWaveletTransformReverse();

            foreach (var i in t)
            {
                Console.Write($"{i} ");
            }
            Console.WriteLine();
            var d1    = waveletTransform.PixelAverageError(t);
            var d2    = waveletTransform.SquaredAvarageError(t);
            var dI    = waveletTransform.InfinityMetric(t);
            var dPSNR = waveletTransform.PeakSignalTONoiseRatio(t, 8);

            Console.WriteLine($"d1: {d1} d2: {d2} dI: {dI} dPSNR: {dPSNR}");

            WaveletTransformMatrix waveletTransformMatrix = new WaveletTransformMatrix(new float[, ]
            {
                { 160, 240, -80, 120 },
                { 0, 256, 24, 8 },
                { -88, 100, 64, -4 },
                { 30, -18, 220, 16 }
            });
            var k = waveletTransformMatrix.StandartMatrixWavelet();

            foreach (var i in k)
            {
                Console.Write($"{i} ");
            }
            Console.ReadKey();
        }