packages feed

opencv-extra-0.0.0.0: src/OpenCV/Extra/ArUco.cpp

#include "opencv2/aruco.hpp"

#include "opencv2/aruco/charuco.hpp"

#include "opencv2/core.hpp"

#include "iostream"

#include "aruco.hpp"

using namespace cv;

using namespace cv::aruco;

using namespace std;

extern "C" {
bool inline_c_OpenCV_Extra_ArUco_0_bd5552a5292d57848d9aa88652d764e8c9c42af4(VectorVectorPoint2f * carucoCorners_27_inline_c_0, VectorInt * carucoIds_27_inline_c_1, Mat * imagePtr_inline_c_2, Ptr_CharucoBoard * ccharucoBoard_27_inline_c_3, Mat ** charucoIdsPtr_inline_c_4, Mat ** charucoCornersPtr_inline_c_5) {

        auto & corners = *carucoCorners_27_inline_c_0;
        auto & ids = *carucoIds_27_inline_c_1;
        auto & frame = *imagePtr_inline_c_2;

        auto charucoCorners = new Mat();
        auto charucoIds = new Mat();

        interpolateCornersCharuco(corners,
                                  ids,
                                  frame,
                                  *ccharucoBoard_27_inline_c_3,
                                  *charucoCorners,
                                  *charucoIds);

        *charucoIdsPtr_inline_c_4 = charucoIds;
        *charucoCornersPtr_inline_c_5 = charucoCorners;

        return !charucoIds->empty();
      
}

}

