packages feed

opencv-0.0.0.0: src/OpenCV/Features2d.cpp

#include "opencv2/core.hpp"

#include "opencv2/features2d.hpp"

#include "orb.hpp"

#include "simple_blob_detector.hpp"

using namespace cv;

using namespace cv::flann;

extern "C" {
void inline_c_OpenCV_Features2d_0_c20526c404a6fe4a0e071193ba0c68f0b5fe2c85(Mat * trainVecPtr_inline_c_0, Mat * trainVecPtr_inline_c_1, int32_t ctrainVecLength_27_inline_c_2, DescriptorMatcher * dmPtr_inline_c_3) {

                std::vector<Mat> buffer( trainVecPtr_inline_c_0
                                       , trainVecPtr_inline_c_1 + ctrainVecLength_27_inline_c_2 );
                dmPtr_inline_c_3->add(buffer);
            
}

}

extern "C" {
void inline_c_OpenCV_Features2d_1_2813de60614f1b2e1d0142d271069dc9106fb99d(DescriptorMatcher * dmPtr_inline_c_0) {
 dmPtr_inline_c_0->train(); 
}

}

extern "C" {
void inline_c_OpenCV_Features2d_2_3de0409117ca129a76f8d5b6e877199877ed9bf5(Mat * maskPtr_inline_c_0, DescriptorMatcher * dmPtr_inline_c_1, Mat * queryPtr_inline_c_2, Mat * trainPtr_inline_c_3, int32_t * numMatchesPtr_inline_c_4, DMatch *** arrayPtrPtr_inline_c_5) {

                cv::Mat * maskPtr = maskPtr_inline_c_0;
                std::vector<cv::DMatch> matches = std::vector<cv::DMatch>();
                dmPtr_inline_c_1->match
                    ( *queryPtr_inline_c_2
                    , *trainPtr_inline_c_3
                    , matches
                    , maskPtr ? cv::_InputArray(*maskPtr) : cv::_InputArray(noArray())
                    );
                *numMatchesPtr_inline_c_4 = matches.size();
                cv::DMatch * * * arrayPtrPtr = arrayPtrPtr_inline_c_5;
                cv::DMatch * * arrayPtr = new cv::DMatch * [matches.size()];
                *arrayPtrPtr = arrayPtr;
                for (std::vector<cv::DMatch>::size_type ix = 0; ix != matches.size(); ix++)
                {
                    cv::DMatch & org = matches[ix];
                    cv::DMatch * newMatch =
                        new cv::DMatch( org.queryIdx
                                      , org.trainIdx
                                      , org.imgIdx
                                      , org.distance
                                      );
                    arrayPtr[ix] = newMatch;
                }
            
}

}

extern "C" {
void inline_c_OpenCV_Features2d_3_c754e0d048d4bef52c712950b7974557eb9337ca(DMatch *** arrayPtrPtr_inline_c_0) {

                delete [] *arrayPtrPtr_inline_c_0;
            
}

}

extern "C" {
void inline_c_OpenCV_Features2d_4_f81e11a4cba05db7138b02901752eba162a82674(Mat * maskPtr_inline_c_0, DescriptorMatcher * dmPtr_inline_c_1, Mat * queryPtr_inline_c_2, int32_t * numMatchesPtr_inline_c_3, DMatch *** arrayPtrPtr_inline_c_4) {

                cv::Mat * maskPtr = maskPtr_inline_c_0;
                std::vector<cv::DMatch> matches = std::vector<cv::DMatch>();
                dmPtr_inline_c_1->match
                    ( *queryPtr_inline_c_2
                    , matches
                    , maskPtr ? cv::_InputArray(*maskPtr) : cv::_InputArray(noArray())
                    );
                *numMatchesPtr_inline_c_3 = matches.size();
                cv::DMatch * * * arrayPtrPtr = arrayPtrPtr_inline_c_4;
                cv::DMatch * * arrayPtr = new cv::DMatch * [matches.size()];
                *arrayPtrPtr = arrayPtr;
                for (std::vector<cv::DMatch>::size_type ix = 0; ix != matches.size(); ix++)
                {
                    cv::DMatch & org = matches[ix];
                    cv::DMatch * newMatch =
                        new cv::DMatch( org.queryIdx
                                      , org.trainIdx
                                      , org.imgIdx
                                      , org.distance
                                      );
                    arrayPtr[ix] = newMatch;
                }
            
}

}

