Example #1
0
        // ArucoObjectTracker methods

        public override void Activate(IArucoObjectsTracker arucoTracker)
        {
            base.Activate(arucoTracker);

            // Initialize the properties and the ArUco objects
            MarkerCorners            = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f> [arucoCamera.CameraNumber];
            MarkerIds                = new Dictionary <Aruco.Dictionary, Std.VectorInt> [arucoCamera.CameraNumber];
            RejectedCandidateCorners = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f> [arucoCamera.CameraNumber];
            MarkerRvecs              = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoCamera.CameraNumber];
            MarkerTvecs              = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoCamera.CameraNumber];
            DetectedMarkers          = new Dictionary <Aruco.Dictionary, int> [arucoCamera.CameraNumber];

            for (int cameraId = 0; cameraId < arucoCamera.CameraNumber; 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(IArucoObjectsTracker arucoTracker)
            {
                base.Activate(arucoTracker);

                DiamondCorners   = new Dictionary <Aruco.Dictionary, Std.VectorVectorPoint2f> [arucoCamera.CameraNumber];
                DiamondIds       = new Dictionary <Aruco.Dictionary, Std.VectorVec4i> [arucoCamera.CameraNumber];
                DetectedDiamonds = new Dictionary <Aruco.Dictionary, int> [arucoCamera.CameraNumber];
                DiamondRvecs     = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoCamera.CameraNumber];
                DiamondTvecs     = new Dictionary <Aruco.Dictionary, Std.VectorVec3d> [arucoCamera.CameraNumber];

                for (int cameraId = 0; cameraId < 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());
                    }
                }
            }
Example #3
0
            // Methods

            /// <summary>
            /// Configure and activate the tracker.
            /// </summary>
            public virtual void Activate(IArucoObjectsTracker arucoTracker)
            {
                this.arucoTracker       = arucoTracker;
                arucoCamera             = arucoTracker.ArucoCamera;
                arucoCameraUndistortion = arucoTracker.ArucoCameraUndistortion;
                arucoCameraDisplay      = arucoTracker.ArucoCameraDisplay;
                IsActivated             = true;

                arucoTracker.DictionaryAdded   += ArucoObjectsController_DictionaryAdded;
                arucoTracker.DictionaryRemoved += ArucoObjectsController_DictionaryRemoved;
            }