![]() |
OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
|
使用 NVIDIA 光流硬體和光流 SDK 1.0 計算兩幅影像之間的光流向量的類。更多...
#include <opencv2/cudaoptflow.hpp>
公開型別 | |
| enum | NVIDIA_OF_PERF_LEVEL { NV_OF_PERF_LEVEL_UNDEFINED , NV_OF_PERF_LEVEL_SLOW = 5 , NV_OF_PERF_LEVEL_MEDIUM = 10 , NV_OF_PERF_LEVEL_FAST = 20 , NV_OF_PERF_LEVEL_MAX } |
公開成員函式 | |
| virtual void | upSampler (InputArray flow, cv::Size imageSize, int gridSize, InputOutputArray upsampledFlow)=0 |
| NVIDIA 光流硬體以 gridSize 的粒度生成光流向量,可以透過函式 getGridSize() 查詢。Upsampler() 輔助函式使用最近鄰上取樣方法將硬體生成的光流向量轉換為密集表示(每個畫素一個光流向量)。 | |
繼承自 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 |
| 根據硬體能力返回輸出緩衝區的網格大小。 | |
從 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 |
| 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 |
靜態公開成員函式 | |
| static Ptr< NvidiaOpticalFlow_1_0 > | create (cv::Size imageSize, cv::cuda::NvidiaOpticalFlow_1_0::NVIDIA_OF_PERF_LEVEL perfPreset=cv::cuda::NvidiaOpticalFlow_1_0::NV_OF_PERF_LEVEL_SLOW, bool enableTemporalHints=false, bool enableExternalHints=false, bool enableCostBuffer=false, int gpuId=0, Stream &inputStream=Stream::Null(), Stream &outputStream=Stream::Null()) |
| 例項化 NVIDIA 光流。 | |
從 cv::Algorithm 繼承的靜態公共成員函式 | |
| template<typename _Tp > | |
| static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
| 從檔案中載入演算法。 | |
| template<typename _Tp > | |
| static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
| 從字串中載入演算法。 | |
| template<typename _Tp > | |
| static Ptr< _Tp > | read (const FileNode &fn) |
| 從檔案節點中讀取演算法。 | |
更多繼承的成員 | |
從 cv::Algorithm 繼承的受保護成員函式 | |
| void | writeFormat (FileStorage &fs) const |
使用 NVIDIA 光流硬體和光流 SDK 1.0 計算兩幅影像之間的光流向量的類。
|
static (靜態) |
例項化 NVIDIA 光流。
| imageSize | 要計算其光流的輸入影像的大小(以畫素為單位)。 |
| perfPreset | 可選引數。有關預設的詳細資訊,請參閱 NV OF SDK 文件。預設為 NV_OF_PERF_LEVEL_SLOW。 |
| enableTemporalHints | 可選引數。啟用時間提示的標誌。當設定為 true 時,硬體會將先前呼叫 calc() 時生成的光流向量用作當前呼叫 calc() 的內部提示。在計算連續影片幀之間的光流向量時很有用。預設為 false。 |
| enableExternalHints | 可選引數。啟用將外部提示緩衝區傳遞給 calc() 的標誌。預設為 false。 |
| enableCostBuffer | 可選引數。啟用從 calc() 輸出成本緩衝區的標誌。預設為 false。 |
| gpuId | 用於選擇應在其上計算光流的 GPU ID 的可選引數。在多 GPU 系統中很有用。預設為 0。 |
| inputStream | 光流演算法可能涉及對輸入緩衝區的 CUDA 預處理。輸入 CUDA 流可用於將 CUDA 預處理任務與 OF HW 引擎進行流水線處理和同步。如果未設定輸入流,則執行函式將使用預設流,即 NULL 流; |
| outputStream | 光流演算法可能涉及對輸出光流向量的 CUDA 後處理。輸出 CUDA 流可用於將 CUDA 後處理任務與 OF HW 引擎進行流水線處理和同步。如果未設定輸出流,則執行函式將使用預設流,即 NULL 流; |
|
純虛擬函式 |
NVIDIA 光流硬體以 gridSize 的粒度生成光流向量,可以透過函式 getGridSize() 查詢。Upsampler() 輔助函式使用最近鄰上取樣方法將硬體生成的光流向量轉換為密集表示(每個畫素一個光流向量)。
| flow | 型別為 CV_16FC2 的緩衝區,包含由 calc() 生成的光流向量。 |
| imageSize | 生成這些光流向量的輸入影像的大小(以畫素為單位)。 |
| gridSize | 由 calc() 函式返回的光流向量的粒度。可以使用 getGridSize() 查詢。 |
| upsampledFlow | 型別為 CV_32FC2 的緩衝區,包含上取樣後的光流向量,每個畫素一個光流向量,採用行優先佈局。 |