opencv-0.0.0.0: src/OpenCV/ImgProc/StructuralAnalysis.cpp
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
using namespace cv;
extern "C" {
Exception * inline_c_OpenCV_ImgProc_StructuralAnalysis_0_7935fba0a7f8ba80a4bbee32ab76a2a8748ac730(Point2f * contourPtr_inline_c_0, int32_t cnumPoints_27_inline_c_1, double * carea_27_inline_c_2, bool coriented_27_inline_c_3) {
try
{
cv::_InputArray contour =
cv::_InputArray( contourPtr_inline_c_0
, cnumPoints_27_inline_c_1
);
*carea_27_inline_c_2 = cv::contourArea(contour, coriented_27_inline_c_3);
return NULL;
}
catch (const cv::Exception & e)
{
return new cv::Exception(e);
}
}
}
extern "C" {
Exception * inline_c_OpenCV_ImgProc_StructuralAnalysis_1_4b2ac3789eb26d10e61f390b3818a71f30a3a509(Point2f * contourPtr_inline_c_0, int32_t cnumPoints_27_inline_c_1, double * cresultPtr_27_inline_c_2, Point2f * ptPtr_inline_c_3, bool cmeasureDist_27_inline_c_4) {
try
{
cv::_InputArray contour =
cv::_InputArray( contourPtr_inline_c_0
, cnumPoints_27_inline_c_1
);
*cresultPtr_27_inline_c_2 =
cv::pointPolygonTest( contour
, *ptPtr_inline_c_3
, cmeasureDist_27_inline_c_4
);
return NULL;
}
catch (const cv::Exception & e)
{
return new cv::Exception(e);
}
}
}
extern "C" {
void inline_c_OpenCV_ImgProc_StructuralAnalysis_2_614023623c1bbdf57403aa0cb1c576902533a9fe(Mat * srcPtr_inline_c_0, int32_t cmode_27_inline_c_1, int32_t cmethod_27_inline_c_2, int32_t * numContoursPtr_inline_c_3, Point2i **** contoursPtrPtr_inline_c_4, Vec4i *** hierarchyPtrPtr_inline_c_5, int32_t ** contourLengthsPtrPtr_inline_c_6) {
std::vector<std::vector<cv::Point>> contours;
std::vector<cv::Vec4i> hierarchy;
cv::findContours(
*srcPtr_inline_c_0,
contours,
hierarchy,
cmode_27_inline_c_1,
cmethod_27_inline_c_2
);
*numContoursPtr_inline_c_3 = contours.size();
cv::Point * * * * contoursPtrPtr = contoursPtrPtr_inline_c_4;
cv::Point * * * contoursPtr = new cv::Point * * [contours.size()];
*contoursPtrPtr = contoursPtr;
cv::Vec4i * * * hierarchyPtrPtr = hierarchyPtrPtr_inline_c_5;
cv::Vec4i * * hierarchyPtr = new cv::Vec4i * [contours.size()];
*hierarchyPtrPtr = hierarchyPtr;
int32_t * * contourLengthsPtrPtr = contourLengthsPtrPtr_inline_c_6;
int32_t * contourLengthsPtr = new int32_t [contours.size()];
*contourLengthsPtrPtr = contourLengthsPtr;
for (std::vector<std::vector<cv::Point>>::size_type i = 0; i < contours.size(); i++) {
std::vector<cv::Point> & contourPoints = contours[i];
cv::Vec4i hierarchyInfo = hierarchy[i];
contourLengthsPtr[i] = contourPoints.size();
cv::Point * * newContourPoints = new cv::Point * [contourPoints.size()];
for (std::vector<cv::Point>::size_type j = 0; j < contourPoints.size(); j++) {
cv::Point & orig = contourPoints[j];
cv::Point * newPt = new cv::Point(orig.x, orig.y);
newContourPoints[j] = newPt;
}
contoursPtr[i] = newContourPoints;
hierarchyPtr[i] = new cv::Vec4i(
hierarchyInfo[0],
hierarchyInfo[1],
hierarchyInfo[2],
hierarchyInfo[3]
);
}
}
}
extern "C" {
void inline_c_OpenCV_ImgProc_StructuralAnalysis_3_ff5ea92778e465a6335a4692b484c0bf9d4d34d0(Point2i **** contoursPtrPtr_inline_c_0, Vec4i *** hierarchyPtrPtr_inline_c_1, int32_t ** contourLengthsPtrPtr_inline_c_2) {
delete [] *contoursPtrPtr_inline_c_0;
delete [] *hierarchyPtrPtr_inline_c_1;
delete [] *contourLengthsPtrPtr_inline_c_2;
}
}
extern "C" {
void inline_c_OpenCV_ImgProc_StructuralAnalysis_4_b1965061fd4c69b7637c516ababa8f2fae19bdde(Point2i * curvePtr_inline_c_0, int32_t cnumPoints_27_inline_c_1, double cepsilon_27_inline_c_2, bool cisClosed_27_inline_c_3, int32_t * numPointsResPtr_inline_c_4, Point2i *** pointsResPtrPtr_inline_c_5) {
std::vector<cv::Point> points_res;
cv::_InputArray curve = cv::_InputArray (curvePtr_inline_c_0, cnumPoints_27_inline_c_1);
cv::approxPolyDP
( curve
, points_res
, cepsilon_27_inline_c_2
, cisClosed_27_inline_c_3
);
*numPointsResPtr_inline_c_4 = points_res.size();
cv::Point * * * pointsResPtrPtr = pointsResPtrPtr_inline_c_5;
cv::Point * * pointsResPtr = new cv::Point * [points_res.size()];
*pointsResPtrPtr = pointsResPtr;
for (std::vector<cv::Point>::size_type i = 0; i < points_res.size(); i++) {
cv::Point & ptAddress = points_res[i];
cv::Point * newPt = new cv::Point(ptAddress.x, ptAddress.y);
pointsResPtr[i] = newPt;
}
}
}
extern "C" {
void inline_c_OpenCV_ImgProc_StructuralAnalysis_5_c6aa8b9807565075fddddcc34edf8efb263f7d67(Point2i *** pointsResPtrPtr_inline_c_0) {
delete [] *pointsResPtrPtr_inline_c_0;
}
}
extern "C" {
Exception * inline_c_OpenCV_ImgProc_StructuralAnalysis_6_1fed7fd1e0382f9c24232067deba04c89c597064(Point2i * curvePtr_inline_c_0, int32_t cnumPoints_27_inline_c_1, double * cresultPtr_27_inline_c_2, bool cisClosed_27_inline_c_3) {
try
{
cv::_InputArray curve =
cv::_InputArray ( curvePtr_inline_c_0
, cnumPoints_27_inline_c_1
);
*cresultPtr_27_inline_c_2 =
cv::arcLength( curve
, cisClosed_27_inline_c_3
);
return NULL;
}
catch (const cv::Exception & e)
{
return new cv::Exception(e);
}
}
}
extern "C" {
RotatedRect * inline_c_OpenCV_ImgProc_StructuralAnalysis_7_a83635d7b79cb79d9a94886051098775b48130e1(Point2i * pointsPtr_inline_c_0, int32_t cnumPoints_27_inline_c_1) {
return (
new RotatedRect(
cv::minAreaRect(
cv::_InputArray( pointsPtr_inline_c_0
, cnumPoints_27_inline_c_1)))
);
}
}