OpenCV三角网剖分 SubDiv2D 详解

未完待续。。。。。

class SubDiv2D{
 
  
    // 两种构造函数
 
  
    Subdiv2D();// 第一种无参的构造函数
    
    /*
    *param[in] rect 空的Delaunay細分割的参数。例如,针对整个图片的场合,cv::Rect(0,0,width,height)
    */
    Subdiv2D(Rect rect);
 
  
 
  
    //初始化
    void initDelaunay(Rect rect);
 
  
    //往Delaunay三角形里面追加点
    int insert(Point2f pt);
    void insert(const vector& ptvec);
 
   
    //返回指定点所属三角形相关信息
    /*
    *param[in] pt 指定点
    *param[out] edge 指定点所属三角形最初的边ID
    *param[out] vertex 指定点所属三角形最初的頂点ID
    */
    int locate(Point2f pt, int& edge, int& vertex);
    // 找到与指定点最近的细分割的顶点。
    /*
    *param[in] pt 指定点
    *param[out] nearestPt 最近的细分割的顶点
    */
    int findNearest(Point2f pt, Point2f* nearestPt=0);

    //找到Delaunay边的集合
    /*
    \param[out] edgeList 边情报的集合。(始点的x座標和y座標、終点的x座標和y座標)
    */
    void getEdgeList(vector& edgeList) const;
 
   
 
   
    // 找到Delaunay三角形的顶点
    /*
    \param[out] traiangleList 三角形顶点的集合。(3个点的x座標和y座標)
    */
    void getTriangleList(vector& triangleList) const;

    // 找到Voronoi区域
    /*
    \param[in] idx Voronoi区域的ID
    \param[out] facetList 包围Voronoi区域的顶点
    \param[out] facetCenters Voronoi区域的母点
    */
    void getVoronoiFacetList(const vector& idx, vector >& facetList,
                                     vector& facetCenters);
 
   
 
   
    //!取得顶点
    /*!
    \param[in] vertex 顶点ID
    \param[out] firstEdge 与顶点最接近的边的ID
    \return 顶点的座標
    */
    Point2f getVertex(int vertex, int* firstEdge=0) const;
    
    //! 找到指定边关联的一条边
    /*!
    \param[in] edge 边的ID
    \param[in] nextEdgeType 指定要取到的边和指定边有怎样关系。
    \return 关联边的ID
    */
    int getEdge( int edge, int nextEdgeType ) const;
 
   
 
   
    int nextEdge(int edge) const;
    int rotateEdge(int edge, int rotate) const;
    int symEdge(int edge) const;

    //找到指定边的开始点
    /*
    \param[in] edge 指定边的ID
    \param[in] orgpt 开始点坐标。
    \return 取到的场合,返回>0的整数
    */
    int edgeOrg(int edge, Point2f* orgpt=0) const;

    //找到指定边的终点
    /*!
    \param[in] edge 指定边的ID
    \param[in] dstpt 终点坐标。
    \return 取到的场合,返回>0的整数
    */
    int edgeDst(int edge, Point2f* dstpt=0) const;
}





你可能感兴趣的:(OpenCV)