CvQuadEdge2D在OpenCV 3中是否具有等效性

时间:2017-03-14 14:54:12

标签: c++ opencv

我在Ubuntu 16(LTS)上使用OpenCV 3.2和Netbeans 8.0。

CvQuadEdge2D在OpenCV 2中非常有用,但似乎已从OpenCV 3中消失了。我能找到的最接近的是

struct CV_EXPORTS QuadEdge
{
    QuadEdge();
    QuadEdge(int edgeidx);
    bool isfree() const;

    int next[4];
    int pt[4];
};

在imageproc.hpp中。然而

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <string.h>
#include <cv.hpp>
#include <highgui.h>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>

int main(){
    struct CV_EXPORTS QuadEdge* edge
}

导致QuadEdge未定义&#34;。

1 个答案:

答案 0 :(得分:3)

在OpenCV 3中,CvQuadEdge2D背后的概念位于Edge

现在,您可以使用getEdge浏览边缘。您可以使用getEdgeList

获取所有边的顶点列表

QuadEdge本身是类Subdiv2d的受保护成员,因此您无法访问它。您应该使用 new Edge界面。