OpenCV 4.5.3(日本語機械翻訳)
|
クラス |
|
class | cv::optflow::DualTVL1OpticalFlow |
"Dual TV L1" Optical Flow
Algorithm.[【詳解】(英語]
|
|
class | cv::optflow::PCAPrior |
このクラスは,結果として得られるオプティカルフローに対して,学習済みの事前情報を与えるために利用できます.解は,この事前情報に基づいて正則化されます.事前に "learn_prior.py" スクリプトを用いて,適切な事前ファイルを生成しておく必要があります.[【詳解】(英語]
|
|
class | cv::optflow::OpticalFlowPCAFlow |
PCAFlow アルゴリズム.[【詳解】(英語]
|
|
class | cv::optflow::RLOFOpticalFlowParameter |
これは、ロバスト・ローカル・オプティカル・フロー(RLOF)アルゴリズ ムのパラメータを保存し、設定するために使用されます。[【詳解】(英語]
|
|
class | cv::optflow::DenseRLOFOpticalFlow |
ロバストな局所オプティカルフロー(RLOF)アルゴリズムと,疎から密への補間スキームに基づく,高速な密なオプティカルフロー計算.[【詳解】(英語]
|
|
class | cv::optflow::SparseRLOFOpticalFlow |
スパースオプティカルフローの計算や,ロバストローカルオプティカルフロー(RLOF)アルゴリズムによる特徴量の追跡に利用されるクラスです.[【詳解】(英語]
|
|
struct | cv::optflow::GPCPatchDescriptor |
struct | cv::optflow::GPCPatchSample |
class | cv::optflow::GPCTrainingSamples |
学習サンプルをカプセル化したクラス。[【詳解】(英語]
|
|
struct | cv::optflow::GPCTrainingParams |
トレーニングパラメータをカプセル化したクラス.[【詳解】(英語]
|
|
struct | cv::optflow::GPCMatchingParams |
マッチングパラメータをカプセル化したクラス。[【詳解】(英語]
|
|
class | cv::optflow::GPCTree |
個々の木を表すクラス.[【詳解】(英語]
|
|
class | cv::optflow::GPCForest< T > |
class | cv::optflow::GPCDetails |
型定義 |
|
typedef std::vector< GPCPatchSample > | cv::optflow::GPCSamplesVector |
列挙型 |
|
enum | cv::optflow::SupportRegionType { cv::optflow::SR_FIXED = 0 , cv::optflow::SR_CROSS = 1 } |
enum | cv::optflow::SolverType { cv::optflow::ST_STANDART = 0 , cv::optflow::ST_BILINEAR = 1 } |
enum | cv::optflow::InterpolationType { cv::optflow::INTERP_GEO = 0 , cv::optflow::INTERP_EPIC = 1 , cv::optflow::INTERP_RIC = 2 } |
enum | cv::optflow::GPCDescType { cv::optflow::GPC_DESCRIPTOR_DCT = 0 , cv::optflow::GPC_DESCRIPTOR_WHT } |
Global Patch Collider用のディスクリプタタイプ.[【詳解】(英語]
|
|
関数 |
|
CV_EXPORTS_W void | cv::optflow::calcOpticalFlowSF (InputArray from, InputArray to, OutputArray flow, int layers, int averaging_block_size, int max_flow) |
CV_EXPORTS_W void | cv::optflow::calcOpticalFlowSF (InputArray from, InputArray to, OutputArray flow, int layers, int averaging_block_size, int max_flow, double sigma_dist, double sigma_color, int postprocess_window, double sigma_dist_fix, double sigma_color_fix, double occ_thr, int upscale_averaging_radius, double upscale_sigma_dist, double upscale_sigma_color, double speed_up_thr) |
SimpleFlow "アルゴリズムを用いてオプティカルフローを計算します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::optflow::calcOpticalFlowSparseToDense (InputArray from, InputArray to, OutputArray flow, int grid_step=8, int k=128, float sigma=0.05f, bool use_post_proc=true, float fgs_lambda=500.0f, float fgs_sigma=1.5f) |
PyrLKスパースマッチ補間に基づく高速高密度オプティカルフロー.[【詳解】(英語]
|
|
CV_EXPORTS_W Ptr< DenseOpticalFlow > | cv::optflow::createOptFlow_DeepFlow () |
DeepFlowオプティカルフローアルゴリズムの実装[【詳解】(英語]
|
|
CV_EXPORTS_W Ptr< DenseOpticalFlow > | cv::optflow::createOptFlow_SimpleFlow () |
SimpleFlowアルゴリズムへの追加インターフェースcalcOpticalFlowSF()
|
|
CV_EXPORTS_W Ptr< DenseOpticalFlow > | cv::optflow::createOptFlow_Farneback () |
Farnebackアルゴリズムへの追加インターフェースcalcOpticalFlowFarneback()
|
|
CV_EXPORTS_W Ptr< DenseOpticalFlow > | cv::optflow::createOptFlow_SparseToDense () |
SparseToDenseFlow アルゴリズムへの追加インターフェース -calcOpticalFlowSparseToDense()
|
|
CV_EXPORTS_W Ptr< DualTVL1OpticalFlow > | cv::optflow::createOptFlow_DualTVL1 () |
のインスタンスを作成します。cv::DenseOpticalFlow
|
|
CV_EXPORTS_W void | cv::motempl::updateMotionHistory (InputArray silhouette, InputOutputArray mhi, double timestamp, double duration) |
シルエットが動くことで、モーションヒストリー画像を更新します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::motempl::calcMotionGradient (InputArray mhi, OutputArray mask, OutputArray orientation, double delta1, double delta2, int apertureSize=3) |
モーションヒストリー画像のグラデーションの向きを計算します。[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::motempl::calcGlobalOrientation (InputArray orientation, InputArray mask, InputArray mhi, double timestamp, double duration) |
選択された領域におけるグローバルな動きの方向性を計算します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::motempl::segmentMotion (InputArray mhi, OutputArray segmask, CV_OUT std::vector< Rect > &boundingRects, double timestamp, double segThresh) |
モーション履歴画像を、独立した別々の動作に対応するいくつかの部分に分割します(例:左手、右手)。[【詳解】(英語]
|
|
CV_EXPORTS_W Ptr< DenseOpticalFlow > | cv::optflow::createOptFlow_PCAFlow () |
PCAFlowのインスタンスを作成する |
|
CV_EXPORTS_W void | cv::optflow::calcOpticalFlowDenseRLOF (InputArray I0, InputArray I1, InputOutputArray flow, Ptr< RLOFOpticalFlowParameter > rlofParam=Ptr< RLOFOpticalFlowParameter >(), float forwardBackwardThreshold=0, Size gridStep=Size(6, 6), InterpolationType interp_type=InterpolationType::INTERP_EPIC, int epicK=128, float epicSigma=0.05f, float epicLambda=100.f, int ricSPSize=15, int ricSLICType=100, bool use_post_proc=true, float fgsLambda=500.0f, float fgsSigma=1.5f, bool use_variational_refinement=false) |
ロバストな局所オプティカルフロー(RLOF)アルゴリズムと,疎から密への補間スキームに基づく,高速な密なオプティカルフロー計算.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::optflow::calcOpticalFlowSparseRLOF (InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArray status, OutputArray err, Ptr< RLOFOpticalFlowParameter > rlofParam=Ptr< RLOFOpticalFlowParameter >(), float forwardBackwardThreshold=0) |
に似たロバストローカルオプティカルフロー(RLOF)を用いて,疎な特徴セットに対する高速オプティカルフローを計算します.optflow::calcOpticalFlowPyrLK().[【詳解】(英語]
|
|
CV_EXPORTS_W Ptr< DenseOpticalFlow > | cv::optflow::createOptFlow_DenseRLOF () |
Dense RLOF アルゴリズムへの追加インターフェイス -optflow::calcOpticalFlowDenseRLOF()
|
|
CV_EXPORTS_W Ptr< SparseOpticalFlow > | cv::optflow::createOptFlow_SparseRLOF () |
Sparse RLOFアルゴリズムへの追加インターフェース -optflow::calcOpticalFlowSparseRLOF()
|
|
void | cv::optflow::GPCForest< T >::findCorrespondences (InputArray imgFrom, InputArray imgTo, std::vector< std::pair< Point2i, Point2i > > &corr, const GPCMatchingParams params=GPCMatchingParams()) const |
2つの画像間の対応関係を見つける。[【詳解】(英語]
|
|
Dense optical flow algorithms compute motion for each point:
Motion templates is alternative technique for detecting motion and computing its direction. See samples/motempl.py.
Functions reading and writing .flo files in "Middlebury" format, see: http://vision.middlebury.edu/flow/code/flow-code/README.txt
CV_EXPORTS_W double cv::motempl::calcGlobalOrientation | ( | InputArray | orientation, |
InputArray | mask, | ||
InputArray | mhi, | ||
double | timestamp, | ||
double | duration | ||
) |
選択された領域におけるグローバルな動きの方向性を計算します。
orientation | 関数 calcMotionGradient で算出された動きのグラデーション方位画像 |
mask | マスク画像。calcMotionGradient で計算された有効なグラデーションマスクと、方向を計算する必要がある領域のマスクを組み合わせたものかもしれません。 |
mhi | updateMotionHistory によって算出されるモーションヒストリー画像。 |
timestamp | updateMotionHistory に渡される Timestamp。 |
duration | updateMotionHistory に渡される,ミリ秒単位のモーショントラックの最大継続時間. |
この関数は、選択された領域における平均的な動きの方向を計算し、0度から360度の間の角度を返します。この平均方向は,mhi に記録されている,最近の動きの重みが大きく,過去に発生した動きの重みが小さい,重み付けされた方位ヒストグラムから計算されます.
CV_EXPORTS_W void cv::motempl::calcMotionGradient | ( | InputArray | mhi, |
OutputArray | mask, | ||
OutputArray | orientation, | ||
double | delta1, | ||
double | delta2, | ||
int |
apertureSize
=
3 |
||
) |
モーションヒストリー画像のグラデーションの向きを計算します。
mhi | モーションヒストリーの1チャンネル浮動小数点画像. |
mask | タイプが CV_8UC1 で, mhi と同じサイズの出力マスク画像.非0の要素は,動きのグラデーションデータが正しいピクセルを示します. |
orientation | mhi と同じ型,同じサイズの,動き勾配の方位画像を出力します.この画像の各ピクセルは,0°から360°までの動きの方向を表しています. |
delta1 | 画素の近傍における mhi 値の差の最小値(または最大値)。 |
delta2 | 1つのピクセル近傍における,mhi の値の差の最大値(あるいは最小値)を求めます.つまり,この関数は,最小 (![]() ![]() ![]() ![]()
|
apertureSize | Sobel演算子のアパーチャサイズ. |
この関数は,各ピクセルにおけるグラデーションの向きを計算します.となります。
実際には,計算された角度が度単位で測定され,0から360の全範囲をカバーするように,fastAtan2とphaseが利用されます.また,計算された角度が有効であるピクセルを示すために,マスクが塗りつぶされます.
CV_EXPORTS_W void cv::optflow::calcOpticalFlowDenseRLOF | ( | InputArray | I0, |
InputArray | I1, | ||
InputOutputArray | flow, | ||
Ptr< RLOFOpticalFlowParameter > |
rlofParam
=
Ptr<RLOFOpticalFlowParameter >() ,
|
||
float |
forwardBackwardThreshold
=
0 ,
|
||
Size |
gridStep
=
Size(6, 6) ,
|
||
InterpolationType |
interp_type
=
InterpolationType::INTERP_EPIC ,
|
||
int |
epicK
=
128 ,
|
||
float |
epicSigma
=
0.05f ,
|
||
float |
epicLambda
=
100.f ,
|
||
int |
ricSPSize
=
15 ,
|
||
int |
ricSLICType
=
100 ,
|
||
bool |
use_post_proc
=
true ,
|
||
float |
fgsLambda
=
500.0f ,
|
||
float |
fgsSigma
=
1.5f ,
|
||
bool |
use_variational_refinement
=
false |
||
) |
ロバストな局所オプティカルフロー(RLOF)アルゴリズムと,疎から密への補間スキームに基づく,高速な密なオプティカルフロー計算.
RLOF は,以下の文献に記載されている高速な局所オプティカルフロー手法です.[Senst2012] [Senst2013 [Senst2013] [Senst2014 [Senst2014] [Senst2014および[Senst2016] を参照してください。で提案されているピラミッド型反復ルーカス-カナード法に似ています。[Bouguet00].. 詳細や実験は以下の論文に記載されています。[Senst2019]を参照してください。. に由来する実装です.optflow::calcOpticalFlowPyrLK().
疎から密への補間スキームにより,RLOFを用いて密なオプティカルフローを高速に計算することができます(参照[Geistert2016] を参照してください。). この方式では,以下の手順で計算を行います.
I0 | 最初の 8 ビットの入力画像を処理します。クロスベースRLOFを使用する場合(以下を選択することでoptflow::RLOFOpticalFlowParameter::supportRegionType= SupportRegionType::SR_CROSS) 画像は8ビットの3チャンネル画像でなければなりません。 |
I1 | second 8-bit input image. クロスベースRLOFを使用する場合(=SupportRegionType::SR_CROSSを選択)、画像は8ビットの3チャンネル画像でなければならない。optflow::RLOFOpticalFlowParameter::supportRegionType= SupportRegionType::SR_CROSS) 画像は8ビットの3チャンネル画像でなければなりません。 |
flow | I0 と同じサイズで,タイプが CV_32FC2 であるフロー画像が計算されます. |
rlofParam | 見るoptflow::RLOFOpticalFlowParameter |
forwardBackwardThreshold | 前方後方信頼度チェックのための閾値.各格子点に対して![]() ![]()
![]() |
gridStep | モーションベクトルを生成するためのグリッドのサイズ.各格子点に対して,動きベクトルが計算されます.いくつかのモーションベクトルは、前方後方のしきい値(0以上に設定されている場合)のために削除されます。残りは、ベクトルフィールド補間のベースとなります。 |
interp_type | 密なオプティカルフローの計算に使われる補間手法.2つの補間アルゴリズムがサポートされています.
|
epicK | ximgproc::EdgeAwareInterpolatorを参照してください。それぞれのパラメータを設定します。 |
epicSigma | ximgproc::EdgeAwareInterpolatorを参照してください。それぞれのパラメータを設定します。 |
epicLambda | ximgproc::EdgeAwareInterpolatorを参照してください。それぞれのパラメータを設定します。 |
ricSPSize | ximgproc::RICInterpolator を参照すると,それぞれのパラメータが設定されます. |
ricSLICType | ximgproc::RICInterpolator を参照すると,それぞれのパラメータが設定されます. |
use_post_proc | ximgproc::fastGlobalSmootherFilter()パラメータを有効にします。 |
fgsLambda | それぞれのximgproc::fastGlobalSmootherFilter()パラメータを設定します。 |
fgsSigma | それぞれのximgproc::fastGlobalSmootherFilter()パラメータを設定します。 |
use_variational_refinement | を有効にするVariationalRefinement |
パラメータについては[Senst2012] [Senst2013,[Senst2013] [Senst2014,[Senst2014] [Senst2014,[Senst2016] を参照してください。. RLOFの設定についてはoptflow::RLOFOpticalFlowParameterを参照してください。
CV_EXPORTS_W void cv::optflow::calcOpticalFlowSF | ( | InputArray | from, |
InputArray | to, | ||
OutputArray | flow, | ||
int | layers, | ||
int | averaging_block_size, | ||
int | max_flow | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
CV_EXPORTS_W void cv::optflow::calcOpticalFlowSF | ( | InputArray | from, |
InputArray | to, | ||
OutputArray | flow, | ||
int | layers, | ||
int | averaging_block_size, | ||
int | max_flow, | ||
double | sigma_dist, | ||
double | sigma_color, | ||
int | postprocess_window, | ||
double | sigma_dist_fix, | ||
double | sigma_color_fix, | ||
double | occ_thr, | ||
int | upscale_averaging_radius, | ||
double | upscale_sigma_dist, | ||
double | upscale_sigma_color, | ||
double | speed_up_thr | ||
) |
SimpleFlow "アルゴリズムを用いてオプティカルフローを計算します。
from | 1枚目の8ビット3チャンネル画像。 |
to | 前の画像と同じ大きさの2枚目の8ビット3チャンネル画像 |
flow | 前の画像と同じサイズで,タイプが CV_32FC2 である,計算されたフロー画像. |
layers | レイヤー数 |
averaging_block_size | ピクセルに対するコスト関数を計算する際に,合計するブロックのサイズ |
max_flow | 各層で探索する最大のフロー |
sigma_dist | ベクトル スムーズ 空間シグマパラメータ |
sigma_color | ベクトルスムースカラーシグマパラメータ |
postprocess_window | 後処理のクロスバイラテラルフィルターのウィンドウサイズ |
sigma_dist_fix | 後処理のクロスバイラテラルフィルタの空間シグマ |
sigma_color_fix | 後処理クロスバイラテラルフィルタのカラーシグマ |
occ_thr | オクルージョン検出用閾値 |
upscale_averaging_radius | バイラテラルアップスケール処理のウィンドウサイズ |
upscale_sigma_dist | バイラテラルアップスケール処理の空間シグマ |
upscale_sigma_color | バイラテラルアップスケール処理のカラーシグマ |
speed_up_thr | 不規則な流れを持つ点を検出するための閾値 - アップスケール後に流れを再計算すべき場所 |
参照[Tao2012].. また,プロジェクトの現場ではhttp://graphics.berkeley.edu/papers/Tao-SAN-2012-05/.
CV_EXPORTS_W void cv::optflow::calcOpticalFlowSparseRLOF | ( | InputArray | prevImg, |
InputArray | nextImg, | ||
InputArray | prevPts, | ||
InputOutputArray | nextPts, | ||
OutputArray | status, | ||
OutputArray | err, | ||
Ptr< RLOFOpticalFlowParameter > |
rlofParam
=
Ptr<RLOFOpticalFlowParameter >() ,
|
||
float |
forwardBackwardThreshold
=
0 |
||
) |
に似たロバストローカルオプティカルフロー(RLOF)を用いて,疎な特徴セットに対する高速オプティカルフローを計算します.optflow::calcOpticalFlowPyrLK().
RLOF は,以下の文献に記載されている高速な局所オプティカルフロー手法です.[Senst2012] [Senst2013 [Senst2013] [Senst2014 [Senst2014] [Senst2014および[Senst2016] を参照してください。で提案されているピラミッド型反復ルーカス-カナード法に似ています。[Bouguet00].. 詳細や実験は以下の論文に記載されています。[Senst2019]を参照してください。. に由来する実装です.optflow::calcOpticalFlowPyrLK().
prevImg | 最初の 8 ビットの入力画像を処理します。クロスベースRLOFを使用する場合(以下を選択することでoptflow::RLOFOpticalFlowParameter::supportRegionType= SupportRegionType::SR_CROSS) 画像は8ビットの3チャンネル画像でなければなりません。 |
nextImg | second 8-bit input image. クロスベースRLOFを使用する場合(=SupportRegionType::SR_CROSSを選択)、画像は8ビットの3チャンネル画像でなければならない。optflow::RLOFOpticalFlowParameter::supportRegionType= SupportRegionType::SR_CROSS) 画像は8ビットの3チャンネル画像でなければなりません。 |
prevPts | フローを求める2次元点のベクトル.点の座標は,単精度浮動小数点数でなければなりません. |
nextPts | 2番目の画像における入力特徴の計算された新しい位置を含む,(単精度浮動小数点座標の)2次元点の出力ベクトル.optflow::RLOFOpticalFlowParameter::useInitialFlow変数が真の場合,このベクトルは入力と同じサイズでなければならず,初期化点の対応関係が含まれていなければなりません. |
status | output status vector (of unsigned chars); ベクトルの各要素は,対応する特徴のフローが forward backward チェックに合格した場合に 1 にセットされます. |
err | ベクトルの各要素には、対応するフィーチャーの forward-backward エラーが設定される。 |
rlofParam | 見るoptflow::RLOFOpticalFlowParameter |
forwardBackwardThreshold | フォワードバックワード信頼度チェックのしきい値。forewardBackwardThreshold <=0であれば,前方チェックが行われます。 |
パラメータについては[Senst2012] [Senst2013,[Senst2013] [Senst2014,[Senst2014] [Senst2014および[Senst2016] を参照してください。. RLOFの設定についてはoptflow::RLOFOpticalFlowParameterを参照してください。
CV_EXPORTS_W void cv::optflow::calcOpticalFlowSparseToDense | ( | InputArray | from, |
InputArray | to, | ||
OutputArray | flow, | ||
int |
grid_step
=
8 ,
|
||
int |
k
=
128 ,
|
||
float |
sigma
=
0.05f ,
|
||
bool |
use_post_proc
=
true ,
|
||
float |
fgs_lambda
=
500.0f ,
|
||
float |
fgs_sigma
=
1.5f |
||
) |
PyrLKスパースマッチ補間に基づく高速高密度オプティカルフロー.
from | 1枚目の8ビット3チャンネルまたは1チャンネル画像. |
to | fromと同じサイズの2枚目の8ビット3チャンネルまたは1チャンネル画像 |
flow | from と同じサイズで, CV_32FC2 型の計算されたフロー画像. |
grid_step | 疎なマッチング計算で利用される stride.通常,この値を小さくすると,より高い品質が得られますが,アルゴリズムは遅くなります. |
k | 局所的にアフィンなモデルをフィッティングする際に考慮される,最近接マッチの数.低い値にすると、品質が多少低下する代わりに、アルゴリズムが著しく高速になります。 |
sigma | 局所的に重み付けされたアフィンフィッティングにおいて、重みの減少速度を定義するパラメータ。高い値は細かいディテールを保持するのに役立ち、低い値は出力フローのノイズを取り除くのに役立ちます。 |
use_post_proc | は,補間後の後処理に ximgproc::fastGlobalSmootherFilter() を使うかどうかを定義します. |
fgs_lambda | ximgproc::fastGlobalSmootherFilter()の各パラメータを参照してください。 |
fgs_sigma | ximgproc::fastGlobalSmootherFilter()の各パラメータを参照してください。 |
CV_EXPORTS_W Ptr< DenseOpticalFlow > cv::optflow::createOptFlow_DeepFlow | ( | ) |
DeepFlowオプティカルフローアルゴリズムの実装
このクラスは、[Weinzaepfel2013]で説明されているDeepFlowオプティカルフローアルゴリズムを実装しています。[Weinzaepfel2013] を参照してください。. こちらもご覧くださいhttp://lear.inrialpes.fr/src/deepmatching/. パラメーター - クラスのフィールド - クラスのインスタンスを作成した後に変更することができます。
void cv::optflow::GPCForest< T >::findCorrespondences | ( | InputArray | imgFrom, |
InputArray | imgTo, | ||
std::vector< std::pair< Point2i, Point2i > > & | corr, | ||
const GPCMatchingParams |
params
=
GPCMatchingParams() |
||
) | const |
2つの画像間の対応関係を見つける。
[in]. | imgFrom | シーケンス内の1枚目の画像 |
[in]. | imgTo | シーケンス内の2枚目の画像 |
[out]. | corr | 対応する点のペアを持つ出力ベクトル |
[in]. | params | 微調整のための追加マッチングパラメーター。 |
CV_EXPORTS_W void cv::motempl::segmentMotion | ( | InputArray | mhi, |
OutputArray | segmask, | ||
CV_OUT std::vector< Rect > & | boundingRects, | ||
double | timestamp, | ||
double | segThresh | ||
) |
モーション履歴画像を、独立した別々の動作に対応するいくつかの部分に分割します(例:左手、右手)。
mhi | モーションヒストリー画像。 |
segmask | 見つかったマスクを保存する画像、シングルチャンネル、32ビット浮動小数点。 |
boundingRects | モーション連結成分の ROI を含むベクトル |
timestamp | 現在の時刻(ミリ秒またはその他の単位)。 |
segThresh | モーション履歴の「ステップ」の間隔以上にすることが推奨される,セグメント化の閾値. |
この関数は、すべてのモーションセグメントを見つけ出し、segmaskに個別の値(1,2,...)でマークします。また,モーションに接続されたコンポーネントのROIを含むベクトルを計算します.その後,calcGlobalOrientation を用いて,特定のコンポーネントの抽出されたマスクを利用して,各コンポーネントの動きの方向を計算することができます.
CV_EXPORTS_W void cv::motempl::updateMotionHistory | ( | InputArray | silhouette, |
InputOutputArray | mhi, | ||
double | timestamp, | ||
double | duration | ||
) |
シルエットが動くことで、モーションヒストリー画像を更新します。
silhouette | 動きが発生した部分のピクセルが0ではないシルエットマスク。 |
mhi | この関数によって更新されるモーションヒストリー画像(シングルチャンネル,32 ビット浮動小数点). |
timestamp | 現在の時刻(ミリ秒またはその他の単位)。 |
duration | timestamp と同じ単位で表される,モーショントラックの最大継続時間. |
この関数は,以下のように動き履歴画像を更新する.
つまり,動きが発生したMHIピクセルには,現在のtimestampが設定され,前回かなり前に動きが発生したピクセルはクリアされます.
この関数は, calcMotionGradient や calcGlobalOrientation と共に,以下で説明されているモーションテンプレート技術を実装しています。[Davis97]やおよび[Bradski00].