🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

クラス Subdiv2D


  • public class Subdiv2D
    extends java.lang.Object
    • コンストラクタの詳細

      • Subdiv2D

        protected Subdiv2D​(long addr)
      • Subdiv2D

        public Subdiv2D()
        creates an empty Subdiv2D object. To create a new empty Delaunay subdivision you need to use the #initDelaunay function.
      • Subdiv2D

        public Subdiv2D​(Rect rect)
        引数:
        rect - 分割に追加するすべての2D点を包含する矩形。この関数は、insert() 関数を用いて2D点を追加できる空のドロネー分割を作成する。追加するすべての点は指定した矩形内になければならず、そうでない場合は実行時エラーが発生する。
    • メソッドの詳細

      • getNativeObjAddr

        public long getNativeObjAddr()
      • __fromPtr__

        public static Subdiv2D __fromPtr__​(long addr)
      • initDelaunay

        public void initDelaunay​(Rect rect)
        Creates a new empty Delaunay subdivision
        引数:
        rect - 分割に追加するすべての2D点を包含する矩形。
      • insert

        public int insert​(Point pt)
        Insert a single point into a Delaunay triangulation.
        引数:
        pt - 挿入する点。この関数は分割に1つの点を挿入し、分割のトポロジを適切に更新する。同じ座標を持つ点がすでに存在する場合、新しい点は追加されない。
        戻り値:
        点のID。注意: 点が三角形分割に指定された rect の外にある場合は実行時エラーが発生する。
      • insert

        public void insert​(MatOfPoint2f ptvec)
        Insert multiple points into a Delaunay triangulation.
        引数:
        ptvec - 挿入する点群。この関数は分割に点のベクトルを挿入し、分割のトポロジを適切に更新する。
      • locate

        public int locate​(Point pt,
                          int[] edge,
                          int[] vertex)
        Returns the location of a point within a Delaunay triangulation.
        引数:
        pt - 位置を特定する点。
        edge - 点が属する、もしくは点がその右側に位置するエッジを出力する。
        vertex - 入力点が一致する頂点を出力する(省略可能)。この関数は分割内における入力点の位置を特定し、三角形のエッジまたは頂点のいずれかを返す。
        戻り値:
        an integer which specify one of the following five cases for point location:
        • 点はいずれかのファセット内に入る。この関数は #PTLOC_INSIDE を返し、edge にはそのファセットのエッジの1つが格納される。
        • 点はエッジ上に乗る。この関数は #PTLOC_ON_EDGE を返し、edge にはそのエッジが格納される。
        • 点は分割の頂点の1つと一致する。この関数は #PTLOC_VERTEX を返し、vertex にはその頂点へのポインタが格納される。
        • 点は分割の参照矩形の外にある。この関数は #PTLOC_OUTSIDE_RECT を返し、ポインタは何も設定されない。
        • 入力引数のいずれかが無効である。実行時エラーが発生するか、サイレントまたは「親」エラー処理モードが選択されている場合は #PTLOC_ERROR が返される。
      • findNearest

        public int findNearest​(Point pt,
                               Point nearestPt)
        Finds the subdivision vertex closest to the given point.
        引数:
        pt - 入力点。
        nearestPt - 出力される分割の頂点座標。この関数は、分割内における入力点の位置を特定するもう1つの関数である。入力点に最も近い分割の頂点を探す。これは必ずしも入力点を含むファセットの頂点の1つとは限らないが、(locate() を用いて特定された)そのファセットを探索の起点として使用する。
        戻り値:
        頂点ID。
      • findNearest

        public int findNearest​(Point pt)
        Finds the subdivision vertex closest to the given point.
        引数:
        pt - 入力点。この関数は、分割内における入力点の位置を特定するもう1つの関数である。入力点に最も近い分割の頂点を探す。これは必ずしも入力点を含むファセットの頂点の1つとは限らないが、(locate() を用いて特定された)そのファセットを探索の起点として使用する。
        戻り値:
        頂点ID。
      • getEdgeList

        public void getEdgeList​(MatOfFloat4 edgeList)
        Returns a list of all edges.
        引数:
        edgeList - 出力ベクトル。この関数は各エッジを4つの数値からなるベクトルとして返し、2つずつがエッジの頂点の1つを表す。すなわち org_x = v[0], org_y = v[1], dst_x = v[2], dst_y = v[3] となる。
      • getLeadingEdgeList

        public void getLeadingEdgeList​(MatOfInt leadingEdgeList)
        Returns a list of the leading edge ID connected to each triangle.
        引数:
        leadingEdgeList - 出力ベクトル。この関数は各三角形に対して1つのエッジIDを返す。
      • getTriangleList

        public void getTriangleList​(MatOfFloat6 triangleList)
        Returns a list of all triangles.
        引数:
        triangleList - 出力ベクトル。この関数は各三角形を6つの数値からなるベクトルとして返し、2つずつが三角形の頂点の1つを表す。すなわち 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)
        Returns a list of all Voronoi facets.
        引数:
        idx - 対象とする頂点IDのベクトル。すべての頂点を対象とする場合は空のベクトルを渡せばよい。
        facetList - ボロノイ・ファセットの出力ベクトル。
        facetCenters - ボロノイ・ファセットの中心点の出力ベクトル。
      • getVertex

        public Point getVertex​(int vertex,
                               int[] firstEdge)
        Returns vertex location from vertex ID.
        引数:
        vertex - 頂点ID。
        firstEdge - 省略可能。その頂点に接続している最初のエッジのID。
        戻り値:
        頂点 (x,y)
      • getVertex

        public Point getVertex​(int vertex)
        Returns vertex location from vertex ID.
        引数:
        vertex - 頂点ID。
        戻り値:
        頂点 (x,y)
      • getEdge

        public int getEdge​(int edge,
                           int nextEdgeType)
        Returns one of the edges related to the given edge.
        引数:
        edge - 分割エッジID.
        nextEdgeType - Parameter specifying which of the related edges to return. The following values are possible:
        • 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 の反転)
        ![sample output](pics/quadedge.png)
        戻り値:
        入力エッジに関連するエッジID。
      • nextEdge

        public int nextEdge​(int edge)
        Returns next edge around the edge origin.
        引数:
        edge - 分割エッジID.
        戻り値:
        エッジの起点の周りの次のエッジIDを表す整数(e が入力エッジの場合、上図の eOnext)。
      • rotateEdge

        public int rotateEdge​(int edge,
                              int rotate)
        Returns another edge of the same quad-edge.
        引数:
        edge - 分割エッジID.
        rotate - Parameter specifying which of the edges of the same quad-edge as the input one to return. The following values are possible:
        • 0 - 入力エッジ(e が入力エッジの場合、下図の e)
        • 1 - 回転エッジ(eRot)
        • 2 - 反転エッジ(反転した e(緑色))
        • 3 - 反転回転エッジ(反転した eRot(緑色))
        戻り値:
        入力エッジと同じ quad-edge のエッジIDの1つ。
      • symEdge

        public int symEdge​(int edge)
      • edgeOrg

        public int edgeOrg​(int edge,
                           Point orgpt)
        Returns the edge origin.
        引数:
        edge - 分割エッジID.
        orgpt - 出力する頂点の位置。
        戻り値:
        頂点ID。
      • edgeOrg

        public int edgeOrg​(int edge)
        Returns the edge origin.
        引数:
        edge - 分割エッジID.
        戻り値:
        頂点ID。
      • edgeDst

        public int edgeDst​(int edge,
                           Point dstpt)
        Returns the edge destination.
        引数:
        edge - 分割エッジID.
        dstpt - 出力する頂点の位置。
        戻り値:
        頂点ID。
      • edgeDst

        public int edgeDst​(int edge)
        Returns the edge destination.
        引数:
        edge - 分割エッジID.
        戻り値:
        頂点ID。