在OpenCV 3中找不到OpenCV 2 Delaunay三角剖分函数 我在Ubuntu 16上安装了OpenCV3.2.0,在NETBeaS 8.2中使用C++开发了AM.我正在尝试以下代码,这些代码与OpenCV 2完美结合 #include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h> #include <cv.hpp> #include <highgui.h> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/imgcodecs.hpp> #include <opencv2/videoio.hpp> #include <opencv2/imgproc/imgproc_c.h> #include <vector> #include <set> #include <map> vector< Triangle > CTwoDTriangulation::delaunayDiv(const vector< Point_<T> > & vP, cv::Rect boundRect, vector<Triangle>& triangles, int& numTriangles, bool lookRight) { CvSubdiv2D* subdiv; int numPts=vP.size(); CvPoint newPoint; CvMemStorage *storage; storage = cvCreateMemStorage(0); subdiv = cvCreateSubdivDelaunay2D( boundRect, storage ); for (size_t e = 0; e<numPts; e++) { newPoint=vP.at(e); if (newPoint.x<(boundRect.x + boundRect.width) && newPoint.y<(boundRect.y + boundRect.height)) cvSubdivDelaunay2DInsert(subdiv, vP.at(e)); } }

在OpenCV 3中找不到OpenCV 2 Delaunay三角剖分函数 我在Ubuntu 16上安装了OpenCV3.2.0,在NETBeaS 8.2中使用C++开发了AM.我正在尝试以下代码,这些代码与OpenCV 2完美结合 #include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h> #include <cv.hpp> #include <highgui.h> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/imgcodecs.hpp> #include <opencv2/videoio.hpp> #include <opencv2/imgproc/imgproc_c.h> #include <vector> #include <set> #include <map> vector< Triangle > CTwoDTriangulation::delaunayDiv(const vector< Point_<T> > & vP, cv::Rect boundRect, vector<Triangle>& triangles, int& numTriangles, bool lookRight) { CvSubdiv2D* subdiv; int numPts=vP.size(); CvPoint newPoint; CvMemStorage *storage; storage = cvCreateMemStorage(0); subdiv = cvCreateSubdivDelaunay2D( boundRect, storage ); for (size_t e = 0; e<numPts; e++) { newPoint=vP.at(e); if (newPoint.x<(boundRect.x + boundRect.width) && newPoint.y<(boundRect.y + boundRect.height)) cvSubdivDelaunay2DInsert(subdiv, vP.at(e)); } },c++,opencv,C++,Opencv,我试着键入cv::并查看有哪些函数可用。但我没有看到与CreateSubdivDelaunay2D类似的东西。我还用谷歌搜索了一下OpenCV 3中取代cvCreateSubdivDelaunay2D的东西,但没有找到任何东西。cvCreateSubdivDelaunay2D成为了传统(delauny三角测量的整个c界面也是如此),并已被删除。 对于OpenCV 3,您可以参考cv::SubDiv类。不要使用过时的C api!!!!!最新链接:Miki。有用的链接。谢谢,知道这一点很有帮助。我找

我试着键入cv::并查看有哪些函数可用。但我没有看到与CreateSubdivDelaunay2D类似的东西。我还用谷歌搜索了一下OpenCV 3中取代cvCreateSubdivDelaunay2D的东西,但没有找到任何东西。

cvCreateSubdivDelaunay2D
成为了传统(delauny三角测量的整个c界面也是如此),并已被删除。
对于OpenCV 3,您可以参考
cv::SubDiv
类。

不要使用过时的C api!!!!!最新链接:Miki。有用的链接。谢谢,知道这一点很有帮助。我找到了cv::Subdiv2D().initDelaunay(Rect Rect);但它是一个空函数。我找不到任何从cv::Subdiv2D()返回类型CvSubdiv2D*的函数,我也无法将cv::Subdiv2D()强制转换为CvSubdiv2D*。谢谢,我假设链接副本下的示例代码可以帮助您?是的。谢谢
../../DraculaFiles/TwoDTriangulation.cpp:4278:60: error: there are no arguments to ‘cvCreateSubdivDelaunay2D’ that depend on a template parameter, so a declaration of ‘cvCreateSubdivDelaunay2D’ must be available [-fpermissive]
 subdiv =  cvCreateSubdivDelaunay2D( boundRect, storage );