示例#1
0
        private void SetupMarkerTracking()
        {
            DirectShowCapture captureDevice = new DirectShowCapture();
            captureDevice.InitVideoCapture(0, FrameRate._30Hz, Resolution._640x480,
                ImageFormat.R8G8B8_24, false);

            scene.AddVideoCaptureDevice(captureDevice);

            ALVARMarkerTracker tracker = new ALVARMarkerTracker();
            tracker.MaxMarkerError = 0.02f;
            tracker.InitTracker(captureDevice.Width, captureDevice.Height, "calib.xml", 9.0);

            scene.MarkerTracker = tracker;

            scene.ShowCameraImage = true;

            scene.PhysicsEngine.GravityDirection = -Vector3.UnitZ;

            // Create a marker node to track the ground plane
            markerNode = new MarkerNode(scene.MarkerTracker, "ARDominoALVAR.txt");

            scene.RootNode.AddChild(markerNode);
        }
示例#2
0
        private void SetupMarkerTracking()
        {
            IVideoCapture captureDevice = null;

            Console.WriteLine(DateTime.Now.ToString() + " Setup Video & AR\n");

            // Create our video capture device, depend from Type, "look App.config"
            if (CapDeviceType == "OpenCV")
                captureDevice = new OpenCVCapture();
            else
                captureDevice = new DirectShowCapture();

            //captureDevice.VideoDeviceID = 0;
            captureDevice.InitVideoCapture(SelDevice, FrameRate._60Hz, Resolution._640x480,
                ImageFormat.R8G8B8_24, false);

            // Add this video capture device to the scene
            scene.AddVideoCaptureDevice(captureDevice);

            ALVARMarkerTracker tracker = new ALVARMarkerTracker();
            tracker.MaxMarkerError = 0.02f;
            tracker.InitTracker(captureDevice.Width, captureDevice.Height, CalibFile, 32.4f);

            // Set the marker tracker to use for our scene
            scene.MarkerTracker = tracker;

            // Display the camera image in the background
            scene.ShowCameraImage = true;

            //Config Gravity from Camera Cord
            scene.PhysicsEngine.GravityDirection = -Vector3.UnitZ; 
        }
        private void SetupMarkerTracking()
        {
            DirectShowCapture captureDevice = new DirectShowCapture();
            captureDevice.InitVideoCapture(0, FrameRate._60Hz, Resolution._640x480, ImageFormat.R8G8B8_24, false);

            scene.AddVideoCaptureDevice(captureDevice);

            // Use ALVAR marker tracker
            ALVARMarkerTracker tracker = new ALVARMarkerTracker();
            tracker.MaxMarkerError = 0.02f;
            tracker.InitTracker(captureDevice.Width, captureDevice.Height, "calib.xml", markerSize);

            // Set the marker tracker to use for our scene
            scene.MarkerTracker = tracker;

            // Display the camera image in the background.
            scene.ShowCameraImage = true;

            // Create a marker node to track a ground marker array.
            groundMarkerNode = new MarkerNode(scene.MarkerTracker, "ALVARGroundArray.xml");
            // Create a marker node to track a toolbar marker array.
            toolbarMarkerNode = new MarkerNode(scene.MarkerTracker, "ALVARToolbar.xml");
            scene.RootNode.AddChild(groundMarkerNode);
            scene.RootNode.AddChild(toolbarMarkerNode);
        }