packages feed

opencv-0.0.0.0: src/OpenCV/ImgProc/FeatureDetection.cpp

#include "opencv2/core.hpp"

#include "opencv2/imgproc.hpp"

using namespace cv;

extern "C" {
Exception * inline_c_OpenCV_ImgProc_FeatureDetection_0_5f88cbbf14721ff0e52026e5bf93249a196cdb8c(Mat * srcPtr_inline_c_0, Mat * dstPtr_inline_c_1, double cthreshold1_27_inline_c_2, double cthreshold2_27_inline_c_3, int32_t capertureSize_27_inline_c_4, bool cl2Gradient_27_inline_c_5) {

  try
  {   
          cv::Canny
          ( *srcPtr_inline_c_0
          , *dstPtr_inline_c_1
          , cthreshold1_27_inline_c_2
          , cthreshold2_27_inline_c_3
          , capertureSize_27_inline_c_4
          , cl2Gradient_27_inline_c_5
          );
        
    return NULL;
  }
  catch (const cv::Exception & e)
  {
    return new cv::Exception(e);
  }

}

}

extern "C" {
void inline_c_OpenCV_ImgProc_FeatureDetection_1_d3ad35ecbcac628897a1552ca7c9008021f820e4(Mat * mskPtr_inline_c_0, Mat * srcPtr_inline_c_1, int32_t maxCorners_inline_c_2, double cqualityLevel_27_inline_c_3, double cminDistance_27_inline_c_4, int32_t cblockSize_27_inline_c_5, bool cuseHarrisDetector_27_inline_c_6, double charrisK_27_inline_c_7, Point2f *** cornersPtrPtr_inline_c_8, int32_t * cornersLengthsPtr_inline_c_9) {

      std::vector<cv::Point2f> corners;
      Mat * mskPtr = mskPtr_inline_c_0;
      cv::goodFeaturesToTrack
      ( *srcPtr_inline_c_1
      , corners
      , maxCorners_inline_c_2
      , cqualityLevel_27_inline_c_3
      , cminDistance_27_inline_c_4
      , mskPtr ? _InputArray(*mskPtr) : _InputArray(cv::noArray())
      , cblockSize_27_inline_c_5
      , cuseHarrisDetector_27_inline_c_6
      , charrisK_27_inline_c_7
      );

      cv::Point2f * * * cornersPtrPtr = cornersPtrPtr_inline_c_8;
      cv::Point2f * * cornersPtr = new cv::Point2f * [corners.size()];
      *cornersPtrPtr = cornersPtr;

      *cornersLengthsPtr_inline_c_9 = corners.size();

      for (std::vector<cv::Point2f>::size_type i = 0; i != corners.size(); i++) {
        cornersPtr[i] = new cv::Point2f( corners[i] );
      }
    
}

}

extern "C" {
void inline_c_OpenCV_ImgProc_FeatureDetection_2_c9d92b710b149101347a9c45ed5938492191af5c(Point2f *** cornersPtrPtr_inline_c_0) {

      delete [] *cornersPtrPtr_inline_c_0;
    
}

}

extern "C" {
Exception * inline_c_OpenCV_ImgProc_FeatureDetection_3_a4f81dd096a5abe34749e20b9be735232e6748b4(Mat * srcPtr_inline_c_0, double cdp_27_inline_c_1, double cminDist_27_inline_c_2, double cparam1_27_inline_c_3, double cparam2_27_inline_c_4, int32_t cminRadius_27_inline_c_5, int32_t cmaxRadius_27_inline_c_6, Vec3f *** circlesPtrPtr_inline_c_7, int32_t * circleLengthsPtr_inline_c_8) {

  try
  {   
      std::vector<cv::Vec3f> circles;
      cv::HoughCircles(
        *srcPtr_inline_c_0,
        circles,
        CV_HOUGH_GRADIENT,
        cdp_27_inline_c_1,
        cminDist_27_inline_c_2,
        cparam1_27_inline_c_3,
        cparam2_27_inline_c_4,
        cminRadius_27_inline_c_5,
        cmaxRadius_27_inline_c_6
      );

      cv::Vec3f * * * circlesPtrPtr = circlesPtrPtr_inline_c_7;
      cv::Vec3f * * circlesPtr = new cv::Vec3f * [circles.size()];
      *circlesPtrPtr = circlesPtr;

      *circleLengthsPtr_inline_c_8 = circles.size();

      for (std::vector<cv::Vec3f>::size_type i = 0; i != circles.size(); i++) {
        circlesPtr[i] = new cv::Vec3f( circles[i] );
      }
    
    return NULL;
  }
  catch (const cv::Exception & e)
  {
    return new cv::Exception(e);
  }

}

}

extern "C" {
void inline_c_OpenCV_ImgProc_FeatureDetection_4_c6446509d1918e78bf046dd1d2f1c932e3ccf9f6(Vec3f *** circlesPtrPtr_inline_c_0) {
 delete [] *circlesPtrPtr_inline_c_0; 
}

}

extern "C" {
void inline_c_OpenCV_ImgProc_FeatureDetection_5_e55ed1c705d2d80d10931b28319c21af80a9d7e0(Mat * srcPtr_inline_c_0, double crho_27_inline_c_1, double ctheta_27_inline_c_2, int32_t threshold_inline_c_3, double cminLineLength_27_inline_c_4, double cmaxLineGap_27_inline_c_5, int32_t * numLinesPtr_inline_c_6, Vec4i *** linesPtrPtr_inline_c_7) {

        std::vector<cv::Vec4i> lines = std::vector<cv::Vec4i>();
        cv::HoughLinesP
          ( *srcPtr_inline_c_0
          , lines
          , crho_27_inline_c_1
          , ctheta_27_inline_c_2
          , threshold_inline_c_3
          , cminLineLength_27_inline_c_4
          , cmaxLineGap_27_inline_c_5
          );

        *numLinesPtr_inline_c_6 = lines.size();

        cv::Vec4i * * * linesPtrPtr = linesPtrPtr_inline_c_7;
        cv::Vec4i * * linesPtr = new cv::Vec4i * [lines.size()];
        *linesPtrPtr = linesPtr;

        for (std::vector<cv::Vec4i>::size_type ix = 0; ix != lines.size(); ix++)
        {
          cv::Vec4i & org = lines[ix];
          cv::Vec4i * newLine = new cv::Vec4i(org[0], org[1], org[2], org[3]);
          linesPtr[ix] = newLine;
        }
      
}

}

extern "C" {
void inline_c_OpenCV_ImgProc_FeatureDetection_6_38d283b332ccfda6ddffce48d6828cd1a8dde2d9(Vec4i *** linesPtrPtr_inline_c_0) {

        delete [] *linesPtrPtr_inline_c_0;
      
}

}