opencv-extra-0.0.0.0: src/OpenCV/Extra/XFeatures2d.cpp
#include "opencv2/core.hpp"
#include "opencv2/xfeatures2d.hpp"
#include "xfeatures/surf.hpp"
using namespace cv;
extern "C" {
Ptr_SURF * inline_c_OpenCV_Extra_XFeatures2d_0_bc51f58e60712bc5e3af0c96b0bc52ae5b9b1c1a(double chessianThreshold_27_inline_c_0, int32_t surf_nOctaves_inline_c_1, int32_t surf_nOctaveLayers_inline_c_2, bool cextended_27_inline_c_3, bool cupright_27_inline_c_4) {
cv::Ptr<cv::xfeatures2d::SURF> surfPtr =
cv::xfeatures2d::SURF::create
( chessianThreshold_27_inline_c_0
, surf_nOctaves_inline_c_1
, surf_nOctaveLayers_inline_c_2
, cextended_27_inline_c_3
, cupright_27_inline_c_4
);
return new cv::Ptr<cv::xfeatures2d::SURF>(surfPtr);
}
}
extern "C" {
Exception * inline_c_OpenCV_Extra_XFeatures2d_1_010dc4a635b061c9b20e8bc1a0f09def3d5e993b(Ptr_SURF * surfPtr_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::xfeatures2d::SURF * surf = *surfPtr_inline_c_0;
cv::Mat * maskPtr = maskPtr_inline_c_1;
std::vector<cv::KeyPoint> keypoints = std::vector<cv::KeyPoint>();
surf->
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_Extra_XFeatures2d_2_cf7ed8abd0aadc595f02b1ca9ec2ba13285a12cd(KeyPoint *** arrayPtrPtr_inline_c_0) {
delete [] *arrayPtrPtr_inline_c_0;
}
}
extern "C" {
void inline_c_OpenCV_Extra_XFeatures2d_3_0a78fb7b80501d1c0a37452b7758538729bc3810(Ptr_SURF * ptr_inline_c_0) {
cv::Ptr<cv::xfeatures2d::SURF> * surf_ptr_ptr = ptr_inline_c_0;
surf_ptr_ptr->release();
delete surf_ptr_ptr;
}
}