🤖
AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は
公式英語版(原文) を参照してください。
#include <opencv2/imgproc.hpp>
|
| enum | {
PTLOC_ERROR = -2
,
PTLOC_OUTSIDE_RECT = -1
,
PTLOC_INSIDE = 0
,
PTLOC_VERTEX = 1
,
PTLOC_ON_EDGE = 2
} |
| |
| enum | {
NEXT_AROUND_ORG = 0x00
,
NEXT_AROUND_DST = 0x22
,
PREV_AROUND_ORG = 0x11
,
PREV_AROUND_DST = 0x33
,
NEXT_AROUND_LEFT = 0x13
,
NEXT_AROUND_RIGHT = 0x31
,
PREV_AROUND_LEFT = 0x20
,
PREV_AROUND_RIGHT = 0x02
} |
| |
|
| | Subdiv2D () |
| |
| | Subdiv2D (Rect rect) |
| |
| | Subdiv2D (Rect2f rect2f) |
| |
| int | edgeDst (int edge, Point2f *dstpt=0) const |
| | エッジの終点を返す。
|
| |
| int | edgeOrg (int edge, Point2f *orgpt=0) const |
| | エッジの始点を返す。
|
| |
| int | findNearest (Point2f pt, Point2f *nearestPt=0) |
| | 与えられた点に最も近い細分割頂点を見つける。
|
| |
| int | getEdge (int edge, int nextEdgeType) const |
| | 与えられたエッジに関連するエッジのいずれかを返す。
|
| |
| void | getEdgeList (std::vector< Vec4f > &edgeList) const |
| | すべてのエッジのリストを返す。
|
| |
| void | getLeadingEdgeList (std::vector< int > &leadingEdgeList) const |
| | 各三角形に接続された先頭エッジIDのリストを返す。
|
| |
| void | getTriangleList (std::vector< Vec6f > &triangleList) const |
| | すべての三角形のリストを返す。
|
| |
| Point2f | getVertex (int vertex, int *firstEdge=0) const |
| | 頂点IDから頂点位置を返す。
|
| |
| void | getVoronoiFacetList (const std::vector< int > &idx, std::vector< std::vector< Point2f > > &facetList, std::vector< Point2f > &facetCenters) |
| | すべてのボロノイ面のリストを返す。
|
| |
| void | initDelaunay (Rect rect) |
| | 新しい空のドロネー細分割を作成する。
|
| |
| void | initDelaunay (Rect2f rect) |
| | 新しい空のドロネー細分割を作成する。
|
| |
| void | insert (const std::vector< Point2f > &ptvec) |
| | ドロネー三角形分割に複数の点を挿入する。
|
| |
| int | insert (Point2f pt) |
| | ドロネー三角形分割に1つの点を挿入する。
|
| |
| int | locate (Point2f pt, int &edge, int &vertex) |
| | ドロネー三角形分割内における点の位置を返す。
|
| |
| int | nextEdge (int edge) const |
| | エッジ始点まわりの次のエッジを返す。
|
| |
| int | rotateEdge (int edge, int rotate) const |
| | 同じクワッドエッジの別のエッジを返す。
|
| |
| int | symEdge (int edge) const |
| |
◆ anonymous enum
Subdiv2D の点位置のケース
| 列挙値 |
|---|
| PTLOC_ERROR | 点位置エラー。 |
| PTLOC_OUTSIDE_RECT | 細分割のバウンディング矩形の外側の点。 |
| PTLOC_INSIDE | いずれかの面の内側の点。 |
| PTLOC_VERTEX | 細分割頂点のいずれかと一致する点。 |
| PTLOC_ON_EDGE | いずれかのエッジ上の点。 |
◆ anonymous enum
Subdiv2D のエッジ型ナビゲーション (参照: getEdge())
| 列挙値 |
|---|
| NEXT_AROUND_ORG | |
| NEXT_AROUND_DST | |
| PREV_AROUND_ORG | |
| PREV_AROUND_DST | |
| NEXT_AROUND_LEFT | |
| NEXT_AROUND_RIGHT | |
| PREV_AROUND_LEFT | |
| PREV_AROUND_RIGHT | |
◆ Subdiv2D() [1/3]
| cv::Subdiv2D::Subdiv2D |
( |
| ) |
|
| Python: |
|---|
| cv.Subdiv2D( | | ) -> | <Subdiv2D object> |
| cv.Subdiv2D( | rect | ) -> | <Subdiv2D object> |
| cv.Subdiv2D( | rect2f | ) -> | <Subdiv2D object> |
◆ Subdiv2D() [2/3]
| cv::Subdiv2D::Subdiv2D |
( |
Rect | rect | ) |
|
| Python: |
|---|
| cv.Subdiv2D( | | ) -> | <Subdiv2D object> |
| cv.Subdiv2D( | rect | ) -> | <Subdiv2D object> |
| cv.Subdiv2D( | rect2f | ) -> | <Subdiv2D object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
- 引数
-
| rect | 細分割に追加されるすべての2D点を含む矩形。 |
この関数は、insert() 関数を使って2D点を追加できる空のドロネー細分割を作成する。追加するすべての点は指定した矩形内に収まっていなければならず、そうでない場合は実行時エラーが発生する。
◆ Subdiv2D() [3/3]
| cv::Subdiv2D::Subdiv2D |
( |
Rect2f | rect2f | ) |
|
| Python: |
|---|
| cv.Subdiv2D( | | ) -> | <Subdiv2D object> |
| cv.Subdiv2D( | rect | ) -> | <Subdiv2D object> |
| cv.Subdiv2D( | rect2f | ) -> | <Subdiv2D object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
◆ calcVoronoi()
| void cv::Subdiv2D::calcVoronoi |
( |
| ) |
|
|
protected |
◆ checkSubdiv()
| void cv::Subdiv2D::checkSubdiv |
( |
| ) |
const |
|
protected |
◆ clearVoronoi()
| void cv::Subdiv2D::clearVoronoi |
( |
| ) |
|
|
protected |
◆ connectEdges()
| int cv::Subdiv2D::connectEdges |
( |
int | edgeA, |
|
|
int | edgeB ) |
|
protected |
◆ deleteEdge()
| void cv::Subdiv2D::deleteEdge |
( |
int | edge | ) |
|
|
protected |
◆ deletePoint()
| void cv::Subdiv2D::deletePoint |
( |
int | vtx | ) |
|
|
protected |
◆ edgeDst()
| int cv::Subdiv2D::edgeDst |
( |
int | edge, |
|
|
Point2f * | dstpt = 0 ) const |
| Python: |
|---|
| cv.Subdiv2D.edgeDst( | edge | ) -> | retval, dstpt |
エッジの終点を返す。
- 引数
-
| edge | 細分割エッジのID。 |
| dstpt | 出力の頂点位置。 |
- 戻り値
- 頂点ID。
◆ edgeOrg()
| int cv::Subdiv2D::edgeOrg |
( |
int | edge, |
|
|
Point2f * | orgpt = 0 ) const |
| Python: |
|---|
| cv.Subdiv2D.edgeOrg( | edge | ) -> | retval, orgpt |
エッジの始点を返す。
- 引数
-
| edge | 細分割エッジのID。 |
| orgpt | 出力の頂点位置。 |
- 戻り値
- 頂点ID。
◆ findNearest()
| Python: |
|---|
| cv.Subdiv2D.findNearest( | pt | ) -> | retval, nearestPt |
与えられた点に最も近い細分割頂点を見つける。
- 引数
-
| pt | 入力点。 |
| nearestPt | 出力の細分割頂点。 |
この関数は、細分割内で入力点の位置を特定するもう1つの関数である。入力点に最も近い細分割頂点を見つける。それは必ずしも入力点を含む面の頂点の1つとは限らないが、(locate() を使って特定された) その面が開始点として用いられる。
- 戻り値
- 頂点ID。
◆ getEdge()
| int cv::Subdiv2D::getEdge |
( |
int | edge, |
|
|
int | nextEdgeType ) const |
| Python: |
|---|
| cv.Subdiv2D.getEdge( | edge, nextEdgeType | ) -> | retval |
与えられたエッジに関連するエッジのいずれかを返す。
- 引数
-
| 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
- 戻り値
- 入力エッジに関連するエッジID。
◆ getEdgeList()
| void cv::Subdiv2D::getEdgeList |
( |
std::vector< Vec4f > & | edgeList | ) |
const |
| Python: |
|---|
| cv.Subdiv2D.getEdgeList( | | ) -> | edgeList |
すべてのエッジのリストを返す。
- 引数
-
この関数は各エッジを4つの数値からなるベクトルとして返す。各2つの値がエッジの頂点の一方を表す。すなわち org_x = v[0], org_y = v[1], dst_x = v[2], dst_y = v[3]。
◆ getLeadingEdgeList()
| void cv::Subdiv2D::getLeadingEdgeList |
( |
std::vector< int > & | leadingEdgeList | ) |
const |
| Python: |
|---|
| cv.Subdiv2D.getLeadingEdgeList( | | ) -> | leadingEdgeList |
各三角形に接続された先頭エッジIDのリストを返す。
- 引数
-
この関数は各三角形に対して1つのエッジIDを返す。
◆ getTriangleList()
| void cv::Subdiv2D::getTriangleList |
( |
std::vector< Vec6f > & | triangleList | ) |
const |
| Python: |
|---|
| cv.Subdiv2D.getTriangleList( | | ) -> | triangleList |
すべての三角形のリストを返す。
- 引数
-
この関数は各三角形を6つの数値からなるベクトルとして返す。各2つの値が三角形の頂点の一方を表す。すなわち p1_x = v[0], p1_y = v[1], p2_x = v[2], p2_y = v[3], p3_x = v[4], p3_y = v[5]。
◆ getVertex()
| Point2f cv::Subdiv2D::getVertex |
( |
int | vertex, |
|
|
int * | firstEdge = 0 ) const |
| Python: |
|---|
| cv.Subdiv2D.getVertex( | vertex | ) -> | retval, firstEdge |
頂点IDから頂点の位置を返す。
- 引数
-
| vertex | 頂点ID。 |
| firstEdge | 省略可能。頂点に接続された最初のエッジID。 |
- 戻り値
- 頂点 (x,y)
◆ getVoronoiFacetList()
| void cv::Subdiv2D::getVoronoiFacetList |
( |
const std::vector< int > & | idx, |
|
|
std::vector< std::vector< Point2f > > & | facetList, |
|
|
std::vector< Point2f > & | facetCenters ) |
| Python: |
|---|
| cv.Subdiv2D.getVoronoiFacetList( | idx | ) -> | facetList, facetCenters |
すべてのボロノイ図のファセットのリストを返す。
- 引数
-
| idx | 対象とする頂点IDのベクトル。すべての頂点を対象とする場合は空のベクトルを渡せばよい。 |
| facetList | ボロノイ面の出力ベクトル。 |
| facetCenters | ボロノイ面の中心点の出力ベクトル。 |
◆ initDelaunay() [1/2]
| void cv::Subdiv2D::initDelaunay |
( |
Rect | rect | ) |
|
| Python: |
|---|
| cv.Subdiv2D.initDelaunay( | rect | ) -> | None |
| cv.Subdiv2D.initDelaunay2f( | rect | ) -> | None |
新しい空のドロネー分割を作成する。
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
- 引数
-
| rect | 細分割に追加されるすべての2D点を含む矩形。 |
◆ initDelaunay() [2/2]
| void cv::Subdiv2D::initDelaunay |
( |
Rect2f | rect | ) |
|
| Python: |
|---|
| cv.Subdiv2D.initDelaunay( | rect | ) -> | None |
| cv.Subdiv2D.initDelaunay2f( | rect | ) -> | None |
新しい空のドロネー分割を作成する。
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
- 引数
-
| rect | 細分割に追加されるすべての2D点を含む矩形。 |
◆ insert() [1/2]
| void cv::Subdiv2D::insert |
( |
const std::vector< Point2f > & | ptvec | ) |
|
| Python: |
|---|
| cv.Subdiv2D.insert( | pt | ) -> | retval |
| cv.Subdiv2D.insert( | ptvec | ) -> | None |
ドロネー三角形分割に複数の点を挿入する。
- 引数
-
この関数は点のベクトルを分割に挿入し、それに応じて分割のトポロジーを変更する。
◆ insert() [2/2]
| int cv::Subdiv2D::insert |
( |
Point2f | pt | ) |
|
| Python: |
|---|
| cv.Subdiv2D.insert( | pt | ) -> | retval |
| cv.Subdiv2D.insert( | ptvec | ) -> | None |
ドロネー三角形分割に単一の点を挿入する。
- 引数
-
この関数は単一の点を分割に挿入し、それに応じて分割のトポロジーを変更する。同じ座標の点がすでに存在する場合、新しい点は追加されない。
- 戻り値
- 点のID。
- 覚え書き
- 点が指定された矩形 rect の三角形分割の外側にある場合、実行時エラーが発生する。
◆ isRightOf()
| int cv::Subdiv2D::isRightOf |
( |
Point2f | pt, |
|
|
int | edge ) const |
|
protected |
◆ locate()
| int cv::Subdiv2D::locate |
( |
Point2f | pt, |
|
|
int & | edge, |
|
|
int & | vertex ) |
| Python: |
|---|
| cv.Subdiv2D.locate( | pt | ) -> | retval, edge, vertex |
ドロネー三角形分割内における点の位置を返す。
- 引数
-
| pt | 位置を特定する点。 |
| edge | その点が属する、またはその点の右に位置する出力エッジ。 |
| vertex | 入力点と一致する、省略可能な出力頂点。 |
この関数は入力点を分割内で位置特定し、三角形のエッジまたは頂点の1つを返す。
- 戻り値
- 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 を返し、ポインタは何も設定されない。
- 入力引数の1つが無効である。実行時エラーが発生する。あるいは、silent または "parent" のエラー処理モードが選択されている場合は PTLOC_ERROR が返される。
◆ newEdge()
| int cv::Subdiv2D::newEdge |
( |
| ) |
|
|
protected |
◆ newPoint()
| int cv::Subdiv2D::newPoint |
( |
Point2f | pt, |
|
|
bool | isvirtual, |
|
|
int | firstEdge = 0 ) |
|
protected |
◆ nextEdge()
| int cv::Subdiv2D::nextEdge |
( |
int | edge | ) |
const |
| Python: |
|---|
| cv.Subdiv2D.nextEdge( | edge | ) -> | retval |
エッジの起点の周りの次のエッジを返す。
- 引数
-
- 戻り値
- エッジの起点の周りの次のエッジIDを表す整数(e が入力エッジの場合、上図の eOnext)。
◆ rotateEdge()
| int cv::Subdiv2D::rotateEdge |
( |
int | edge, |
|
|
int | rotate ) const |
| Python: |
|---|
| cv.Subdiv2D.rotateEdge( | edge, rotate | ) -> | retval |
同じ quad-edge の別のエッジを返す。
- 引数
-
| edge | 細分割エッジのID。 |
| rotate | 入力エッジと同じクワッドエッジのうち、返すエッジを指定する引数。可能な値は次のとおり: - 0 - 入力エッジ ( e が入力エッジのとき、下図の e )
- 1 - 回転エッジ ( eRot )
- 2 - 反転エッジ (e の反転 (緑色))
- 3 - 反転した回転エッジ (eRot の反転 (緑色))
|
- 戻り値
- 入力エッジと同じ quad-edge のエッジIDの1つ。
◆ setEdgePoints()
| void cv::Subdiv2D::setEdgePoints |
( |
int | edge, |
|
|
int | orgPt, |
|
|
int | dstPt ) |
|
protected |
◆ splice()
| void cv::Subdiv2D::splice |
( |
int | edgeA, |
|
|
int | edgeB ) |
|
protected |
◆ swapEdges()
| void cv::Subdiv2D::swapEdges |
( |
int | edge | ) |
|
|
protected |
◆ symEdge()
| int cv::Subdiv2D::symEdge |
( |
int | edge | ) |
const |
| Python: |
|---|
| cv.Subdiv2D.symEdge( | edge | ) -> | retval |
◆ bottomRight
◆ freePoint
| int cv::Subdiv2D::freePoint |
|
protected |
◆ freeQEdge
| int cv::Subdiv2D::freeQEdge |
|
protected |
◆ qedges
| std::vector<QuadEdge> cv::Subdiv2D::qedges |
|
protected |
◆ recentEdge
| int cv::Subdiv2D::recentEdge |
|
protected |
◆ topLeft
◆ validGeometry
| bool cv::Subdiv2D::validGeometry |
|
protected |
◆ vtx
| std::vector<Vertex> cv::Subdiv2D::vtx |
|
protected |
このクラス詳解は次のファイルから抽出されました: