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

NVIDIA Optical Flow SDKを用いるオプティカルフローアルゴリズムの基底インターフェース。 詳細...

#include <opencv2/cudaoptflow.hpp>

Collaboration diagram for cv::cuda::NvidiaHWOpticalFlow:

公開メンバ関数

virtual void calc (InputArray inputImage, InputArray referenceImage, InputOutputArray flow, Stream &stream=Stream::Null(), InputArray hint=cv::noArray(), OutputArray cost=cv::noArray())=0
 NVIDIA Optical Flow SDKを用いてオプティカルフローを計算する。
 
virtual void collectGarbage ()=0
 すべてのバッファ、コンテキスト、デバイスポインタを解放する。
 
virtual int getGridSize () const =0
 ハードウェアの能力に応じた出力バッファのグリッドサイズを返す。
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual bool empty () const
 Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

Additional Inherited Members

- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

NVIDIA Optical Flow SDKを用いるオプティカルフローアルゴリズムの基底インターフェース。

メンバ関数詳解

◆ calc()

virtual void cv::cuda::NvidiaHWOpticalFlow::calc ( InputArray inputImage,
InputArray referenceImage,
InputOutputArray flow,
Stream & stream = Stream::Null(),
InputArray hint = cv::noArray(),
OutputArray cost = cv::noArray() )
pure virtual

NVIDIA Optical Flow SDKを用いてオプティカルフローを計算する。

Turing以降のNVIDIA GPUには、画像ペア間のオプティカルフローベクトルを計算する専用のハードウェアアクセラレータが搭載されている。オプティカルフローハードウェアアクセラレータはブロックベースのオプティカルフローベクトルを生成する。ブロックのサイズは使用するハードウェアに依存し、getGridSize() 関数を用いて問い合わせることができる。ハードウェアが生成するブロックベースのフローベクトルは、必要に応じてupSampler()ヘルパー関数を用いて密な表現(すなわちピクセルごとのフローベクトル)に変換できる。フローベクトルはCV_16SC2形式で格納され、各フローベクトルのx成分とy成分は16ビット符号付き固定小数点表現S10.5で表される。

引数
inputImage入力画像。
referenceImage入力画像と同じサイズおよび同じ型の参照画像。
flowinputImage.Size() / getGridSize() 個のフローベクトルからなる、CV_16SC2形式のバッファ。
streamオプティカルフローベクトルの前処理および後処理用のCUDAストリームは、オプティカルフローセッション作成の一環として、セッションごとに1回create()関数内で設定することを強く推奨する。この引数は後方互換性のためにここに残されており、将来削除される可能性がある。デフォルト値はNULLストリームである。
hintクライアントが外部ヒントを提供する場合のヒントバッファ。フローバッファと同じサイズでなければならない。呼び出し側はオプティカルフロー計算のヒントとしてフローベクトルを提供できる。
costコストバッファには、生成された各フローベクトルに関連する信頼度を示す数値が含まれる。コストが高いほど信頼度は低い。コストバッファの型はCV_32SC1である。
覚え書き
  • calc() 関数を複数のスレッドから呼び出す場合、クライアントは各呼び出しの周囲でクリティカルセクションを使用しなければならない。

◆ collectGarbage()

virtual void cv::cuda::NvidiaHWOpticalFlow::collectGarbage ( )
pure virtual

すべてのバッファ、コンテキスト、デバイスポインタを解放する。

◆ getGridSize()

virtual int cv::cuda::NvidiaHWOpticalFlow::getGridSize ( ) const
pure virtual

ハードウェアの能力に応じた出力バッファのグリッドサイズを返す。


このクラス詳解は次のファイルから抽出されました: