OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
シルエットベースの3次元物体追跡

詳細説明

[77] の動的な制御点抽出を用いて「RAPID-a video rate object tracker」 [120] を実装する

クラス

class  cv::rapid::GOSTracker
 
class  cv::rapid::OLSTracker
 
class  cv::rapid::Rapid
 統一的なアクセスのための シルエットベースの3D物体トラッキング 関数のラッパー。続きを読む...
 
class  cv::rapid::Tracker
 ステートフルなシルエットトラッカーの抽象基底クラス。続きを読む...
 

関数

void cv::rapid::convertCorrespondencies (InputArray cols, InputArray srcLocations, OutputArray pts2d, InputOutputArray pts3d=noArray(), InputArray mask=noArray())
 
void cv::rapid::drawCorrespondencies (InputOutputArray bundle, InputArray cols, InputArray colors=noArray())
 
void cv::rapid::drawSearchLines (InputOutputArray img, InputArray locations, const Scalar &color)
 
void cv::rapid::drawWireframe (InputOutputArray img, InputArray pts2d, InputArray tris, const Scalar &color, int type=LINE_8, bool cullBackface=false)
 
void cv::rapid::extractControlPoints (int num, int len, InputArray pts3d, InputArray rvec, InputArray tvec, InputArray K, const Size &imsize, InputArray tris, OutputArray ctl2d, OutputArray ctl3d)
 
void cv::rapid::extractLineBundle (int len, InputArray ctl2d, InputArray img, OutputArray bundle, OutputArray srcLocations)
 
void cv::rapid::findCorrespondencies (InputArray bundle, OutputArray cols, OutputArray response=noArray())
 
float cv::rapid::rapid (InputArray img, int num, int len, InputArray pts3d, InputArray tris, InputArray K, InputOutputArray rvec, InputOutputArray tvec, double *rmsd=0)
 

関数詳解

◆ convertCorrespondencies()

void cv::rapid::convertCorrespondencies ( InputArray cols,
InputArray srcLocations,
OutputArray pts2d,
InputOutputArray pts3d = noArray(),
InputArray mask = noArray() )
Python:
cv.rapid.convertCorrespondencies(cols, srcLocations[, pts2d[, pts3d[, mask]]]) -> pts2d, pts3d

#include <opencv2/rapid.hpp>

対応関係とマスクに基づいて、対応する2次元点と3次元点を収集する

引数
colsline-bundle空間における各ラインの対応位置
srcLocations入力画像上の位置
pts2d2次元の点
pts3d3次元の点
mask保持する要素に対して非ゼロ値を含むマスク

◆ drawCorrespondencies()

void cv::rapid::drawCorrespondencies ( InputOutputArray bundle,
InputArray cols,
InputArray colors = noArray() )
Python:
cv.rapid.drawCorrespondencies(bundle, cols[, colors]) -> bundle

#include <opencv2/rapid.hpp>

マッチした対応点のマーカーを lineBundle 上に描画するデバッグ用関数

引数
bundlelineBundle
colsline bundle内の列座標
colorsマーカーの色。デフォルトは白。

◆ drawSearchLines()

void cv::rapid::drawSearchLines ( InputOutputArray img,
InputArray locations,
const Scalar & color )
Python:
cv.rapid.drawSearchLines(img, locations, color) -> img

#include <opencv2/rapid.hpp>

探索線を画像上に描画するデバッグ用関数

引数
img出力画像
locationsline bundleの入力側の位置
colorラインの色

◆ drawWireframe()

void cv::rapid::drawWireframe ( InputOutputArray img,
InputArray pts2d,
InputArray tris,
const Scalar & color,
int type = LINE_8,
bool cullBackface = false )
Python:
cv.rapid.drawWireframe(img, pts2d, tris, color[, type[, cullBackface]]) -> img

#include <opencv2/rapid.hpp>

三角形メッシュのワイヤフレームを描画する

引数
img出力画像
pts2dprojectPoints によって得られる2次元の点
tris三角形面の接続情報
colorラインの色
typeラインの種類。LineTypes を参照。
cullBackfaceCCW(反時計回り)順序に基づくバックフェースカリングを有効にする

◆ extractControlPoints()

void cv::rapid::extractControlPoints ( int num,
int len,
InputArray pts3d,
InputArray rvec,
InputArray tvec,
InputArray K,
const Size & imsize,
InputArray tris,
OutputArray ctl2d,
OutputArray ctl3d )
Python:
cv.rapid.extractControlPoints(num, len, pts3d, rvec, tvec, K, imsize, tris[, ctl2d[, ctl3d]]) -> ctl2d, ctl3d

#include <opencv2/rapid.hpp>

メッシュの投影シルエットから制御点を抽出する

[77] の 2.1 節、ステップ b を参照

引数
num制御点の数
len探索半径(ROIを制限するために使用)
pts3dメッシュの3次元の点
rvecメッシュとカメラ間の回転
tvecメッシュとカメラ間の並進
Kカメラ内部パラメータ
imsizeビデオフレームのサイズ
tris三角形面の接続情報
ctl2d制御点の2次元位置
ctl3dメッシュの対応する3次元の点

◆ extractLineBundle()

void cv::rapid::extractLineBundle ( int len,
InputArray ctl2d,
InputArray img,
OutputArray bundle,
OutputArray srcLocations )
Python:
cv.rapid.extractLineBundle(len, ctl2d, img[, bundle[, srcLocations]]) -> bundle, srcLocations

#include <opencv2/rapid.hpp>

画像から線バンドルを抽出する

引数
len探索半径。バンドルは 2*len + 1 列を持つ。
ctl2d探索線はこれらの点を中心とし、それらが定義する輪郭に直交する。バンドルは同じ数の行を持つ。
imgピクセル強度値を読み取る対象の画像
bundleサイズが ctl2d.rows() x (2 * len + 1)img と同じ型を持つ線バンドル画像
srcLocationsimg における bundle のソースピクセル位置(CV_16SC2 形式)

◆ findCorrespondencies()

void cv::rapid::findCorrespondencies ( InputArray bundle,
OutputArray cols,
OutputArray response = noArray() )
Python:
cv.rapid.findCorrespondencies(bundle[, cols[, response]]) -> cols, response

#include <opencv2/rapid.hpp>

探索線(バンドル内の1行)に沿って最大の Sobel エッジを探索することにより、対応する画像位置を見つける

引数
bundle線バンドル
colsline-bundle空間における各ラインの対応位置
response選択した点に対する Sobel 応答

◆ rapid()

float cv::rapid::rapid ( InputArray img,
int num,
int len,
InputArray pts3d,
InputArray tris,
InputArray K,
InputOutputArray rvec,
InputOutputArray tvec,
double * rmsd = 0 )
Python:
cv.rapid.rapid(img, num, len, pts3d, tris, K, rvec, tvec) -> retval, rvec, tvec, rmsd

#include <opencv2/rapid.hpp>

rapid [120] の反復を1回実行する高レベル関数

  1. extractControlPoints
  2. extractLineBundle
  3. findCorrespondencies
  4. convertCorrespondencies
  5. solvePnPRefineLM
引数
imgビデオフレーム
num探索線の本数
len探索線の半径
pts3dメッシュの3次元の点
tris三角形面の接続情報
Kカメラ行列
rvecメッシュとカメラ間の回転。入力値は初期解として使用される。
tvecメッシュとカメラ間の並進。入力値は初期解として使用される。
rmsd2次元再投影の差分
戻り値
抽出されてマッチした探索線の割合
この関数の呼び出しグラフ: