Exemplo n.º 1
0
        public void TestConvolve()
        {
            var img      = Shape(3, 4, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f);
            var kernel   = Shape(2, 3, 1.0f, 0.0f, 0.0f, 2.0f, 3.0f, 1.0f);
            var expected = Shape(3, 4, 10.0f, 14.0f, 21.0f, 19.0f, 23.0f, 30.0f, 40.0f, 44.0f, 51.0f, 58.0f, 62.0f, 69.0f);
            var res      = new NativeImage <float>(3, 4);

            ImageOperations.Convolve(img, kernel, res);
            Assert.True(BitmapEquals(res, expected));

            ImageOperations.Convolve_Optimized(img, kernel, res);
            Assert.True(BitmapEquals(res, expected));

            ImageOperations.Convolve_Avx(img, kernel, res);
            Assert.True(BitmapEquals(res, expected));
        }
Exemplo n.º 2
0
 [Benchmark] public void Convolve() => ImageOperations.Convolve(img1, kernel, res);