extern "C" {
void inline_c_OpenCV_Features2d_5_c754e0d048d4bef52c712950b7974557eb9337ca(DMatch *** arrayPtrPtr_inline_c_0) {

                delete [] *arrayPtrPtr_inline_c_0;
            
}

}

extern "C" {
Ptr_ORB * inline_c_OpenCV_Features2d_6_6b7f5143762c2c000af552afd3a3d686bdefea20(int32_t orb_nfeatures_inline_c_0, float cscaleFactor_27_inline_c_1, int32_t orb_nlevels_inline_c_2, int32_t orb_edgeThreshold_inline_c_3, int32_t orb_firstLevel_inline_c_4, int32_t cWTA_K_27_inline_c_5, int32_t cscoreType_27_inline_c_6, int32_t orb_patchSize_inline_c_7, int32_t orb_fastThreshold_inline_c_8) {

      cv::Ptr<cv::ORB> orbPtr =
        cv::ORB::create
        ( orb_nfeatures_inline_c_0
        , cscaleFactor_27_inline_c_1
        , orb_nlevels_inline_c_2
        , orb_edgeThreshold_inline_c_3
        , orb_firstLevel_inline_c_4
        , cWTA_K_27_inline_c_5
        , cscoreType_27_inline_c_6
        , orb_patchSize_inline_c_7
        , orb_fastThreshold_inline_c_8
        );
      return new cv::Ptr<cv::ORB>(orbPtr);
    
}

}

extern "C" {
Exception * inline_c_OpenCV_Features2d_7_ab5c3c7294768d603136931b15d35c34105db400(Ptr_ORB * orbPtr_inline_c_0, Mat * maskPtr_inline_c_1, Mat * imgPtr_inline_c_2, Mat * descPtr_inline_c_3, int32_t * numPtsPtr_inline_c_4, KeyPoint *** arrayPtrPtr_inline_c_5) {

  try
  {   
          cv::ORB * orb = *orbPtr_inline_c_0;
          cv::Mat * maskPtr = maskPtr_inline_c_1;

          std::vector<cv::KeyPoint> keypoints = std::vector<cv::KeyPoint>();
          orb->
            detectAndCompute
            ( *imgPtr_inline_c_2
            , maskPtr ? cv::_InputArray(*maskPtr) : cv::_InputArray(noArray())
            , keypoints
            , *descPtr_inline_c_3
            , false
            );

          *numPtsPtr_inline_c_4 = keypoints.size();

          cv::KeyPoint * * * arrayPtrPtr = arrayPtrPtr_inline_c_5;
          cv::KeyPoint * * arrayPtr = new cv::KeyPoint * [keypoints.size()];
          *arrayPtrPtr = arrayPtr;

          for (std::vector<cv::KeyPoint>::size_type ix = 0; ix != keypoints.size(); ix++)
          {
            cv::KeyPoint & org = keypoints[ix];
            cv::KeyPoint * newPt =
              new cv::KeyPoint( org.pt
                              , org.size
                              , org.angle
                              , org.response
                              , org.octave
                              , org.class_id
                              );
            arrayPtr[ix] = newPt;
          }
        
    return NULL;
  }
  catch (const cv::Exception & e)
  {
    return new cv::Exception(e);
  }

}

}

extern "C" {
void inline_c_OpenCV_Features2d_8_cf7ed8abd0aadc595f02b1ca9ec2ba13285a12cd(KeyPoint *** arrayPtrPtr_inline_c_0) {

            delete [] *arrayPtrPtr_inline_c_0;
          
}

}

