OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::cuda::NvidiaHWOpticalFlow 類參考抽象

使用NVIDIA Optical Flow SDK的光流演算法的基本介面。更多...

#include <opencv2/cudaoptflow.hpp>

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光流SDK計算光流。
 
virtual void collectGarbage ()=0
 釋放所有緩衝區、上下文和裝置指標。
 
virtual int getGridSize () const =0
 返回根據硬體能力確定的輸出緩衝區網格大小。
 
- 繼承自 cv::Algorithm 的公有成員函式
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除演算法狀態。
 
virtual bool empty () const
 如果演算法為空(例如在最初或讀取失敗後),則返回true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 從檔案儲存中讀取演算法引數。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 將演算法引數儲存到檔案儲存中。
 
void write (FileStorage &fs, const String &name) const
 

其他繼承成員

- 繼承自 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)
 從檔案節點讀取演算法。
 
- 繼承自 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() )
純虛擬函式

使用NVIDIA光流SDK計算光流。

從圖靈架構開始的NVIDIA GPU包含一個專用硬體加速器,用於計算影像對之間的光流向量。光流硬體加速器生成基於塊的光流向量。塊的大小取決於所使用的硬體,並且可以使用getGridSize()函式查詢。如果需要,硬體生成的基於塊的光流向量可以使用upSampler()輔助函式轉換為密集表示(即每畫素光流向量)。光流向量以CV_16SC2格式儲存,其中每個光流向量的x和y分量採用16位有符號定點表示S10.5。

引數
inputImage輸入影像。
referenceImage與輸入影像大小和型別相同的參考影像。
flow一個緩衝區,包含inputImage.Size() / getGridSize() 個CV_16SC2格式的光流向量。
強烈建議在create()函式中作為光流會話建立的一部分,每會話設定一次用於光流向量預處理和後處理的CUDA流。此引數保留在此處是為了向後相容,將來可能會被移除。預設值為NULL流;
hint如果客戶端提供外部提示,則為提示緩衝區。必須與流緩衝區大小相同。呼叫者可以提供光流向量作為光流計算的提示。
cost成本緩衝區包含表示與每個生成的光流向量相關的置信度的數字。成本越高,置信度越低。成本緩衝區型別為CV_32SC1。
注意
  • 如果從多個執行緒呼叫,客戶端必須在每個calc()函數週圍使用臨界區。

◆ collectGarbage()

virtual void cv::cuda::NvidiaHWOpticalFlow::collectGarbage ( )
純虛擬函式

釋放所有緩衝區、上下文和裝置指標。

◆ getGridSize()

virtual int cv::cuda::NvidiaHWOpticalFlow::getGridSize ( ) const
純虛擬函式

返回根據硬體能力確定的輸出緩衝區網格大小。


此類的文件生成自以下檔案