OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配项
| 函数

详细说明

类  cv::cuda::BufferPool
 BufferPool 用于与 CUDA 流一起使用。 更多...
 
类  cv::cuda::Event
 
结构  cv::cuda::EventAccessor
 使用该类可从 cuda::Event 获取 cudaEvent_t。 更多...
 
结构  cv::cuda::GpuData
 
类  cv::cuda::GpuMat
 具有引用计数的 GPU 内存的基本存储类。 更多...
 
类  cv::cuda::GpuMatND
 
类  cv::cuda::HostMem
 使用该类可引用计数,封装 CUDA 的特殊内存类型分配函数。 更多...
 
类  cv::cuda::Stream
 该类封装一个异步调用队列。 更多...
 
结构  cv::cuda::StreamAccessor
 使用该类可从 cuda::Stream 获取 cudaStream_t。 更多...
 

函数

void cv::cuda::createContinuous (int rows, int cols, int type, OutputArray arr)
 创建连续矩阵。
 
GpuMat cv::cuda::createGpuMatFromCudaMemory (int rows, int cols, int type, size_t cudaMemoryAddress, size_t step=Mat::AUTO_STEP)
 绑定重载,从现有 GPU 内存创建 GpuMat
 
GpuMat cv::cuda::createGpuMatFromCudaMemory (Size size, int type, size_t cudaMemoryAddress, size_t step=Mat::AUTO_STEP)
 
void cv::cuda::ensureSizeIsEnough (int rows, int cols, int type, OutputArray arr)
 确保矩阵大小足够且类型正确。
 
void cv::cuda::registerPageLocked (Mat &m)
 对矩阵内存进行页面锁定并将其映射到设备。
 
void cv::cuda::setBufferPoolConfig (int deviceId、size_t stackSize、int stackCount)
 
void cv::cuda::setBufferPoolUsage (bool on)
 BufferPool 管理(必须在 Stream 创建之前调用)
 
void cv::cuda::unregisterPageLocked (Mat&m)
 取消映射矩阵的内存,并使其变为可分页的。
 
Stream cv::cuda::wrapStream (size_t cudaStreamMemoryAddress)
 将绑定重载用于根据存储在现有 CUDA 运行时 API 流指针(cudaStream_t)中的地址创建一个 Stream 对象。
 

功能文档

◆ createContinuous()

void cv::cuda::createContinuous ( int  rows,
int  cols,
int  type,
OutputArray  arr 
)
Python
cv.cuda.createContinuous(rows, cols, type[, arr]) -> arr

#include <opencv2/core/cuda.hpp>

创建连续矩阵。

参数
rows行计数。
cols列计数。
type矩阵类型。
arr目标矩阵。只有当目标矩阵类型和区域正确时(\(\texttt{rows} \times \texttt{cols}\)),此参数才发生改变。

如果矩阵的元素存储连续,即每行的结尾处没有间隙,则称该矩阵为连续存储的。

◆ createGpuMatFromCudaMemory() [1/2]

GpuMat cv::cuda::createGpuMatFromCudaMemory ( int  rows,
int  cols,
int  type,
size_t  cudaMemoryAddress,
size_t  step = Mat::AUTO_STEP 
)
内联
Python
cv.cuda.createGpuMatFromCudaMemory(rows, cols, type, cudaMemoryAddress[, step]) -> retval
cv.cuda.createGpuMatFromCudaMemory(size, type, cudaMemoryAddress[, step]) -> retval

#include <opencv2/core/cuda.hpp>

绑定重载,从现有 GPU 内存创建 GpuMat

参数
rows行计数。
cols列计数。
type矩阵类型。
cudaMemoryAddress设备上分配的 GPU 内存地址。这不会分配矩阵数据。相反,它只会初始化指向指定的 cudaMemoryAddress 的矩阵头,这意味着不会复制任何数据。此操作非常高效,并且可用于使用 OpenCV 函数处理外部数据。外部数据不会自动释放,因此你应加以留心。
step每个矩阵行所占用的字节数。该值应包含每行末尾的填充字节(如果有)。如果参数缺失(设置为 Mat::AUTO_STEP ),则不考虑填充,实际步长计算为 cols*elemSize()。见 GpuMat::elemSize
注释
仅用于生成绑定关系的重载,未导出或供从 C++ 内部使用。

