Esempio n. 1
0
            // 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);
                    }
                }
            }
Esempio n. 2
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());
                    }
                }
            }
Esempio n. 3
0
            // 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;
            }
Esempio n. 4
0
            /// <summary>
            /// Deactivate the tracker.
            /// </summary>
            public virtual void Deactivate()
            {
                arucoTracker.DictionaryAdded   -= ArucoObjectsController_DictionaryAdded;
                arucoTracker.DictionaryRemoved -= ArucoObjectsController_DictionaryRemoved;

                IsActivated      = false;
                arucoTracker     = null;
                cameraParameters = null;
            }
Esempio n. 5
0
            // 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;
            }
Esempio n. 6
0
 /// <summary>
 /// Deactivate the tracker.
 /// </summary>
 public virtual void Deactivate()
 {
     if (arucoTracker != null)
     {
         arucoTracker.DictionaryAdded   -= ArucoObjectController_DictionaryAdded;
         arucoTracker.DictionaryRemoved -= ArucoObjectController_DictionaryRemoved;
     }
     arucoTracker = null;
     IsActivated  = false;
 }