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 void Forward_transform_produces_correct_downsampled_image() { Image <double> expected = new Image <double>(new[, ] { { 2, 9.5, 25.5 }, { 2, 9.5, 25.5 } }); ImageTest.AssertEquals(laplacian.Forward(source)[0], expected); }
public void Convolute_with_scale_2_results_in_blurred_image() { Image expected = new Image(new[, ] { { 2.0, 4.5, 9.5, 16.5, 25.5, 32.33333333333333 }, { 2.0, 4.5, 9.5, 16.5, 25.5, 32.33333333333333 }, { 1.5, 3.375, 7.125, 12.375, 19.125, 24.25 }, { 0.6666666666666666, 1.5, 3.166666666666666, 5.5, 8.5, 10.77777777777777 } }); ImageTest.AssertEquals(linear2.Convolute(source), expected); }
public void Forward_transform_produces_correct_difference_image() { Image <double> expected = new Image <double>(new[, ] { { -2.5555555555555555, -3.6666666666666666, -3.6666666666666666, -7.3333333333333333, -9.0, 13.3333333333333333 }, { -1.6666666666666666, -1.7500000000000000, -0.5000000000000000, -1.5000000000000000, -0.5, 19.0000000000000000 }, { -1.6666666666666666, -1.7500000000000000, -0.5000000000000000, -1.5000000000000000, -0.5, 19.0000000000000000 }, { -0.7777777777777777, +0.1666666666666666, +2.6666666666666666, +4.3333333333333333, +8.0, 24.6666666666666666 } }); ImageTest.AssertEquals(laplacian.Forward(source)[1], expected); }
public void Inverse_transform_perfectly_reconstructs_signal() { ImageTest.AssertEquals(laplacian.Inverse(laplacian.Forward(source)), source); }
public void Convolute_with_scale_1_results_in_the_original_image() { ImageTest.AssertEquals(linear1.Convolute(source), source); }