extern "C" {
Ptr_SimpleBlobDetector * inline_c_OpenCV_Features2d_9_6d49cdf958cb32caa9373b05297fc3fae472250c(unsigned char cblobColor_27_inline_c_0, bool cfilterByArea_27_inline_c_1, bool cfilterByCircularity_27_inline_c_2, bool cfilterByColor_27_inline_c_3, bool cfilterByConvexity_27_inline_c_4, bool cfilterByInertia_27_inline_c_5, float cmaxArea_27_inline_c_6, float cmaxCircularity_27_inline_c_7, float cmaxConvexity_27_inline_c_8, float cmaxInertiaRatio_27_inline_c_9, float cmaxThreshold_27_inline_c_10, float cminArea_27_inline_c_11, float cminCircularity_27_inline_c_12, float cminConvexity_27_inline_c_13, float cminDistBetweenBlobs_27_inline_c_14, float cminInertiaRatio_27_inline_c_15, float cminRepeatability_27_inline_c_16, float cminThreshold_27_inline_c_17, float cthresholdStep_27_inline_c_18) {

      cv::SimpleBlobDetector::Params params;
      params.blobColor           = cblobColor_27_inline_c_0;
      params.filterByArea        = cfilterByArea_27_inline_c_1;
      params.filterByCircularity = cfilterByCircularity_27_inline_c_2;
      params.filterByColor       = cfilterByColor_27_inline_c_3;
      params.filterByConvexity   = cfilterByConvexity_27_inline_c_4;
      params.filterByInertia     = cfilterByInertia_27_inline_c_5;
      params.maxArea             = cmaxArea_27_inline_c_6;
      params.maxCircularity      = cmaxCircularity_27_inline_c_7;
      params.maxConvexity        = cmaxConvexity_27_inline_c_8;
      params.maxInertiaRatio     = cmaxInertiaRatio_27_inline_c_9;
      params.maxThreshold        = cmaxThreshold_27_inline_c_10;
      params.minArea             = cminArea_27_inline_c_11;
      params.minCircularity      = cminCircularity_27_inline_c_12;
      params.minConvexity        = cminConvexity_27_inline_c_13;
      params.minDistBetweenBlobs = cminDistBetweenBlobs_27_inline_c_14;
      params.minInertiaRatio     = cminInertiaRatio_27_inline_c_15;
      params.minRepeatability    = cminRepeatability_27_inline_c_16;
      params.minThreshold        = cminThreshold_27_inline_c_17;
      params.thresholdStep       = cthresholdStep_27_inline_c_18;
      cv::Ptr<cv::SimpleBlobDetector> detectorPtr =
        cv::SimpleBlobDetector::create(params);
      return new cv::Ptr<cv::SimpleBlobDetector>(detectorPtr);
    
}

}

extern "C" {
Exception * inline_c_OpenCV_Features2d_10_d7dbc50e18a0ed3c0249b015e18a47ba992cc422(Ptr_SimpleBlobDetector * detectorPtr_inline_c_0, Mat * maskPtr_inline_c_1, Mat * imgPtr_inline_c_2, int32_t * numPtsPtr_inline_c_3, KeyPoint *** arrayPtrPtr_inline_c_4) {

  try
  {   
          cv::SimpleBlobDetector * detector = *detectorPtr_inline_c_0;
          cv::Mat * maskPtr = maskPtr_inline_c_1;

          std::vector<cv::KeyPoint> keypoints = std::vector<cv::KeyPoint>();
          detector->
            detect
            ( *imgPtr_inline_c_2
            , keypoints
            , maskPtr ? cv::_InputArray(*maskPtr) : cv::_InputArray(noArray())
            );

          *numPtsPtr_inline_c_3 = keypoints.size();

          cv::KeyPoint * * * arrayPtrPtr = arrayPtrPtr_inline_c_4;
          cv::KeyPoint * * arrayPtr = new cv::KeyPoint * [keypoints.size()];
          *arrayPtrPtr = arrayPtr;

          for (std::vector<cv::KeyPoint>::size_type ix = 0; ix != keypoints.size(); ix++)
          {
            arrayPtr[ix] = new cv::KeyPoint(keypoints[ix]);
          }
        
    return NULL;
  }
  catch (const cv::Exception & e)
  {
    return new cv::Exception(e);
  }

}

}

extern "C" {
void inline_c_OpenCV_Features2d_11_cf7ed8abd0aadc595f02b1ca9ec2ba13285a12cd(KeyPoint *** arrayPtrPtr_inline_c_0) {

            delete [] *arrayPtrPtr_inline_c_0;
          
}

}

extern "C" {
BFMatcher * inline_c_OpenCV_Features2d_12_3d629b7d8af2ebe2d28b0b1fe498acf0062a5280(int32_t cnormType_27_inline_c_0, bool ccrossCheck_27_inline_c_1) {
return (
      new cv::BFMatcher
          ( cnormType_27_inline_c_0
          , ccrossCheck_27_inline_c_1
          )
    );
}

}

extern "C" {
void * inline_c_OpenCV_Features2d_13_0d213c0657123ccc4d29cdc7303c0b69c02d5fda(int32_t ctree_27_inline_c_0) {
return ( new flann::KDTreeIndexParams(ctree_27_inline_c_0) );
}

}

