コード例 #1
0
        private void btnLoadCalibration_Click(object sender, EventArgs e)
        {
            if (lstCalibrations.SelectedIndex != -1)
            {
                CameraConfig thisConfig = new CameraConfig(Directory.GetCurrentDirectory() + "\\Calibrations\\" + CalibrationPaths[lstCalibrations.SelectedIndex] + "\\bundle\\bundle.out", "Bundler");
                spinningTriangleControl.cameraConfig = thisConfig;
                spinningTriangleControl.Focus();

                spinningTriangleControl.WebCamsEye.Clear();
                spinningTriangleControl.WebCamsEye.AddRange(lWebCams);


                trkIntersectionThreshold.Value = (int)Math.Round(spinningTriangleControl.IntersectionThreshold * 1000);
                trkClusterThreshold.Value      = (int)Math.Round(spinningTriangleControl.ClusterThreshold * 1000);
            }
        }
コード例 #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            //FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            //for (int i = 0; i < videoDevices.Count; i++)
            //{
            //    if (videoDevices[i] != null)
            //    {
            //        WebCam thisWebCam = new WebCam(videoDevices[i].MonikerString);
            //        spinningTriangleControl.WebCams.Add(thisWebCam);
            //    }
            //}

            CameraConfig thisConfig = new CameraConfig(txtConfigFile.Text, "Bundler");

            spinningTriangleControl.cameraConfig = thisConfig;
            spinningTriangleControl.Focus();

            spinningTriangleControl.WebCamsEye.AddRange(lWebCams);


            List <string> myString = new List <string>();

            for (int i = 0; i < lWebCams.Count; i++)
            {
                myString.Add(i.ToString());
            }

            var result = from a in myString
                         from b in myString
                         from c in myString
                         where a != b && b != c && a != c
                         select a + "," + b + "," + c;

            CamPermutations = result.ToList();

            List <int> temp = CamPermutations[camPerm % lWebCams.Count].Split(',').Select(x => int.Parse(x)).ToList();

            spinningTriangleControl.WebCamPermute = temp;
            //camPerm++;
        }
コード例 #3
0
        private void drawPoints(CameraConfig thisCamera)
        {
            for (int i = 0; i < thisCamera.modelPoints.points.Count; i++)
            {
                Vector3 pointTranslationVector = new Vector3(thisCamera.modelPoints.points[i].X, thisCamera.modelPoints.points[i].Y, thisCamera.modelPoints.points[i].Z);

                // Set transform matrices.
                float aspect = GraphicsDevice.Viewport.AspectRatio;

                effect.World = Matrix.Identity * Matrix.CreateScale(cameraModelScaling * 0.4f);

                effect.World = effect.World * Matrix.CreateTranslation(pointTranslationVector) * Matrix.CreateTranslation(viewTranslationVector);

                //effect.World = effect.World * Matrix.CreateFromYawPitchRoll(yaw * dragSensitivity, pitch * dragSensitivity, roll * dragSensitivity);

                //effect.World = effect.World * Matrix.CreateScale(globalScaling);

                effect.View = Matrix.CreateFromYawPitchRoll(yaw * dragSensitivity, pitch * dragSensitivity, roll * dragSensitivity) * Matrix.CreateLookAt(new Vector3(0, 0, -5 * globalScaling),
                                                  Vector3.Zero, Vector3.Up);

                effect.Projection = Matrix.CreatePerspectiveFieldOfView(1, aspect, 0.01f, 100);

                // Set renderstates.
                GraphicsDevice.RasterizerState = RasterizerState.CullNone;

                // Draw the triangle.
                effect.CurrentTechnique.Passes[0].Apply();

                GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList,
                                                  Vertices, 0, 1);

            }
        }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: onarf/Free3DTrack
        private void button2_Click(object sender, EventArgs e)
        {
            //FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

            //for (int i = 0; i < videoDevices.Count; i++)
            //{
            //    if (videoDevices[i] != null)
            //    {
            //        WebCam thisWebCam = new WebCam(videoDevices[i].MonikerString);
            //        spinningTriangleControl.WebCams.Add(thisWebCam);
            //    }
            //}

            CameraConfig thisConfig = new CameraConfig(txtConfigFile.Text, "Bundler");
            spinningTriangleControl.cameraConfig = thisConfig;
            spinningTriangleControl.Focus();

            spinningTriangleControl.WebCamsEye.AddRange(lWebCams);

            List<string> myString = new List<string>();

            for (int i = 0; i < lWebCams.Count; i++)
            {
                myString.Add(i.ToString());
            }

            var result = from a in myString
                         from b in myString
                         from c in myString
                         where a != b && b!=c && a!=c
                         select a + "," + b + "," + c;

            CamPermutations = result.ToList();

            List<int> temp = CamPermutations[camPerm % lWebCams.Count].Split(',').Select(x => int.Parse(x)).ToList();
            spinningTriangleControl.WebCamPermute = temp;
            //camPerm++;
        }
コード例 #5
0
ファイル: MainForm.cs プロジェクト: onarf/Free3DTrack
        private void btnLoadCalibration_Click(object sender, EventArgs e)
        {
            if (lstCalibrations.SelectedIndex != -1)
            {
                CameraConfig thisConfig = new CameraConfig(Directory.GetCurrentDirectory() + "\\Calibrations\\" + CalibrationPaths[lstCalibrations.SelectedIndex] + "\\bundle\\bundle.out", "Bundler");
                spinningTriangleControl.cameraConfig = thisConfig;
                spinningTriangleControl.Focus();

                spinningTriangleControl.WebCamsEye.Clear();
                spinningTriangleControl.WebCamsEye.AddRange(lWebCams);

                trkIntersectionThreshold.Value = (int)Math.Round(spinningTriangleControl.IntersectionThreshold * 1000);
                trkClusterThreshold.Value = (int)Math.Round(spinningTriangleControl.ClusterThreshold * 1000);
            }
        }
コード例 #6
0
ファイル: MainForm.cs プロジェクト: onarf/Free3DTrack
 private void btnImport_Click(object sender, System.EventArgs e)
 {
     CameraConfig thisConfig = new CameraConfig(txtConfigFile.Text, "Bundler");
     spinningTriangleControl.cameraConfig = thisConfig;
     spinningTriangleControl.Focus();
 }