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++ 內部使用。