Exemplo n.º 1
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];
                }
            }
Exemplo n.º 2
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];
                }
            }
        }