Ejemplo n.º 1
0
        public static bool EstimatePoseCharucoBoard(Std.VectorPoint2f charucoCorners, Std.VectorInt charucoIds, CharucoBoard board,
                                                    Cv.Mat cameraMatrix, Cv.Mat distCoeffs, out Cv.Vec3d rvec, out Cv.Vec3d tvec)
        {
            Cv.Exception exception = new Cv.Exception();
            IntPtr       rvecPtr, tvecPtr;

            bool valid = au_estimatePoseCharucoBoard(charucoCorners.CppPtr, charucoIds.CppPtr, board.CppPtr, cameraMatrix.CppPtr, distCoeffs.CppPtr,
                                                     out rvecPtr, out tvecPtr, exception.CppPtr);

            rvec = new Cv.Vec3d(rvecPtr);
            tvec = new Cv.Vec3d(tvecPtr);

            exception.Check();
            return(valid);
        }
Ejemplo n.º 2
0
        public static int InterpolateCornersCharuco(Std.VectorVectorPoint2f markerCorners, Std.VectorInt markerIds, Cv.Mat image, CharucoBoard board,
                                                    out Std.VectorPoint2f charucoCorners, out Std.VectorInt charucoIds, Cv.Mat cameraMatrix, Cv.Mat distCoeffs)
        {
            Cv.Exception exception = new Cv.Exception();
            IntPtr       charucoCornersPtr, charucoIdsPtr;

            int interpolateCorners = au_interpolateCornersCharuco(markerCorners.CppPtr, markerIds.CppPtr, image.CppPtr, board.CppPtr,
                                                                  out charucoCornersPtr, out charucoIdsPtr, cameraMatrix.CppPtr, distCoeffs.CppPtr, exception.CppPtr);

            charucoCorners = new Std.VectorPoint2f(charucoCornersPtr);
            charucoIds     = new Std.VectorInt(charucoIdsPtr);
            exception.Check();

            return(interpolateCorners);
        }
Ejemplo n.º 3
0
        public static int EstimatePoseBoard(Std.VectorVectorPoint2f corners, Std.VectorInt ids, Board board, Cv.Mat cameraMatrix, Cv.Mat distCoeffs,
                                            out Cv.Vec3d rvec, out Cv.Vec3d tvec)
        {
            Cv.Exception exception = new Cv.Exception();
            IntPtr       rvecPtr, tvecPtr;

            int valid = au_estimatePoseBoard(corners.CppPtr, ids.CppPtr, board.CppPtr, cameraMatrix.CppPtr, distCoeffs.CppPtr, out rvecPtr, out tvecPtr,
                                             exception.CppPtr);

            rvec = new Cv.Vec3d(rvecPtr);
            tvec = new Cv.Vec3d(tvecPtr);

            exception.Check();
            return(valid);
        }
Ejemplo n.º 4
0
        public static double CalibrateCameraCharuco(Std.VectorVectorPoint2f charucoCorners, Std.VectorVectorInt charucoIds, CharucoBoard board,
                                                    Cv.Size imageSize, Cv.Mat cameraMatrix, Cv.Mat distCoeffs, out Std.VectorMat rvecs, out Std.VectorMat tvecs, Cv.Calib flags,
                                                    Cv.TermCriteria criteria)
        {
            Cv.Exception exception = new Cv.Exception();
            IntPtr       rvecsPtr, tvecsPtr;

            double reProjectionError = au_calibrateCameraCharuco(charucoCorners.CppPtr, charucoIds.CppPtr, board.CppPtr, imageSize.CppPtr,
                                                                 cameraMatrix.CppPtr, distCoeffs.CppPtr, out rvecsPtr, out tvecsPtr, (int)flags, criteria.CppPtr, exception.CppPtr);

            rvecs = new Std.VectorMat(rvecsPtr);
            tvecs = new Std.VectorMat(tvecsPtr);

            exception.Check();
            return(reProjectionError);
        }
Ejemplo n.º 5
0
 public void Reserve(uint newCap)
 {
     Cv.Exception exception = new Cv.Exception();
     au_std_vectorDouble_reserve(CppPtr, newCap, exception.CppPtr);
     exception.Check();
 }
Ejemplo n.º 6
0
 public static void DrawDetectedMarkers(Cv.Mat image, Std.VectorVectorPoint2f corners, Std.VectorInt ids, Cv.Scalar borderColor)
 {
     Cv.Exception exception = new Cv.Exception();
     au_drawDetectedMarkers(image.CppPtr, corners.CppPtr, ids.CppPtr, borderColor.CppPtr, exception.CppPtr);
     exception.Check();
 }
Ejemplo n.º 7
0
 public static void DrawDetectedCornersCharuco(Cv.Mat image, Std.VectorPoint2f charucoCorners, Std.VectorInt charucoIds, Cv.Scalar cornerColor)
 {
     Cv.Exception exception = new Cv.Exception();
     au_drawDetectedCornersCharuco(image.CppPtr, charucoCorners.CppPtr, charucoIds.CppPtr, cornerColor.CppPtr, exception.CppPtr);
     exception.Check();
 }
Ejemplo n.º 8
0
 public static void DrawAxis(Cv.Mat image, Cv.Mat cameraMatrix, Cv.Mat distCoeffs, Cv.Vec3d rvec, Cv.Vec3d tvec, float length)
 {
     Cv.Exception exception = new Cv.Exception();
     au_drawAxis(image.CppPtr, cameraMatrix.CppPtr, distCoeffs.CppPtr, rvec.CppPtr, tvec.CppPtr, length, exception.CppPtr);
     exception.Check();
 }