OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
cv::cuda::NvidiaHWOpticalFlow 类参考抽象类

使用 NVIDIA 光流 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
 如果 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
 

其他继承成员

- 从 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 光流 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 格式的光流向量的缓冲区。
stream强烈建议在 create() 函数中,每次会话仅设置一次光流向量的预处理和后处理的 CUDA 流,作为光流会话创建的一部分。此参数保留是为了向后兼容性,将来可能会删除。默认值为 NULL 流;
hint如果客户端提供外部提示,则为提示缓冲区。必须与流缓冲区大小相同。调用者可以提供光流计算的提示向量。
cost成本缓冲区包含数字,表示与每个生成的流向量相关的置信度。成本越高,置信度越低。成本缓冲区的类型为 CV_32SC1。
注意
  • 如果从多个线程调用calc() 函数,客户端必须在每个 calc() 函数周围使用临界区。

◆ collectGarbage()

virtual void cv::cuda::NvidiaHWOpticalFlow::collectGarbage ( )
纯虚函数

释放所有缓冲区、上下文和设备指针。

◆ getGridSize()

virtual int cv::cuda::NvidiaHWOpticalFlow::getGridSize ( ) const
纯虚函数

返回根据硬件能力确定的输出缓冲区的网格大小。


此类的文档是从以下文件生成的: