Esempio n. 1
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;
            }
Esempio n. 2
0
            // Constructor

            public ArucoCameraSeparateThread(IArucoCamera arucoCamera, Action imagesUpdated, Action threadWork, Action threadException)
            {
                this.arucoCamera     = arucoCamera;
                this.imagesUpdated   = imagesUpdated;
                this.threadWork      = threadWork;
                this.threadException = threadException;

                Images     = new Cv.Mat[arucoCamera.CameraNumber];
                ImagesData = new byte[arucoCamera.CameraNumber][];
                arucoCameraImageCopyData = new byte[arucoCamera.CameraNumber][];
                for (int cameraId = 0; cameraId < arucoCamera.CameraNumber; cameraId++)
                {
                    ImagesData[cameraId] = new byte[arucoCamera.ImageDataSizes[cameraId]];
                    arucoCameraImageCopyData[cameraId] = new byte[arucoCamera.ImageDataSizes[cameraId]];

                    Images[cameraId] = new Cv.Mat(arucoCamera.ImageTextures[cameraId].height, arucoCamera.ImageTextures[cameraId].width,
                                                  CvMatExtensions.ImageType(arucoCamera.ImageTextures[cameraId].format));
                    Images[cameraId].DataByte = ImagesData[cameraId];
                }
            }
Esempio n. 3
0
        // Constructor

        public ArucoCameraSeparateThread(IArucoCamera arucoCamera, Action <Cv.Mat[]> threadWork)
        {
            this.arucoCamera = arucoCamera;
            this.threadWork  = threadWork;
            CopyBackImages   = false;

            for (int bufferId = 0; bufferId < buffersCount; bufferId++)
            {
                imageBuffers[bufferId]     = new Cv.Mat[arucoCamera.CameraNumber];
                imageDataBuffers[bufferId] = new byte[arucoCamera.CameraNumber][];

                for (int cameraId = 0; cameraId < arucoCamera.CameraNumber; cameraId++)
                {
                    imageBuffers[bufferId][cameraId] = new Cv.Mat(arucoCamera.Textures[cameraId].height, arucoCamera.Textures[cameraId].width,
                                                                  CvMatExtensions.ImageType(arucoCamera.Textures[cameraId].format));

                    imageDataBuffers[bufferId][cameraId]      = new byte[arucoCamera.ImageDataSizes[cameraId]];
                    imageBuffers[bufferId][cameraId].DataByte = imageDataBuffers[bufferId][cameraId];
                }
            }
        }