Exemplo n.º 1
0
        public static (KxTransform Transform, List <Marker> Markers) Calibrate(CvColor cvColor, CvCameraSpace cs)
        {
            //Define Board
            var cube = CoordinateDefinition.Microcube();
            //Look for Board
            var markers = Vision.FindAruco(cvColor);

            if (!markers.Any())
            {
                throw new Exception("No calibration pattern could be found in the image!");
            }
            //Calculate Camera Pose
            return(Vision.GetPoseFromImage(cube, cs, markers), markers);
        }
Exemplo n.º 2
0
        public static KxTransform GetPoseFromXef(string xefPath)
        {
            //Create a defined registration pattern - in this case a cube
            var cube = CoordinateDefinition.Microcube();
            //Find registration
            var xef     = new Xef(xefPath);
            var colorCv = xef.LoadCvColorFrame(0);
            //Find and draw (make sure it can be found)
            var markers = Vision.FindAruco(colorCv);
            //Vision.DrawAruco(colorCv).Show();

            //Calculate pose
            var _3dImage    = xef.LoadCVCameraSpace(5);
            var kxTransform = Vision.GetPoseFromImage(cube, _3dImage, markers);

            return(kxTransform);
        }