OpenCV 4.11.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 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 )
内联
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>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。

参数
size二维数组大小: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++ 内部使用。