OpenCV 4.5.3(日本語機械翻訳)
|
クラス |
|
class | cv::KalmanFilter |
カルマンフィルタクラス.[【詳解】(英語]
|
|
class | cv::DenseOpticalFlow |
class | cv::SparseOpticalFlow |
疎なオプティカルフローアルゴリズムの基本インターフェース.[【詳解】(英語]
|
|
class | cv::FarnebackOpticalFlow |
Gunnar Farnebackのアルゴリズムを用いた高密度オプティカルフローの計算クラス[【詳解】(英語]
|
|
class | cv::VariationalRefinement |
変分的オプティカルフロー精密化[【詳解】(英語]
|
|
class | cv::DISOpticalFlow |
DISオプティカルフローアルゴリズム。[【詳解】(英語]
|
|
class | cv::SparsePyrLKOpticalFlow |
疎なオプティカルフローを計算するためのクラス.[【詳解】(英語]
|
|
class | cv::Tracker |
長期トラッカーのベースとなる抽象クラス[【詳解】(英語]
|
|
class | cv::TrackerMIL |
MILアルゴリズムは,オンラインで分類器を学習し,物体と背景を分離する.[【詳解】(英語]
|
|
class | cv::TrackerGOTURN |
GOTURN (Generic Object Tracking Using Regression Networks) トラッカー[【詳解】(英語]
|
|
class | cv::TrackerDaSiamRPN |
関数 |
|
CV_EXPORTS_W RotatedRect | cv::CamShift (InputArray probImage, CV_IN_OUT Rect &window, TermCriteria criteria) |
オブジェクトの中心,大きさ,向きを検出します.[【詳解】(英語]
|
|
CV_EXPORTS_W int | cv::meanShift (InputArray probImage, CV_IN_OUT Rect &window, TermCriteria criteria) |
バックプロジェクション画像上のオブジェクトを検出します.[【詳解】(英語]
|
|
CV_EXPORTS_W int | cv::buildOpticalFlowPyramid (InputArray img, OutputArrayOfArrays pyramid, Size winSize, int maxLevel, bool withDerivatives=true, int pyrBorder=BORDER_REFLECT_101, int derivBorder=BORDER_CONSTANT, bool tryReuseInputImage=true) |
calcOpticalFlowPyrLKに渡すことができる画像ピラミッドを構築します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::calcOpticalFlowPyrLK (InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArray status, OutputArray err, Size winSize=Size(21, 21), int maxLevel=3, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01), int flags=0, double minEigThreshold=1e-4) |
ピラミッドを用いた反復ルーカス-カナード法を用いて,疎な特徴セットのオプティカルフローを計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::calcOpticalFlowFarneback (InputArray prev, InputArray next, InputOutputArray flow, double pyr_scale, int levels, int winsize, int iterations, int poly_n, double poly_sigma, int flags) |
Gunnar Farnebackのアルゴリズムを用いて,密なオプティカルフローを計算します.[【詳解】(英語]
|
|
CV_DEPRECATED CV_EXPORTS Mat | cv::estimateRigidTransform (InputArray src, InputArray dst, bool fullAffine) |
2つの2Dポイントセット間の最適なアフィン変換を計算します。[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::computeECC (InputArray templateImage, InputArray inputImage, InputArray inputMask=noArray()) |
2つの画像間の強化相関係数の値を計算する[EP08]..[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::findTransformECC (InputArray templateImage, InputArray inputImage, InputOutputArray warpMatrix, int motionType, TermCriteria criteria, InputArray inputMask, int gaussFiltSize) |
2つの画像間の幾何学的変換(ワープ)を,ECC基準に基づいて求めます.[EP08]..[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::findTransformECC (InputArray templateImage, InputArray inputImage, InputOutputArray warpMatrix, int motionType=MOTION_AFFINE, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 50, 0.001), InputArray inputMask=noArray()) |
CV_EXPORTS_W Mat | cv::readOpticalFlow (const String &path) |
.floファイルの読み込み[【詳解】(英語]
|
|
CV_EXPORTS_W bool | cv::writeOpticalFlow (const String &path, InputArray flow) |
.floをディスクに書き込む[【詳解】(英語]
|
|
CV_EXPORTS_W int cv::buildOpticalFlowPyramid | ( | InputArray | img, |
OutputArrayOfArrays | pyramid, | ||
Size | winSize, | ||
int | maxLevel, | ||
bool |
withDerivatives
=
true ,
|
||
int |
pyrBorder
=
BORDER_REFLECT_101
,
|
||
int |
derivBorder
=
BORDER_CONSTANT
,
|
||
bool |
tryReuseInputImage
=
true |
||
) |
calcOpticalFlowPyrLKに渡すことができる画像ピラミッドを構築します。
img | 8ビットの入力画像。 |
pyramid | ピラミッドを出力します. |
winSize | オプティカルフローアルゴリズムのウィンドウサイズ.calcOpticalFlowPyrLKの引数winSize以上である必要があります。ピラミッドのレベルに必要なパディングを計算するために必要です。 |
maxLevel | ピラミッドレベルの最大値を0ベースで指定します。 |
withDerivatives | ピラミッドの各レベルのグラデーションを事前に計算するように設定します。グラデーションを使わずにピラミッドを構築した場合は、 calcOpticalFlowPyrLK が内部でグラデーションを計算します。 |
pyrBorder | ピラミッドのレイヤーの境界線モード。 |
derivBorder | グラデーションのボーダーモードです。 |
tryReuseInputImage | 可能であれば,入力画像のROIをピラミッドの中に入れます.falseを渡せば、データのコピーを強制することができます。 |
CV_EXPORTS_W void cv::calcOpticalFlowFarneback | ( | InputArray | prev, |
InputArray | next, | ||
InputOutputArray | flow, | ||
double | pyr_scale, | ||
int | levels, | ||
int | winsize, | ||
int | iterations, | ||
int | poly_n, | ||
double | poly_sigma, | ||
int | flags | ||
) |
Gunnar Farnebackのアルゴリズムを用いて,密なオプティカルフローを計算します.
prev | 8ビットシングルチャンネルの1枚目の入力画像. |
next | 前の画像と同じサイズ,同じ種類の「2番目の入力画像」. |
flow | 前の画像と同じサイズで,タイプが CV_32FC2 である,計算されたフロー画像. |
pyr_scale | pyr_scale=0.5 は古典的なピラミッドを意味し、次の層は前の層よりも2倍小さくなります。 |
levels | 最初の画像を含めたピラミッドの層の数; levels=1 は余分な層を作らず、元の画像のみを使用することを意味します。 |
winsize | 平均化ウィンドウのサイズ:この値を大きくすると、画像のノイズに対するアルゴリズムのロバスト性が高まり、高速な動き検出のチャンスが増えますが、動きのあるフィールドがよりぼやけてしまいます。 |
iterations | ピラミッドの各レベルでアルゴリズムが行う反復の数。 |
poly_n | この値が大きいほど、画像はより滑らかな表面で近似され、よりロバストなアルゴリズムが得られ、よりぼやけたモーションフィールドが得られます。 |
poly_sigma | poly_n=5の場合はpoly_sigma=1.1、poly_n=7の場合はpoly_sigma=1.5とするのが良いでしょう。 |
flags | 操作フラグは、以下の組み合わせが可能です。
|
この関数は,各 prev ピクセルに対するオプティカルフローを[Farneback2003]アルゴリズムを用いて,次のように求めます.
CV_EXPORTS_W void cv::calcOpticalFlowPyrLK | ( | InputArray | prevImg, |
InputArray | nextImg, | ||
InputArray | prevPts, | ||
InputOutputArray | nextPts, | ||
OutputArray | status, | ||
OutputArray | err, | ||
Size |
winSize
=
Size(21, 21) ,
|
||
int |
maxLevel
=
3 ,
|
||
TermCriteria |
criteria
=
TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01) ,
|
||
int |
flags
=
0 ,
|
||
double |
minEigThreshold
=
1e-4 |
||
) |
ピラミッドを用いた反復ルーカス-カナード法を用いて,疎な特徴セットのオプティカルフローを計算します.
prevImg | buildOpticalFlowPyramidによって構築された8ビットの1番目の入力画像またはピラミッド。 |
nextImg | prevImg と同じサイズ、同じタイプの2番目の入力画像またはピラミッド |
prevPts | フローを求める2次元点のベクトル.点の座標は,単精度浮動小数点数でなければなりません. |
nextPts | OPTFLOW_USE_INITIAL_FLOW フラグが渡された場合、このベクトルは入力と同じサイズでなければなりません。 |
status | output status vector (of unsigned chars); ベクトルの各要素は、対応する特徴量に対するフローが見つかった場合は1に、そうでない場合は0に設定される。 |
err | ベクトルの各要素には,対応する特徴のエラーが設定されます.エラー指標のタイプは flags パラメータで設定できます. |
winSize | 各ピラミッドレベルでの検索窓の大きさを指定します。 |
maxLevel | 0ベースの最大ピラミッドレベル数; 0に設定された場合、ピラミッドは使用されず(1レベル)、1に設定された場合、2レベルが使用され、以下同様です; 入力にピラミッドが渡された場合、アルゴリズムはピラミッドが持つレベルの数だけ使用しますが、maxLevelを超えることはありません。 |
criteria | パラメーター:反復検索アルゴリズムの終了基準を指定します(指定された最大反復回数 criteria.maxCount の後、あるいは検索窓の移動量が criteria.epsilon より小さくなったとき)。 |
flags | 演算フラグ。
|
minEigThreshold | このアルゴリズムは,オプティカルフロー方程式の2x2正規行列(この行列は,以下では空間勾配行列と呼ばれます)の最小固有値を,ウィンドウ内のピクセル数で割って計算します.[Bouguet00].この値が minEigThreshold よりも小さい場合,対応する特徴はフィルタリングされ,そのフローは処理されないので,悪い点を削除して性能を向上させることができます. |
この関数は,Lucas-Canade オプティカルフローの疎な反復版をピラミッド型に実装したものです.参照[Bouguet00].. この関数は,TBBライブラリを用いて並列化されています.
CV_EXPORTS_W RotatedRect cv::CamShift | ( | InputArray | probImage, |
CV_IN_OUT Rect & | window, | ||
TermCriteria | criteria | ||
) |
オブジェクトの中心,大きさ,向きを検出します.
probImage | オブジェクトのヒストグラムをバックプロジェクションします。calcBackProjectを参照してください。 |
window | 初期検索ウィンドウ。 |
criteria | meanShiftの停止基準. 戻り値(古いインターフェースで) CAMSHIFTが収束するまでに要した反復回数. この関数は,CAMSHIFTオブジェクト追跡アルゴリズムを実装しています[Bradski98].. まず,meanShift を利用してオブジェクトの中心を見つけ,次にウィンドウサイズを調整し,最適な回転を見つけます.この関数は,オブジェクトの位置,サイズ,向きを含む,回転した矩形構造を返します.探索窓の次の位置は,次のようにして得ることができます.RotatedRect::boundingRect() |
色付きのオブジェクトを追跡するOpenCVのサンプル camshiftdemo.c を参照してください.
CV_EXPORTS_W double cv::computeECC | ( | InputArray | templateImage, |
InputArray | inputImage, | ||
InputArray |
inputMask
=
noArray() |
||
) |
2つの画像間の強化相関係数の値を計算する[EP08]..
templateImage | シングルチャンネルのテンプレート画像.CV_8U または CV_32F の配列. |
inputImage | templateImage と同じ型で,templateImage に似た画像を得るためにワープされるシングルチャンネルの入力画像. |
inputMask | inputImage の有効な値を示す,オプションのマスク. |
CV_DEPRECATED CV_EXPORTS Mat cv::estimateRigidTransform | ( | InputArray | src, |
InputArray | dst, | ||
bool | fullAffine | ||
) |
2つの2Dポイントセット間の最適なアフィン変換を計算します。
src | std::vector に格納された最初の入力2次元点群,またはMatに格納された画像、またはMat. |
dst | Aと同じサイズ,同じ型の2次元点群,あるいは,別の画像. |
fullAffine | 真の場合,この関数は,追加の制限無しに最適なアフィン変換を見つけます(6つの自由度).そうでない場合,選択できる変換のクラスは,平行移動,回転,および一様なスケーリングの組み合わせに限られます(4自由度). |
この関数は,最適なアフィン変換[A|b] はの間のアフィン変換を最もよく近似する,最適なアフィン変換 [A|b] (2 x 3 の浮動小数点型行列) を求めます.
Two point sets Two raster images. In this case, the function first finds some features in the src image and finds the corresponding features in dst image. After that, the problem is reduced to the first case.
点群の場合,この問題は次のように定式化されます:2x2 の行列Aと2x1ベクトルbを見つける必要があります.
ここで, src[i] と dst[i] は,それぞれ src と dst の i 番目の点です.は,任意の値(fullAffine=true の場合)か,あるいは,次のような形式になります
fullAffine=false の場合は
CV_EXPORTS_W double cv::findTransformECC | ( | InputArray | templateImage, |
InputArray | inputImage, | ||
InputOutputArray | warpMatrix, | ||
int | motionType, | ||
TermCriteria | criteria, | ||
InputArray | inputMask, | ||
int | gaussFiltSize | ||
) |
2つの画像間の幾何学的変換(ワープ)を,ECC基準に基づいて求めます.[EP08]..
templateImage | シングルチャンネルのテンプレート画像.CV_8U または CV_32F の配列. |
inputImage | templateImage に似た画像を得るために,最終的な warpMatrix を用いてワープされるべきシングルチャンネルの入力画像,templateImage と同じ型. |
warpMatrix | 浮動小数点![]() ![]() |
motionType | パラメータ.動きの種類を指定します.
|
criteria | パラメータで,ECC アルゴリズムの終了基準を指定します.cliteria.epsilon は,2 回の反復の間の相関係数の増分のしきい値を定義します(cliteria.epsilon を負にすると,cliteria.maxcount が唯一の終了基準になります).デフォルト値は,上記の宣言に示されています. |
inputMask | inputImage の有効な値を示す,オプションのマスク. |
gaussFiltSize | ガウスぼかしフィルタのサイズを示すオプション値;(デフォルト:5). |
この関数は,ECC基準( )に関する最適な変換( warpMatrix )を推定します.[EP08].)に関して,最適な変換(warpMatrix)を推定します.
ここで
(となります(この式は,ホモグラフィのための同次座標でも成立します).この関数は,最終的な拡張相関係数,つまり,テンプレート画像と最終的にワープされた入力画像の間の相関係数を返します.モーションタイプが行列が motionType =0, 1, 2 で与えられた場合,3行目は無視されます.
findHomography や estimateRigidTransform とは異なり,関数 findTransformECC は,強度の類似性を利用したエリアベースの位置合わせを行います.要するに,この関数は,画像を大まかに整列させる初期変換を更新します.この情報が不足している場合は,初期化として identity warp(ユニティ行列)が利用されます.なお,画像が強い変位や回転を受ける場合は,画像を大まかに揃える初期変換が必要になります(例えば,画像の内容がほぼ同じになるような単純なユークリッド変換や類似性変換など).1枚目の画像に近い画像を得るために,2枚目の画像に逆ワープを利用します.つまり,フラグ WARP_INVERSE_MAP と warpAffine または warpPerspective を利用します.この関数の使用方法を示す OpenCV のサンプル image_alignment.cpp も参照してください.この関数は,アルゴリズムが収束しない場合に例外を投げることに注意してください.
CV_EXPORTS_W double cv::findTransformECC | ( | InputArray | templateImage, |
InputArray | inputImage, | ||
InputOutputArray | warpMatrix, | ||
int |
motionType
=
MOTION_AFFINE ,
|
||
TermCriteria |
criteria
=
TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 50, 0.001) ,
|
||
InputArray |
inputMask
=
noArray() |
||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
CV_EXPORTS_W int cv::meanShift | ( | InputArray | probImage, |
CV_IN_OUT Rect & | window, | ||
TermCriteria | criteria | ||
) |
バックプロジェクション画像上のオブジェクトを検出します.
probImage | オブジェクトのヒストグラムをバックプロジェクションします.詳細は, calcBackProject を参照してください. |
window | 初期検索ウィンドウ。 |
criteria | 反復検索アルゴリズムの停止基準. returns : CAMSHIFT が収束するまでに要した反復回数.この関数は,反復型オブジェクト探索アルゴリズムを実装しています.この関数は,物体のバックプロジェクションと初期位置を入力とします.バックプロジェクション画像のウィンドウ内の質量中心が計算され,探索ウィンドウの中心が質量中心に移動します.この手順は、指定された反復回数 criteria.maxCount が終了するまで、または窓の中心が criteria.epsilon よりも小さくシフトするまで繰り返されます。このアルゴリズムはCamShiftの内部で使用されており、CamShiftとは異なり、探索中に探索窓のサイズや方向が変化することはありません。単純に calcBackProject の出力をこの関数に渡すことができます。しかし、バックプロジェクションを事前にフィルタリングしてノイズを除去すると、より良い結果が得られます。例えば,findContours で連結成分を検索し,面積の小さい輪郭 ( contourArea ) を捨て,残りの輪郭を drawContours で描画することで,これを行うことができます. |
CV_EXPORTS_W Mat cv::readOpticalFlow | ( | const String & | path | ) |
.floファイルの読み込み
path | 読み込まれるファイルのパス |
関数 readOpticalFlow は,ファイルからフローフィールドを読み込み,それを1つの行列として返します.演算結果Matの型は,CV_32FC2 - 浮動小数点型,2チャンネルです.1番目のチャンネルは,水平方向(u)の流れに対応し,2番目のチャンネルは,垂直方向(v)の流れに対応します.
CV_EXPORTS_W bool cv::writeOpticalFlow | ( | const String & | path, |
InputArray | flow | ||
) |
.floをディスクに書き込む
path | 書き込まれるファイルのパス |
flow | 格納されるフローフィールド |
この関数は,フローフィールドをファイルに保存し,成功すれば true,そうでなければ false を返します。フローフィールドは,2チャンネル,浮動小数点型の行列(CV_32FC2)でなければいけません.1番目のチャンネルは水平方向(u)の流れに対応し,2番目のチャンネルは垂直方向(v)の流れに対応します.