extern "C" {
bool inline_c_OpenCV_Extra_ArUco_1_615bf459fee0dd377cb9469a903293b632daa6ef(Mat * ccornersPtr_27_inline_c_0, Mat * cidsPtr_27_inline_c_1, Ptr_CharucoBoard * ccharucoBoard_27_inline_c_2, Matx33d * ccameraMatrix_27_inline_c_3, Matx51d * cdistCoeffs_27_inline_c_4, Vec3d * rvecPtr_inline_c_5, Vec3d * tvecPtr_inline_c_6) {

          return estimatePoseCharucoBoard(*ccornersPtr_27_inline_c_0,
                                          *cidsPtr_27_inline_c_1,
                                          *ccharucoBoard_27_inline_c_2,
                                          *ccameraMatrix_27_inline_c_3,
                                          *cdistCoeffs_27_inline_c_4,
                                          *rvecPtr_inline_c_5,
                                          *tvecPtr_inline_c_6);
          
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_2_97babe245258febd5fd31065cc0da01bf14d0b96(Mat * imagePtr_inline_c_0, Matx33d * ccameraMatrix_27_inline_c_1, Matx51d * cdistCoeffs_27_inline_c_2, Vec3d * rvecPtr_inline_c_3, Vec3d * tvecPtr_inline_c_4) {

        drawAxis(*imagePtr_inline_c_0,
                 *ccameraMatrix_27_inline_c_1,
                 *cdistCoeffs_27_inline_c_2,
                 *rvecPtr_inline_c_3,
                 *tvecPtr_inline_c_4,
                 1);
      
}

}

extern "C" {
Exception * inline_c_OpenCV_Extra_ArUco_3_189a51fbfeacf22e1e41218ae5f7f2c90ddd95ff(long callCorners_27_inline_c_0, VectorVectorPoint2f ** callCorners_27_inline_c_1, long callIds_27_inline_c_2, VectorInt ** callIds_27_inline_c_3, int cwidth_27_inline_c_4, int cheight_27_inline_c_5, Ptr_CharucoBoard * cboard_27_inline_c_6, Matx33d * cameraMatrixPtr_inline_c_7, Matx51d * distCoeffsPtr_inline_c_8, long callCharucoCorners_27_inline_c_9, Mat ** callCharucoCorners_27_inline_c_10, long callCharucoIds_27_inline_c_11, Mat ** callCharucoIds_27_inline_c_12, Matx33d * cameraMatrixPtr_inline_c_13, Matx51d * distCoeffsPtr_inline_c_14) {

  try
  {   
          vector< vector<Point2f> > allCorners;
          for(auto i = 0; i < callCorners_27_inline_c_0; i++) {
            auto & corners =
              *callCorners_27_inline_c_1[i];

            allCorners.insert(allCorners.end(), corners.begin(), corners.end());
          }

          vector<int> allIds;
          vector<int> counter;
          for(auto i = 0; i < callIds_27_inline_c_2; i++) {
            auto & ids = *callIds_27_inline_c_3[i];
            allIds.insert(allIds.end(), ids.begin(), ids.end());
            counter.push_back(ids.size());
          }

          Size frameSize(cwidth_27_inline_c_4, cheight_27_inline_c_5);

          Ptr<CharucoBoard> charucoBoard = *cboard_27_inline_c_6;
          Ptr<cv::aruco::Board> board = charucoBoard.staticCast<cv::aruco::Board>();

          calibrateCameraAruco(allCorners,
                              allIds,
                              counter,
                              board,
                              frameSize,
                              *cameraMatrixPtr_inline_c_7,
                              *distCoeffsPtr_inline_c_8);

          vector<Mat> allCharucoCorners;
          for(auto i = 0; i < callCharucoCorners_27_inline_c_9; i++) {
            auto & corners = *callCharucoCorners_27_inline_c_10[i];
            allCharucoCorners.push_back(corners);
          }

          vector<Mat> allCharucoIds;
          for(auto i = 0; i < callCharucoIds_27_inline_c_11; i++) {
            auto & ids = *callCharucoIds_27_inline_c_12[i];
            allCharucoIds.push_back(ids);
          }

          Mat perViewErrors;

          calibrateCameraCharuco(allCharucoCorners,
                                allCharucoIds,
                                charucoBoard,
                                frameSize,
                                *cameraMatrixPtr_inline_c_13,
                                *distCoeffsPtr_inline_c_14,
                                noArray(),
                                noArray(),
                                noArray(),
                                noArray(),
                                perViewErrors);
        
    return NULL;
  }
  catch (const cv::Exception & e)
  {
    return new cv::Exception(e);
  }

}

}

extern "C" {
bool inline_c_OpenCV_Extra_ArUco_4_e65bd42c3a4ec69183769f1d3abbc8dc9ac21c29(Mat * imagePtr_inline_c_0, Ptr_Dictionary * cdictionary_27_inline_c_1, VectorVectorPoint2f ** cornersOutPtr_inline_c_2, VectorInt ** idsOutPtr_inline_c_3) {

        auto * corners = new vector< vector<Point2f> >();
        auto * ids = new vector<int>();

        detectMarkers(*imagePtr_inline_c_0,
                      *cdictionary_27_inline_c_1,
                      *corners,
                      *ids);

        *cornersOutPtr_inline_c_2 = corners;
        *idsOutPtr_inline_c_3 = ids;
        return ids->size() > 0;
      
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_5_e103b2a6072343f5d389cb9096058d5b33defc59(Mat * imagePtr_inline_c_0, VectorVectorPoint2f * ccornersPtr_27_inline_c_1, VectorInt * cidsPtr_27_inline_c_2) {

    drawDetectedMarkers(*imagePtr_inline_c_0,
                        *ccornersPtr_27_inline_c_1,
                        *cidsPtr_27_inline_c_2);
  
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_6_37feba18e64b5c7115da15bd570386759895c7a2(Mat * imagePtr_inline_c_0, Mat * ccornersPtr_27_inline_c_1, Mat * cidsPtr_27_inline_c_2) {

    drawDetectedCornersCharuco(*imagePtr_inline_c_0,
                               *ccornersPtr_27_inline_c_1,
                               *cidsPtr_27_inline_c_2);
  
}

}

extern "C" {
Ptr_CharucoBoard * inline_c_OpenCV_Extra_ArUco_7_30fe6411bb487a62b7005f44d34773c8ce51511a(int csquaresX_27_inline_c_0, int csquaresY_27_inline_c_1, double csquareLength_27_inline_c_2, double cmarkerLength_27_inline_c_3, Ptr_Dictionary * cdictionary_27_inline_c_4) {

    return
      new Ptr<CharucoBoard>(CharucoBoard::create(csquaresX_27_inline_c_0,
                                                  csquaresY_27_inline_c_1,
                                                  csquareLength_27_inline_c_2,
                                                  cmarkerLength_27_inline_c_3,
                                                  *cdictionary_27_inline_c_4));
  
}

}

extern "C" {
int inline_c_OpenCV_Extra_ArUco_8_7ede7ba79559132935c117a79d32f29421fb5af7() {
return ( DICT_7X7_1000 );
}

}

extern "C" {
Ptr_Dictionary * inline_c_OpenCV_Extra_ArUco_9_e043f809501b147d4172ef13477613254e4c1009(int cname_27_inline_c_0) {

    return
      new Ptr<Dictionary>(getPredefinedDictionary(cname_27_inline_c_0));
  
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_10_1660ae62bf4004a4267ef43424eaa8c162afdea4(Mat * dstPtr_inline_c_0, Ptr_CharucoBoard * cboard_27_inline_c_1, int32_t w_inline_c_2, int32_t h_inline_c_3) {

          Mat & board = * dstPtr_inline_c_0;
          Ptr<CharucoBoard> & charucoBoard = *cboard_27_inline_c_1;
          charucoBoard->draw(cv::Size(w_inline_c_2, h_inline_c_3), board);
        
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_11_26c5e19bfe16c79e7bf651cb378e30fd432cd99b(VectorVectorPoint2f * ptr_inline_c_0) {
 delete ptr_inline_c_0; 
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_12_86f8b8c429a70629e07c27698801886a0484dfef(VectorInt * ptr_inline_c_0) {
 delete ptr_inline_c_0; 
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_13_a3285f65e0699baa139781baf5bb261b6fa6aa9d(Ptr_CharucoBoard * ptr_inline_c_0) {
 delete ptr_inline_c_0; 
}

}

extern "C" {
void inline_c_OpenCV_Extra_ArUco_14_35320368ab79414e41da235a390ce49c04ab0a5c(Ptr_Dictionary * ptr_inline_c_0) {
 delete ptr_inline_c_0; 
}

}