类 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- 包含要添加到细分中的所有 2D 点的矩形。 该函数创建一个空的 Delaunay 细分,可以使用 insert() 函数添加 2D 点。 要添加的所有点必须在指定的矩形内,否则会引发运行时错误。
-
-
方法详细信息
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static Subdiv2D __fromPtr__(long addr)
-
initDelaunay
public void initDelaunay(Rect rect)
创建一个新的空 Delaunay 细分- 参数
rect- 包含要添加到细分中的所有 2D 点的矩形。
-
insert
public int insert(Point pt)
将单个点插入到 Delaunay 三角剖分中。- 参数
pt- 要插入的点。 该函数将单个点插入细分中,并适当修改细分拓扑。 如果已存在具有相同坐标的点,则不会添加新点。- 返回
- 点的 ID。 注意:如果点在指定的三角形外部,则会引发运行时错误。
-
insert
public void insert(MatOfPoint2f ptvec)
将多个点插入到 Delaunay 三角剖分中。- 参数
ptvec- 要插入的点。 该函数将一个点向量插入细分中,并适当修改细分拓扑。
-
locate
public int locate(Point pt, int[] edge, int[] vertex)
返回 Delaunay 三角剖分中点的位置。- 参数
pt- 要定位的点。edge- 该点所属或位于其右侧的输出边。vertex- 可选的输出顶点,输入点与其重合。 该函数在细分中定位输入点,并给出三角形的边或顶点之一。- 返回
- 一个整数,指定点位置的以下五种情况之一
- 该点落入某个面片中。 该函数返回 #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- 重写
finalizein classjava.lang.Object- 抛出
java.lang.Throwable
-
-