🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.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 - 入力点が一致する頂点を出力する(省略可能)。この関数は分割内における入力点の位置を特定し、三角形のエッジまたは頂点のいずれかを返す。
        戻り値:
        点の位置について以下の5つのケースのいずれかを指定する整数。- 点はいずれかのファセット内に入る。関数は #PTLOC_INSIDE を返し、edge はそのファセットのエッジのいずれかを含む。- 点はエッジ上に乗る。関数は #PTLOC_ON_EDGE を返し、edge はこのエッジを含む。- 点は細分割の頂点のいずれかと一致する。関数は #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 - 関連するエッジのうちどれを返すかを指定するパラメータ。以下の値が可能である: - 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 - 入力エッジと同じクアッドエッジのエッジのうちどれを返すかを指定するパラメータ。以下の値が可能である: - 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。