类 Subdiv2D
- java.lang.Object
-
- org.opencv.imgproc.Subdiv2D
-
public class Subdiv2D extends java.lang.Object
-
-
字段摘要
字段 修饰符和类型 字段 描述 protected longnativeObjstatic intNEXT_AROUND_DSTstatic intNEXT_AROUND_LEFTstatic intNEXT_AROUND_ORGstatic intNEXT_AROUND_RIGHTstatic intPREV_AROUND_DSTstatic intPREV_AROUND_LEFTstatic intPREV_AROUND_ORGstatic intPREV_AROUND_RIGHTstatic intPTLOC_ERRORstatic intPTLOC_INSIDEstatic intPTLOC_ON_EDGEstatic intPTLOC_OUTSIDE_RECTstatic intPTLOC_VERTEX
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static Subdiv2D__fromPtr__(long addr)intedgeDst(int edge)返回边的目标。intedgeDst(int edge, Point dstpt)返回边的目标。intedgeOrg(int edge)返回边的起点。intedgeOrg(int edge, Point orgpt)返回边的起点。protected voidfinalize()intfindNearest(Point pt)查找最接近给定点的细分顶点。intfindNearest(Point pt, Point nearestPt)查找最接近给定点的细分顶点。intgetEdge(int edge, int nextEdgeType)返回与给定边相关的其中一条边。voidgetEdgeList(MatOfFloat4 edgeList)返回所有边的列表。voidgetLeadingEdgeList(MatOfInt leadingEdgeList)返回连接到每个三角形的引导边 ID 列表。longgetNativeObjAddr()voidgetTriangleList(MatOfFloat6 triangleList)返回所有三角形的列表。PointgetVertex(int vertex)根据顶点 ID 返回顶点位置。PointgetVertex(int vertex, int[] firstEdge)根据顶点 ID 返回顶点位置。voidgetVoronoiFacetList(MatOfInt idx, java.util.List<MatOfPoint2f> facetList, MatOfPoint2f facetCenters)返回所有Voronoi面的列表。voidinitDelaunay(Rect rect)创建一个新的空Delaunay细分voidinsert(MatOfPoint2f ptvec)将多个点插入Delaunay三角剖分。intinsert(Point pt)将单个点插入Delaunay三角剖分。intlocate(Point pt, int[] edge, int[] vertex)返回点在Delaunay三角剖分中的位置。intnextEdge(int edge)返回围绕边起点的下一条边。introtateEdge(int edge, int rotate)返回同一四边形的另一条边。intsymEdge(int edge)
-
-
-
字段详情
-
nativeObj
protected final long nativeObj
-
PTLOC_ERROR
public static final int PTLOC_ERROR
- 另请参见
- 常量字段值
-
PTLOC_OUTSIDE_RECT
public static final int PTLOC_OUTSIDE_RECT
- 另请参见
- 常量字段值
-
PTLOC_INSIDE
public static final int PTLOC_INSIDE
- 另请参见
- 常量字段值
-
PTLOC_VERTEX
public static final int PTLOC_VERTEX
- 另请参见
- 常量字段值
-
PTLOC_ON_EDGE
public static final int PTLOC_ON_EDGE
- 另请参见
- 常量字段值
-
NEXT_AROUND_ORG
public static final int NEXT_AROUND_ORG
- 另请参见
- 常量字段值
-
NEXT_AROUND_DST
public static final int NEXT_AROUND_DST
- 另请参见
- 常量字段值
-
PREV_AROUND_ORG
public static final int PREV_AROUND_ORG
- 另请参见
- 常量字段值
-
PREV_AROUND_DST
public static final int PREV_AROUND_DST
- 另请参见
- 常量字段值
-
NEXT_AROUND_LEFT
public static final int NEXT_AROUND_LEFT
- 另请参见
- 常量字段值
-
NEXT_AROUND_RIGHT
public static final int NEXT_AROUND_RIGHT
- 另请参见
- 常量字段值
-
PREV_AROUND_LEFT
public static final int PREV_AROUND_LEFT
- 另请参见
- 常量字段值
-
PREV_AROUND_RIGHT
public static final int PREV_AROUND_RIGHT
- 另请参见
- 常量字段值
-
-
构造函数详情
-
Subdiv2D
protected Subdiv2D(long addr)
-
Subdiv2D
public Subdiv2D()
创建一个空的 Subdiv2D 对象。要创建一个新的空 Delaunay 细分,您需要使用 #initDelaunay 函数。
-
Subdiv2D
public Subdiv2D(Rect rect)
- 参数
rect- 包含要添加到细分的所有二维点的矩形。该函数创建一个空的 Delaunay 细分,可以使用 insert() 函数向其中添加二维点。所有要添加的点都必须在指定的矩形内,否则会引发运行时错误。
-
-
方法详情
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static Subdiv2D __fromPtr__(long addr)
-
initDelaunay
public void initDelaunay(Rect rect)
创建一个新的空Delaunay细分- 参数
rect- 包含要添加到细分的所有二维点的矩形。
-
insert
public int insert(Point pt)
将单个点插入Delaunay三角剖分。- 参数
pt- 要插入的点。该函数将单个点插入细分并适当地修改细分拓扑。如果已经存在具有相同坐标的点,则不会添加新点。- 返回值
- 点的 ID。**注意:**如果点位于指定的 rect 三角剖分之外,则会引发运行时错误。
-
insert
public void insert(MatOfPoint2f ptvec)
将多个点插入Delaunay三角剖分。- 参数
ptvec- 要插入的点。
-
locate
public int locate(Point pt, int[] edge, int[] vertex)
返回点在Delaunay三角剖分中的位置。- 参数
pt- 要定位的点。edge- 点所属的输出边,或者位于其右边的边。顶点- 可选输出顶点,输入点与其重合。该函数在细分中定位输入点,并给出三角形的边或顶点之一。- 返回值
- 一个整数,指定以下五种点位置情况之一
- 点落在某个面上。该函数返回 #PTLOC_INSIDE,并且 edge 将包含该面的边之一。
- 点落在边上。该函数返回 #PTLOC_ON_EDGE,并且 edge 将包含此边。
- 点与细分顶点之一重合。该函数返回 #PTLOC_VERTEX,并且 vertex 将包含指向该顶点的指针。
- 点位于细分参考矩形之外。该函数返回 #PTLOC_OUTSIDE_RECT,并且不填充任何指针。
- 输入参数之一无效。将引发运行时错误,或者如果选择了静默或“父”错误处理模式,则返回 #PTLOC_ERROR。
-
findNearest
public int findNearest(Point pt, Point nearestPt)
查找最接近给定点的细分顶点。- 参数
pt- 输入点。nearestPt- 输出细分顶点。该函数是另一个在细分中定位输入点的函数。它查找最接近输入点的细分顶点。它不一定是包含输入点的面的顶点之一,尽管该面(使用 locate() 定位)用作起点。- 返回值
- 顶点 ID。
-
findNearest
public int findNearest(Point pt)
查找最接近给定点的细分顶点。- 参数
pt- 输入点。该函数是另一个在细分中定位输入点的函数。它查找最接近输入点的细分顶点。它不一定是包含输入点的面的顶点之一,尽管该面(使用 locate() 定位)用作起点。- 返回值
- 顶点 ID。
-
getEdgeList
public void getEdgeList(MatOfFloat4 edgeList)
返回所有边的列表。- 参数
edgeList- 输出向量。该函数将每条边作为 4 个数字的向量给出,其中每两个数字都是边的顶点之一。即 org_x = v[0],org_y = v[1],dst_x = v[2],dst_y = v[3]。
-
getLeadingEdgeList
public void getLeadingEdgeList(MatOfInt leadingEdgeList)
返回连接到每个三角形的引导边 ID 列表。- 参数
leadingEdgeList- 输出向量。该函数为每个三角形提供一个边 ID。
-
getTriangleList
public void getTriangleList(MatOfFloat6 triangleList)
返回所有三角形的列表。- 参数
triangleList- 输出向量。该函数将每个三角形作为 6 个数字的向量给出,其中每两个数字都是三角形的顶点之一。即 p1_x = v[0],p1_y = v[1],p2_x = v[2],p2_y = v[3],p3_x = v[4],p3_y = v[5]。
-
getVoronoiFacetList
public void getVoronoiFacetList(MatOfInt idx, java.util.List<MatOfPoint2f> facetList, MatOfPoint2f facetCenters)
返回所有Voronoi面的列表。- 参数
idx- 要考虑的顶点 ID 向量。对于所有顶点,您可以传递空向量。facetList- Voronoi 面片的输出向量。facetCenters- Voronoi 面片中心点的输出向量。
-
getVertex
public Point getVertex(int vertex, int[] firstEdge)
根据顶点 ID 返回顶点位置。- 参数
vertex- 顶点 ID。firstEdge- 可选。连接到顶点的第一个边 ID。- 返回值
- 顶点 (x,y)
-
getVertex
public Point getVertex(int vertex)
根据顶点 ID 返回顶点位置。- 参数
vertex- 顶点 ID。- 返回值
- 顶点 (x,y)
-
getEdge
public int getEdge(int edge, int nextEdgeType)返回与给定边相关的其中一条边。- 参数
edge- 细分边 ID。nextEdgeType- 指定返回哪个相关边的参数。可能的值如下:- NEXT_AROUND_ORG 围绕边的起点下一个 (下图中如果 e 是输入边,则为 eOnext)
- NEXT_AROUND_DST 围绕边的终点下一个 (eDnext)
- PREV_AROUND_ORG 围绕边的起点上一个 (反向 eRnext)
- PREV_AROUND_DST 围绕边的终点上一个 (反向 eLnext)
- NEXT_AROUND_LEFT 围绕左侧面下一个 (eLnext)
- NEXT_AROUND_RIGHT 围绕右侧面下一个 (eRnext)
- PREV_AROUND_LEFT 围绕左侧面上一个 (反向 eOnext)
- PREV_AROUND_RIGHT 围绕右侧面上一个 (反向 eDnext)
- 返回值
- 与输入边相关的边 ID。
-
nextEdge
public int nextEdge(int edge)
返回围绕边起点的下一条边。- 参数
edge- 细分边 ID。- 返回值
- 一个整数,它是围绕边起点的下一个边 ID:上图中如果 e 是输入边,则为 eOnext。
-
rotateEdge
public int rotateEdge(int edge, int rotate)返回同一四边形的另一条边。- 参数
edge- 细分边 ID。rotate- 指定返回与输入边相同的四边形边的哪个边的参数。可能的值如下:- 0 - 输入边 (下图中如果 e 是输入边,则为 e)
- 1 - 旋转边 (eRot)
- 2 - 反向边 (反向 e (绿色))
- 3 - 反向旋转边 (反向 eRot (绿色))
- 返回值
- 与输入边相同的四边形的边 ID 之一。
-
symEdge
public int symEdge(int edge)
-
edgeOrg
public int edgeOrg(int edge, Point orgpt)返回边的起点。- 参数
edge- 细分边 ID。orgpt- 输出顶点位置。- 返回值
- 顶点 ID。
-
edgeOrg
public int edgeOrg(int edge)
返回边的起点。- 参数
edge- 细分边 ID。- 返回值
- 顶点 ID。
-
edgeDst
public int edgeDst(int edge, Point dstpt)返回边的目标。- 参数
edge- 细分边 ID。dstpt- 输出顶点位置。- 返回值
- 顶点 ID。
-
edgeDst
public int edgeDst(int edge)
返回边的目标。- 参数
edge- 细分边 ID。- 返回值
- 顶点 ID。
-
finalize
protected void finalize() throws java.lang.Throwable- 覆盖
finalize在类java.lang.Object中- 抛出
java.lang.Throwable
-
-