OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项

详细描述

类  cv::cuda::BufferPool
 用于 CUDA 流的 BufferPool更多...
 
类  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 Runtime 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 )
inline
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 )
inline
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 Runtime API 流指针 (cudaStream_t) 中的地址创建一个 Stream 对象。

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