Exemple #1
0
        public static PointCloud AlignPointClouds_Simple(PointCloud pointCloudSource, PointCloud pointCloudTarget)
        {
            PCA pca = new PCA();

            pca.MaxmimumIterations = 1;
            pca.AxesRotateEffect   = false;

            PointCloud pcResult = pca.AlignPointClouds_SVD(pointCloudSource, pointCloudTarget);

            pcResult = PointCloud.CalculateMergedPoints_SimpleAdd(pcResult, pointCloudTarget, true);
            return(pcResult);
        }
Exemple #2
0
        private void Clouds_PCA()
        {
            if (!GetFirstTwoCloudsFromOpenGLControl())
            {
                return;
            }


            PCA pca = new PCA();

            pca.MaxmimumIterations = 1;
            PointCloud pointCloudResult = pca.AlignPointClouds_SVD(this.pSource, this.pTarget);

            pointCloudResult.AddPointCloud(this.pTarget);

            SaveResultCloudAndShow(pointCloudResult);
            this.registrationMatrix = pca.Matrix;
            registrationMatrix.Save(GLSettings.Path + GLSettings.PathPointClouds, "registrationMatrix.txt");
        }