// ArucoObjectTracker methods /// <summary> /// <see cref="ArucoObjectTracker.Activate(ArucoTracker)"/> /// </summary> public override void Activate(ArucoTracker arucoTracker) { base.Activate(arucoTracker); // Initialize the properties and the ArUco objects MarkerCorners = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f> [arucoTracker.ArucoCamera.CamerasNumber]; MarkerIds = new Dictionary <Aruco.Dictionary, Std.VectorInt> [arucoTracker.ArucoCamera.CamerasNumber]; RejectedCandidateCorners = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f> [arucoTracker.ArucoCamera.CamerasNumber]; MarkerRvecs = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoTracker.ArucoCamera.CamerasNumber]; MarkerTvecs = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoTracker.ArucoCamera.CamerasNumber]; DetectedMarkers = new Dictionary <Aruco.Dictionary, int> [arucoTracker.ArucoCamera.CamerasNumber]; for (int cameraId = 0; cameraId < arucoTracker.ArucoCamera.CamerasNumber; cameraId++) { MarkerCorners[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f>(); MarkerIds[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorInt>(); RejectedCandidateCorners[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f>(); MarkerRvecs[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVec3d>(); MarkerTvecs[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVec3d>(); DetectedMarkers[cameraId] = new Dictionary <Aruco.Dictionary, int>(); foreach (var arucoObjectDictionary in arucoTracker.ArucoObjects) { Aruco.Dictionary dictionary = arucoObjectDictionary.Key; MarkerCorners[cameraId].Add(dictionary, new Std.VectorVectorPoint2f()); MarkerIds[cameraId].Add(dictionary, new Std.VectorInt()); RejectedCandidateCorners[cameraId].Add(dictionary, new Std.VectorVectorPoint2f()); MarkerRvecs[cameraId].Add(dictionary, new Std.VectorVec3d()); MarkerTvecs[cameraId].Add(dictionary, new Std.VectorVec3d()); DetectedMarkers[cameraId].Add(dictionary, 0); } } }
// ArucoObjectTracker methods public override void Activate(ArucoTracker arucoTracker) { base.Activate(arucoTracker); DiamondCorners = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f> [arucoTracker.ArucoCamera.CameraNumber]; DiamondIds = new Dictionary <Aruco.Dictionary, Std.VectorVec4i> [arucoTracker.ArucoCamera.CameraNumber]; DetectedDiamonds = new Dictionary <Aruco.Dictionary, int> [arucoTracker.ArucoCamera.CameraNumber]; DiamondRvecs = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoTracker.ArucoCamera.CameraNumber]; DiamondTvecs = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoTracker.ArucoCamera.CameraNumber]; for (int cameraId = 0; cameraId < arucoTracker.ArucoCamera.CameraNumber; cameraId++) { DiamondCorners[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f>(); DiamondIds[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVec4i>(); DetectedDiamonds[cameraId] = new Dictionary <Aruco.Dictionary, int>(); DiamondRvecs[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVec3d>(); DiamondTvecs[cameraId] = new Dictionary <Aruco.Dictionary, Std.VectorVec3d>(); foreach (var arucoObjectDictionary in arucoTracker.ArucoObjects) { Aruco.Dictionary dictionary = arucoObjectDictionary.Key; DiamondCorners[cameraId].Add(dictionary, new Std.VectorVectorPoint2f()); DiamondIds[cameraId].Add(dictionary, new Std.VectorVec4i()); DetectedDiamonds[cameraId].Add(dictionary, 0); DiamondRvecs[cameraId].Add(dictionary, new Std.VectorVec3d()); DiamondTvecs[cameraId].Add(dictionary, new Std.VectorVec3d()); } } }
// Methods /// <summary> /// Initialize the properties and the tracker. /// </summary> public virtual void Activate(ArucoTracker arucoTracker) { this.arucoTracker = arucoTracker; IsActivated = true; arucoTracker.DictionaryAdded += ArucoObjectController_DictionaryAdded; arucoTracker.DictionaryRemoved += ArucoObjectController_DictionaryRemoved; }
/// <summary> /// Deactivate the tracker. /// </summary> public virtual void Deactivate() { arucoTracker.DictionaryAdded -= ArucoObjectsController_DictionaryAdded; arucoTracker.DictionaryRemoved -= ArucoObjectsController_DictionaryRemoved; IsActivated = false; arucoTracker = null; cameraParameters = null; }
// Methods /// <summary> /// Configure and activate the tracker. /// </summary> public virtual void Activate(ArucoTracker arucoTracker) { this.arucoTracker = arucoTracker; cameraParameters = arucoTracker.ArucoCamera.CameraParameters; IsActivated = true; arucoTracker.DictionaryAdded += ArucoObjectsController_DictionaryAdded; arucoTracker.DictionaryRemoved += ArucoObjectsController_DictionaryRemoved; }
/// <summary> /// Deactivate the tracker. /// </summary> public virtual void Deactivate() { if (arucoTracker != null) { arucoTracker.DictionaryAdded -= ArucoObjectController_DictionaryAdded; arucoTracker.DictionaryRemoved -= ArucoObjectController_DictionaryRemoved; } arucoTracker = null; IsActivated = false; }