コード例 #1
0
        public void PCA_00_to_90()
        {
            if (!LoadObjFiles_ResizeAndSort("Bunny\\bun090.obj", "Bunny\\bun00_45.obj", true))
            {
                return;
            }

            //this.pointCloudResult = icp.PerformICP(this.pointCloudSource, this.pointCloudTarget);
            //float m = icp.MeanDistance;
            pointCloudResult = PCA.AlignPointClouds_Simple(pointCloudSource, pointCloudTarget);



            double executionTime = Performance_Stop("ICP-Bunny");//7 miliseconds on i3_2121 (3.3 GHz)

            UIMode = true;

            //save
            string fileNameLong = pathUnitTests + "\\Bunny\\bun00_90.obj";

            pointCloudResult.ToObjFile(fileNameLong);


            CheckResultTargetAndShow_Cloud(this.threshold, false);


            CheckResult_MeanDistance(this.threshold);

            Assert.IsTrue(executionTime < 7);
        }
コード例 #2
0
        public void Zinsser_PCA_ICP()
        {
            if (!LoadObjFiles_ResizeAndSort("Bunny\\bun000.obj", "Bunny\\bun045.obj", true))
            {
                return;
            }



            pointCloudResult = PCA.AlignPointClouds_Simple(pointCloudSource, pointCloudTarget);


            this.pointCloudSource = this.pointCloudResult;

            this.pointCloudResult = icp.PerformICP(this.pointCloudSource, this.pointCloudTarget);
            float m = icp.MeanDistance;



            double executionTime = Performance_Stop("Zinsser_15000");//7 miliseconds on i3_2121 (3.3 GHz)

            UIMode = true;
            CheckResultTargetAndShow_Cloud(this.threshold, false);



            CheckResult_MeanDistance(this.threshold);
            Assert.IsTrue(this.icp.NumberOfIterations <= 43);

            Assert.IsTrue(executionTime < 7);
        }