OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
公共成员函数 | 所有成员列表
cv::cuda::NvidiaHWOpticalFlow 类参考abstract

使用 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 计算光流。

从 Turing 开始的 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() 函数周围使用临界区。

◆ collectGarbage()

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

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

◆ getGridSize()

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

返回输出缓冲区的网格大小,根据硬件功能。


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