Accord.Tests.Imaging.ToolsTest.HomographyTest C# (CSharp) Метод

HomographyTest() приватный Метод

private HomographyTest ( ) : void
Результат void
        public void HomographyTest()
        {
            PointH[] x1 = 
            {
                new PointH(0, 0),
                new PointH(1, 0),
                new PointH(0, 1),
                new PointH(1, 1),
            };

            PointH[] x2 = 
            {
                new PointH(0, 0),
                new PointH(1, 0),
                new PointH(0, 1),
                new PointH(1, 1),
            };

            double[,] expected = Matrix.Identity(3);

            double[,] actual = (double[,])Tools.Homography(x1, x2);

            for (int i = 0; i < 3; i++)
                for (int j = 0; j < 3; j++)
                    actual[i, j] /= actual[2, 2];

            Assert.IsTrue(Matrix.IsEqual(expected, actual, 1e-4));


            x1 = new PointH[] 
            {
                new PointH(2, 0),
                new PointH(1, 0),
                new PointH(5, 1),
                new PointH(1, 1),
                new PointH(7, 1),
                new PointH(1, 2),
                new PointH(1, 1),
            };

            x2 = new PointH[] 
            {
                new PointH(9, 1),
                new PointH(1, 5),
                new PointH(9, 1),
                new PointH(1, 7),
                new PointH(2, 7),
                new PointH(6, 5),
                new PointH(1, 7),
            };

            expected = new double[,]
            {
              { 0.2225, -3.1727,  1.8023 },
              { 0.3648, -1.7149, -0.2173 },
              { 0.0607, -0.4562,  0.1229 },
            };

            expected = (double[,])(new MatrixH(expected));

            actual = (double[,])Tools.Homography(x1, x2);

            Assert.IsTrue(Matrix.IsEqual(expected, actual, 0.01));

        }