extern "C" {
void * inline_c_OpenCV_Features2d_14_2c184908ffa3530071446466c17650df005901f2(int32_t ctableNumber_27_inline_c_0, int32_t ckeySize_27_inline_c_1, int32_t cmultiProbeLevel_27_inline_c_2) {
return ( new cv::flann::LshIndexParams(ctableNumber_27_inline_c_0, ckeySize_27_inline_c_1, cmultiProbeLevel_27_inline_c_2) );
}

}

extern "C" {
void * inline_c_OpenCV_Features2d_15_f616e207428e82c732ad58557798246008ce8ba8(int32_t cchecks_27_inline_c_0, float ceps_27_inline_c_1, bool csorted_27_inline_c_2) {
return ( new cv::flann::SearchParams(cchecks_27_inline_c_0, ceps_27_inline_c_1, csorted_27_inline_c_2) );
}

}

extern "C" {
FlannBasedMatcher * inline_c_OpenCV_Features2d_16_6b8b6e4917570b136dfcc14b4750c0f143a658dd(void * cindexParams_27_inline_c_0, void * csearchParams_27_inline_c_1) {
return (
      new cv::FlannBasedMatcher((flann::IndexParams*)(cindexParams_27_inline_c_0), (flann::SearchParams*)(csearchParams_27_inline_c_1))
    );
}

}

extern "C" {
Exception * inline_c_OpenCV_Features2d_17_9769634ffcfe6b2423aca319c5ed479323f9a54a(KeyPoint * kps1Ptr_inline_c_0, KeyPoint * kps1Ptr_inline_c_1, int32_t ckps1Length_27_inline_c_2, KeyPoint * kps2Ptr_inline_c_3, KeyPoint * kps2Ptr_inline_c_4, int32_t ckps2Length_27_inline_c_5, DMatch * mt12Ptr_inline_c_6, DMatch * mt12Ptr_inline_c_7, int32_t cmatches1to2Length_27_inline_c_8, Mat * img1Ptr_inline_c_9, Mat * img2Ptr_inline_c_10, Mat * outImgPtr_inline_c_11) {

  try
  {   
                std::vector<KeyPoint> kps1(kps1Ptr_inline_c_0, kps1Ptr_inline_c_1 + ckps1Length_27_inline_c_2);
                std::vector<KeyPoint> kps2(kps2Ptr_inline_c_3, kps2Ptr_inline_c_4 + ckps2Length_27_inline_c_5);
                std::vector<DMatch>   mt12(mt12Ptr_inline_c_6,   mt12Ptr_inline_c_7 + cmatches1to2Length_27_inline_c_8);
                drawMatches(
                    *img1Ptr_inline_c_9,
                    kps1,
                    *img2Ptr_inline_c_10,
                    kps2,
                    mt12,
                    *outImgPtr_inline_c_11);
            
    return NULL;
  }
  catch (const cv::Exception & e)
  {
    return new cv::Exception(e);
  }

}

}

extern "C" {
void inline_c_OpenCV_Features2d_18_6765b7d0bd3bbad57c755d54daef3014c487f076(FlannBasedMatcher * ptr_inline_c_0) {
 delete ptr_inline_c_0 ;
}

}

extern "C" {
void inline_c_OpenCV_Features2d_19_4d27bc77ab4560f842e67bc6c3296c78e8185def(BFMatcher * ptr_inline_c_0) {
 delete ptr_inline_c_0 ;
}

}

extern "C" {
void inline_c_OpenCV_Features2d_20_33d1ad332669dd8a8debec52f30c332c6ecaca71(Ptr_SimpleBlobDetector * ptr_inline_c_0) {

                  cv::Ptr<cv::SimpleBlobDetector> * simpleBlobDetector_ptr_ptr = ptr_inline_c_0;
                  simpleBlobDetector_ptr_ptr->release();
                  delete simpleBlobDetector_ptr_ptr;
                
}

}

extern "C" {
void inline_c_OpenCV_Features2d_21_ed7595b29d7e25c46f90b240e3eaf60bd8a0e85f(Ptr_ORB * ptr_inline_c_0) {

                  cv::Ptr<cv::ORB> * orb_ptr_ptr = ptr_inline_c_0;
                  orb_ptr_ptr->release();
                  delete orb_ptr_ptr;
                
}

}