![]() |
OpenCV 4.12.0
開源計算機視覺
|
類 | |
| 類 | cv::cuda::Convolution |
| 卷積(或互相關)運算子的基類。: 更多... | |
| 類 | cv::cuda::DFT |
| DFT 運算子作為 cv::Algorithm 的基類。: 更多... | |
函式 | |
| Ptr< Convolution > | cv::cuda::createConvolution (Size user_block_size=Size()) |
| 為 cuda::Convolution 建立實現。 | |
| Ptr< DFT > | cv::cuda::createDFT (Size dft_size, int flags) |
| 為 cuda::DFT 建立實現。 | |
| void | cv::cuda::dft (InputArray src, OutputArray dst, Size dft_size, int flags=0, Stream &stream=Stream::Null()) |
| 對浮點矩陣執行正向或逆向離散傅立葉變換(1D 或 2D)。 | |
| void | cv::cuda::gemm (InputArray src1, InputArray src2, double alpha, InputArray src3, double beta, OutputArray dst, int flags=0, Stream &stream=Stream::Null()) |
| 執行廣義矩陣乘法。 | |
| void | cv::cuda::mulAndScaleSpectrums (InputArray src1, InputArray src2, OutputArray dst, int flags, float scale, bool conjB=false, Stream &stream=Stream::Null()) |
| 執行兩個傅立葉頻譜的逐元素乘法並縮放結果。 | |
| void | cv::cuda::mulSpectrums (InputArray src1, InputArray src2, OutputArray dst, int flags, bool conjB=false, Stream &stream=Stream::Null()) |
| 對兩個傅立葉頻譜執行逐元素乘法。 | |
| Ptr< Convolution > cv::cuda::createConvolution | ( | Size | user_block_size = Size() | ) |
#include <opencv2/cudaarithm.hpp>
為 cuda::Convolution 建立實現。
| user_block_size | 塊大小。如果您保留預設值 Size(0,0),則將使用塊大小的自動估計(針對速度進行了最佳化)。透過改變 user_block_size,您可以降低記憶體需求,但會降低速度。 |
#include <opencv2/cudaarithm.hpp>
為 cuda::DFT 建立實現。
| dft_size | 影像大小。 |
| flags | 可選標誌
|
| void cv::cuda::dft | ( | InputArray | src, |
| OutputArray | dst, | ||
| Size | dft_size, | ||
| int | flags = 0, | ||
| Stream & | stream = Stream::Null() ) |
#include <opencv2/cudaarithm.hpp>
對浮點矩陣執行正向或逆向離散傅立葉變換(1D 或 2D)。
| src | 源矩陣(實數或複數)。 |
| dst | 目標矩陣(實數或複數)。 |
| dft_size | 離散傅立葉變換的大小。 |
| flags | 可選標誌
|
| 流 | Stream 用於非同步版本。 |
用於處理實數矩陣 ( CV32FC1 ) 和交錯格式的複數矩陣 ( CV32FC2 )。
源矩陣應該是連續的,否則將執行重新分配和資料複製。該函式根據源矩陣的標誌、大小和通道計數選擇操作模式
| void cv::cuda::gemm | ( | InputArray | src1, |
| InputArray | src2, | ||
| double | alpha, | ||
| InputArray | src3, | ||
| double | beta, | ||
| OutputArray | dst, | ||
| int | flags = 0, | ||
| Stream & | stream = Stream::Null() ) |
#include <opencv2/cudaarithm.hpp>
執行廣義矩陣乘法。
| src1 | 第一個相乘的輸入矩陣,應具有 CV_32FC1 、 CV_64FC1 、 CV_32FC2 或 CV_64FC2 型別。 |
| src2 | 第二個相乘的輸入矩陣,與 src1 的型別相同。 |
| alpha | 矩陣積的權重。 |
| src3 | 新增到矩陣積的第三個可選增量矩陣。它應與 src1 和 src2 具有相同的型別。 |
| beta | src3 的權重。 |
| dst | 目標矩陣。它具有適當的大小,並且與輸入矩陣的型別相同。 |
| flags | 操作標誌
|
| 流 | Stream 用於非同步版本。 |
該函式執行類似於 BLAS 級別的 gemm 函式的廣義矩陣乘法
例如,gemm(src1, src2, alpha, src3, beta, dst, GEMM_1_T + GEMM_3_T) 對應於
\[\texttt{dst} = \texttt{alpha} \cdot \texttt{src1} ^T \cdot \texttt{src2} + \texttt{beta} \cdot \texttt{src3} ^T\]
| void cv::cuda::mulAndScaleSpectrums | ( | InputArray | src1, |
| InputArray | src2, | ||
| OutputArray | dst, | ||
| int | flags, | ||
| float | scale, | ||
| bool | conjB = false, | ||
| Stream & | stream = Stream::Null() ) |
#include <opencv2/cudaarithm.hpp>
執行兩個傅立葉頻譜的逐元素乘法並縮放結果。
| src1 | 第一個頻譜。 |
| src2 | 第二個頻譜,大小和型別與 a 相同。 |
| dst | 目標頻譜。 |
| flags | 用於 CPU/CUDA 介面相似性的模擬引數,只需新增一個 0 值。 |
| scale | 縮放常數。 |
| conjB | 可選標誌,用於指定是否需要在乘法之前共軛第二個頻譜。 |
| 流 | Stream 用於非同步版本。 |
現在僅支援交錯格式的完整(未打包)CV_32FC2 複數頻譜。
| void cv::cuda::mulSpectrums | ( | InputArray | src1, |
| InputArray | src2, | ||
| OutputArray | dst, | ||
| int | flags, | ||
| bool | conjB = false, | ||
| Stream & | stream = Stream::Null() ) |
#include <opencv2/cudaarithm.hpp>
對兩個傅立葉頻譜執行逐元素乘法。
| src1 | 第一個頻譜。 |
| src2 | 第二個頻譜,大小和型別與 a 相同。 |
| dst | 目標頻譜。 |
| flags | 用於 CPU/CUDA 介面相似性的模擬引數。 |
| conjB | 可選標誌,用於指定是否需要在乘法之前共軛第二個頻譜。 |
| 流 | Stream 用於非同步版本。 |
現在僅支援交錯格式的完整(未打包)CV_32FC2 複數頻譜。