◆ createGpuMatFromCudaMemory() [2/2]

GpuMat cv::cuda::createGpuMatFromCudaMemory ( Size  size,
int  type,
size_t  cudaMemoryAddress,
size_t  step = Mat::AUTO_STEP 
)
内联
Python
cv.cuda.createGpuMatFromCudaMemory(rows, cols, type, cudaMemoryAddress[, step]) -> retval
cv.cuda.createGpuMatFromCudaMemory(size, type, cudaMemoryAddress[, step]) -> retval

#include <opencv2/core/cuda.hpp>

这是一个重载成员函数,为提高便捷性而提供了。它与上述函数的不同之处仅在于接受的参数。

参数
size2D 数组大小: Size(cols, rows)。在 Size() 构造函数中,行数和列数按相反的顺序排列。
type矩阵类型。
cudaMemoryAddress设备上分配的 GPU 内存地址。这不会分配矩阵数据。相反,它只会初始化指向指定的 cudaMemoryAddress 的矩阵头,这意味着不会复制任何数据。此操作非常高效,并且可用于使用 OpenCV 函数处理外部数据。外部数据不会自动释放,因此你应加以留心。
step每个矩阵行所占用的字节数。该值应包含每行末尾的填充字节(如果有)。如果参数缺失(设置为 Mat::AUTO_STEP ),则不考虑填充,实际步长计算为 cols*elemSize()。见 GpuMat::elemSize
注释
仅用于生成绑定关系的重载,未导出或供从 C++ 内部使用。

◆ ensureSizeIsEnough()

void cv::cuda::ensureSizeIsEnough ( int  rows,
int  cols,
int  type,
OutputArray  arr 
)
Python
cv.cuda.ensureSizeIsEnough(rows, cols, type[, arr]) -> arr

#include <opencv2/core/cuda.hpp>

确保矩阵大小足够且类型正确。

参数
rows所需的最小行数。
cols所需的最小列数。
type所需的矩阵类型。
arr目标矩阵。

如果矩阵已具有适当的属性,则该函数不重新分配内存。

◆ registerPageLocked()

void cv::cuda::registerPageLocked ( Mat m)
Python
cv.cuda.registerPageLocked(m) ->

#include <opencv2/core/cuda.hpp>

对矩阵内存进行页面锁定并将其映射到设备。

参数
m输入矩阵。

◆ setBufferPoolConfig()

void cv::cuda::setBufferPoolConfig ( int  deviceId,
size_t  stackSize,
int  stackCount 
)
Python
cv.cuda.setBufferPoolConfig(deviceId、stackSize、stackCount) ->

◆ setBufferPoolUsage()

void cv::cuda::setBufferPoolUsage ( bool  on)
Python
cv.cuda.setBufferPoolUsage(on) ->

#include <opencv2/core/cuda.hpp>

BufferPool 管理(必须在 Stream 创建之前调用)

◆ unregisterPageLocked()

void cv::cuda::unregisterPageLocked ( Mat m)
Python
cv.cuda.unregisterPageLocked(m) ->

#include <opencv2/core/cuda.hpp>

取消映射矩阵的内存,并使其变为可分页的。

参数
m输入矩阵。

◆ wrapStream()

Stream cv::cuda::wrapStream ( size_t  cudaStreamMemoryAddress)
Python
cv.cuda.wrapStream(cudaStreamMemoryAddress) -> retval

#include <opencv2/core/cuda.hpp>

将绑定重载用于根据存储在现有 CUDA 运行时 API 流指针(cudaStream_t)中的地址创建一个 Stream 对象。

参数
cudaStreamMemoryAddress存储在 CUDA 运行时 API 流指针(cudaStream_t)中的内存地址。创建的 Stream 对象不会执行任何分配或释放,只包装已有的原始 CUDA 运行时 API 流指针。
注释
仅用于生成绑定关系的重载,未导出或供从 C++ 内部使用。