示例#1
0
        private void SavePointCloudColor(PointCloud pc)
        {
            PointCloudScannerSettings.FileNameOBJ = DateTime.Now.Year.ToString() + "." + DateTime.Now.Month.ToString() + "." + DateTime.Now.Day.ToString() + "." + DateTime.Now.Hour.ToString() + "." + DateTime.Now.Minute.ToString() + "." + DateTime.Now.Second.ToString() + "_DepthAndColor.obj";
            // PointCloud pc = PointCloud.FromDepthColors(myColorPixels, this.DepthMetaData.FrameData, DepthMetaData.XResDefault, DepthMetaData.YResDefault);

            UtilsPointCloudIO.ToObjFile_ColorInVertex(pc, pathModels, PointCloudScannerSettings.FileNameOBJ);
        }
示例#2
0
 public bool ToObjFile(string fileNameWithPath)
 {
     if (GLSettings.ShowPointCloudAsTexture)
     {
         return(UtilsPointCloudIO.ToObjFile_Texture(this, fileNameWithPath));
     }
     else
     {
         return(UtilsPointCloudIO.ToObjFile_ColorInVertex(this, fileNameWithPath));
     }
 }
示例#3
0
 public void ToObjFile(string path, string fileName)
 {
     if (GLSettings.ShowPointCloudAsTexture)
     {
         UtilsPointCloudIO.ToObjFile_Texture(this, path, fileName);
     }
     else
     {
         UtilsPointCloudIO.ToObjFile_ColorInVertex(this, path, fileName);
     }
 }
示例#4
0
        public override bool SavePointCloud(string path, string fileName)
        {
            try
            {
                if (ColorMetaData == null || DepthMetaData == null)
                {
                    return(false);
                }

                //List<int> listToBeRemoved = new List<int>();
                PointCloud     pc    = MetaDataBase.ToPointCloud(this.ColorMetaData, this.DepthMetaData, this.BodyMetaData, this.coordinateMapper);
                List <Vector3> vList = new List <Vector3>();
                List <Vector3> cList = new List <Vector3>();;
                if (PointCloudScannerSettings.ShowFaceScanEllipse)
                {
                    for (int i = pc.Count - 1; i >= 0; i--)
                    {
                        bool add = true;
                        if (pc.Vectors[i].X > 0 && pc.Vectors[i].X > faceX)
                        {
                            add = false;
                        }
                        else if (pc.Vectors[i].X < 0 && pc.Vectors[i].X < -faceX)
                        {
                            add = false;
                        }
                        else if (pc.Vectors[i].Y > 0 && pc.Vectors[i].Y > faceY)
                        {
                            add = false;
                        }
                        else if (pc.Vectors[i].Y < 0 && pc.Vectors[i].Y < -faceY)
                        {
                            add = false;
                        }

                        if (add)
                        {
                            vList.Add(pc.Vectors[i]);
                            cList.Add(pc.Colors[i]);
                        }
                    }
                }
                PointCloud pcNew = new OpenTKExtension.PointCloud(vList, cList, null, null, null, null);

                //pc.RemovePoints(listToBeRemoved);
                return(UtilsPointCloudIO.ToObjFile_ColorInVertex(pcNew, path + "\\" + fileName));
            }
            catch (Exception err)
            {
                System.Windows.Forms.MessageBox.Show("SW Error - error saving Point cloud: " + err.Message);
                return(false);
            }
        }
示例#5
0
        private void triangulate()
        {
            this.openGLUC1.RemoveAllPointClouds();

            PointCloud pc = faceMatcher.Humanoid.ToPointCloud();

            //pc.TriangulateVertices_Rednaxela(0.1f);

            this.openGLUC1.ShowPointCloud(pc);


            UtilsPointCloudIO.ToObjFile_ColorInVertex(pc, pathModels, "modelTriangulated.obj");
        }
示例#6
0
        public override bool SavePointCloud(string fileName)
        {
            if (this.DepthMetaData.Vectors != null)
            {
                //PointCloud pcTest = PointCloud.FromVector3List(this.depthVectors);

                PointCloud pc = PointCloud.FromListVector3(this.DepthMetaData.Vectors);
                if (pc != null)
                {
                    UtilsPointCloudIO.ToObjFile_ColorInVertex(pc, PathModels, fileName);
                }
                //UtilsPointCloudIO.ToObjFile(pc, PathModels, ImageExtensions.DateTimeString() + "PointCloud_" + this.scannerID.ToString() + ".obj");
                //UtilsPointCloudIO.Write_OBJ_Test(pc, pcTest, pathModels, "ObjTest" + this.RealSenseCameraNumber.ToString() + "_" + DateTime.Now.ToFileTimeUtc() + ".obj");
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("Nothing to save");
            }
            return(true);
        }