private void SetupMarkerTracking(VideoBrush videoBrush) { IVideoCapture captureDevice = null; if (useStaticImage) { captureDevice = new NullCapture(); captureDevice.InitVideoCapture(0, FrameRate._30Hz, Resolution._320x240, ImageFormat.B8G8R8A8_32, false); if(useSingleMarker) ((NullCapture)captureDevice).StaticImageFile = "MarkerImageHiro.jpg"; else ((NullCapture)captureDevice).StaticImageFile = "MarkerImage_320x240"; scene.ShowCameraImage = true; } else { captureDevice = new PhoneCameraCapture(videoBrush); captureDevice.InitVideoCapture(0, FrameRate._30Hz, Resolution._640x480, ImageFormat.B8G8R8A8_32, false); ((PhoneCameraCapture)captureDevice).UseLuminance = true; if (betterFPS) captureDevice.MarkerTrackingImageResizer = new HalfResizer(); } // Add this video capture device to the scene so that it can be used for // the marker tracker scene.AddVideoCaptureDevice(captureDevice); #if USE_PATTERN_MARKER NyARToolkitTracker tracker = new NyARToolkitTracker(); #else NyARToolkitIdTracker tracker = new NyARToolkitIdTracker(); #endif if (captureDevice.MarkerTrackingImageResizer != null) tracker.InitTracker((int)(captureDevice.Width * captureDevice.MarkerTrackingImageResizer.ScalingFactor), (int)(captureDevice.Height * captureDevice.MarkerTrackingImageResizer.ScalingFactor), "camera_para.dat"); else tracker.InitTracker(captureDevice.Width, captureDevice.Height, "camera_para.dat"); // Set the marker tracker to use for our scene scene.MarkerTracker = tracker; }
private void SetupMarkerTracking(VideoBrush videoBrush) { PhoneCameraCapture captureDevice = new PhoneCameraCapture(videoBrush); captureDevice.InitVideoCapture(0, FrameRate._30Hz, Resolution._640x480, ImageFormat.B8G8R8A8_32, false); ((PhoneCameraCapture)captureDevice).UseLuminance = true; if (betterFPS) captureDevice.MarkerTrackingImageResizer = new HalfResizer(); scene.AddVideoCaptureDevice(captureDevice); // Use NyARToolkit ID marker tracker NyARToolkitIdTracker tracker = new NyARToolkitIdTracker(); if (captureDevice.MarkerTrackingImageResizer != null) tracker.InitTracker((int)(captureDevice.Width * captureDevice.MarkerTrackingImageResizer.ScalingFactor), (int)(captureDevice.Height * captureDevice.MarkerTrackingImageResizer.ScalingFactor), "camera_para.dat"); else tracker.InitTracker(captureDevice.Width, captureDevice.Height, "camera_para.dat"); // Set the marker tracker to use for our scene scene.MarkerTracker = tracker; ((StereoCamera)scene.CameraNode.Camera).RightProjection = tracker.CameraProjection; // Create a marker node to track a ground marker array. groundMarkerNode = new MarkerNode(scene.MarkerTracker, "NyARIdGroundArray.xml", NyARToolkitTracker.ComputationMethod.Average); scene.RootNode.AddChild(groundMarkerNode); }