Changed the return type of cvMinEnclosingTriangle to CVAPI(void). Added the implement...
authorOvidiu Parvu <ovidiu.parvu@gmail.com>
Sun, 15 Sep 2013 22:25:36 +0000 (23:25 +0100)
committerOvidiu Parvu <ovidiu.parvu@gmail.com>
Sun, 15 Sep 2013 22:25:36 +0000 (23:25 +0100)
modules/imgproc/include/opencv2/imgproc/imgproc_c.h
modules/imgproc/src/min_enclosing_triangle.cpp

index f691e3e..40e8b4e 100644 (file)
@@ -378,7 +378,7 @@ CVAPI(CvBox2D)  cvMinAreaRect2( const CvArr* points,
                                 CvMemStorage* storage CV_DEFAULT(NULL));
 
 /* Finds minimum enclosing triangle for a set of points */
-CVAPI(int)  cvMinEnclosingTriangle( const CvArr* points,
+CVAPI(void) cvMinEnclosingTriangle( const CvArr* points,
                                     CvArr* triangle, double* area );
 
 /* Finds minimum enclosing circle for a set of points */
index ddf175c..3bddf57 100644 (file)
@@ -1297,4 +1297,25 @@ static bool lessOrEqual(double number1, double number2) {
 }
 
 
+////////////////////////////////////////////// C API ///////////////////////////////////////////
+
+
+//! Find the minimum enclosing triangle and its area for the given set of points
+/*!
+* @param points         Set of points
+* @param triangle       Minimum area triangle enclosing the given set of points
+* @param area           Area of the minimum area enclosing triangle
+*/
+CV_IMPL void
+cvMinEnclosingTriangle( const CvArr* _points, CvArr* _triangle, double* _area ) {
+    cv::Mat points = cv::cvarrToMat(_points);
+    cv::Mat triangle = cv::cvarrToMat(_triangle);
+    double area = 0;
+
+    cv::minEnclosingTriangle(points, triangle, area);
+
+    if (_area)
+        *_area = area;
+}
+
 /* End of file. */