public void Lenna_is_perfectly_reconstructed_after_5_steps() { Laplacian2D <YuvD> transform = new Laplacian2D <YuvD>(new DigitalFilter(new Dirichlet(3), 2), new DigitalFilter(new Dirichlet(2), 2)); Image <YuvD> lenna = Image <YuvD> .Load("Lenna.png"); ImageTest.AssertEquals(transform.Inverse(transform.Forward(lenna, 5)), lenna); }
public static void Main() { Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Image <YuvD> lenna = Image <YuvD> .Load("Resources\\Lenna.png"); Sampler2D <YuvD> analysis = new SeparableSampler <YuvD>(new Dirichlet3SamplerYuvD()); Sampler2D <YuvD> synthesis = new SeparableSampler <YuvD>(new Dirichlet2SamplerYuvD()); Laplacian2D <YuvD> transform = new Laplacian2D <YuvD>(analysis, synthesis); Image <YuvD>[] transformed = transform.Forward(lenna, 5); transformed[0].Save("c:\\temp\\lenna-0.png"); for (int i = 1; i < transformed.Length; i++) { transformed[i].Normalize(); transformed[i].Save($"c:\\temp\\lenna-{i}.png"); transformed[i].Clear(); } Image <YuvD> reconstructed = transform.Inverse(transformed); reconstructed.Save("c:\\temp\\lenna-r.png"); }
public void Inverse_transform_perfectly_reconstructs_signal() { ImageTest.AssertEquals(laplacian.Inverse(laplacian.Forward(source)), source); }