![]() |
OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
|
命名空间 | |
| 命名空间 | device |
类 | |
| 类 | BackgroundSubtractorFGD |
| 该类通过构建和维护背景模型来区分前景和背景像素。 更多... | |
| 类 | BackgroundSubtractorGMG |
| 背景/前景分割算法。 更多... | |
| 类 | BackgroundSubtractorMOG |
| 基于高斯混合模型的背景/前景分割算法。 更多... | |
| 类 | BackgroundSubtractorMOG2 |
| 基于高斯混合模型的背景/前景分割算法。 更多... | |
| 类 | BroxOpticalFlow |
| 使用 Brox 等人的光流算法计算两个图像光流的类 ([44])。 更多... | |
| 类 | BufferPool |
| 用于 CUDA 流的缓冲池。 更多... | |
| 类 | CannyEdgeDetector |
| Canny 边缘检测器的基类。 : 更多... | |
| 类 | CascadeClassifier |
| 用于对象检测的级联分类器类。支持 HAAR 和 LBP 级联。 : 更多... | |
| 类 | CLAHE |
| 限制对比度自适应直方图均衡化的基类。 : 更多... | |
| 类 | Convolution |
| 卷积(或互相关)运算符的基类。 : 更多... | |
| 类 | CornernessCriteria |
| 角点特性准则计算的基类。 : 更多... | |
| 类 | CornersDetector |
| 角点检测器的基类。 : 更多... | |
| 类 | DenseOpticalFlow |
| 稠密光流算法的基础接口。 更多... | |
| 类 | DensePyrLKOpticalFlow |
| 用于计算稠密光流的类。 更多... | |
| 类 | DescriptorMatcher |
| 用于匹配关键点描述符的抽象基类。 更多... | |
| 类 | DeviceInfo |
| 提供查询指定 GPU 属性功能的类。 更多... | |
| 类 | DFT |
| 作为 cv::Algorithm 的 DFT 运算符基类。 : 更多... | |
| 类 | DisparityBilateralFilter |
| 使用联合双边滤波优化视差图的类。 : 更多... | |
| 类 | Event |
| 结构体 | EventAccessor |
| 能够从 cuda::Event 获取 cudaEvent_t 的类。 更多... | |
| 类 | FarnebackOpticalFlow |
| 使用 Gunnar Farneback 算法计算稠密光流的类。 更多... | |
| 类 | FastFeatureDetector |
| 使用 FAST 方法进行特征检测的封装类。 更多... | |
| 类 | FastOpticalFlowBM |
| 类 | Feature2DAsync |
| CUDA 异步 2D 图像特征检测器和描述符提取器的抽象基类。 更多... | |
| 结构体 | FGDParams |
| 类 | Filter |
| 所有 CUDA 滤波器的通用接口 : 更多... | |
| 结构体 | GpuData |
| 类 | GpuMat |
| 具有引用计数的 GPU 内存基础存储类。 更多... | |
| 类 | GpuMatND |
| 类 | HOG |
| 该类实现了方向梯度直方图 ([66]) 目标检测器。 更多... | |
| 类 | HostMem |
| 封装了来自 CUDA 的特殊内存类型分配函数的引用计数类。 更多... | |
| 类 | HoughCirclesDetector |
| 圆检测算法的基类。 : 更多... | |
| 类 | HoughLinesDetector |
| 直线检测算法的基类。 : 更多... | |
| 类 | HoughSegmentDetector |
| 线段检测算法的基类。 : 更多... | |
| 类 | ImagePyramid |
| 类 | LookUpTable |
| 使用查找表进行变换的基类。 更多... | |
| 类 | NvidiaHWOpticalFlow |
| 使用 NVIDIA 光流 SDK 的光流算法基础接口。 更多... | |
| 类 | NvidiaOpticalFlow_1_0 |
| 使用 NVIDIA 光流硬件和光流 SDK 1.0 计算两个图像之间光流向量的类。 更多... | |
| 类 | NvidiaOpticalFlow_2_0 |
| 使用 NVIDIA 光流硬件和光流 SDK 2.0 计算两个图像之间光流向量的类。 更多... | |
| 类 | OpticalFlowDual_TVL1 |
| Zach、Pock 和 Bischof 双对偶 TV-L1 光流方法的实现。 更多... | |
| 类 | ORB |
| 实现 ORB (oriented BRIEF) 关键点检测器和描述符提取器的类。 更多... | |
| 类 | SparseOpticalFlow |
| 稀疏光流算法的基础接口。 更多... | |
| 类 | SparsePyrLKOpticalFlow |
| 用于计算稀疏光流的类。 更多... | |
| 类 | StereoBeliefPropagation |
| 使用信念传播算法计算立体匹配的类。 : 更多... | |
| 类 | StereoBM |
| 使用块匹配算法计算立体匹配(视差图)的类。 : 更多... | |
| 类 | StereoConstantSpaceBP |
| 使用常量空间信念传播算法计算立体匹配的类。 : 更多... | |
| 类 | StereoSGM |
| 该类实现了改进的 H. Hirschmuller 算法 [129]。限制和区别如下: 更多... | |
| 类 | 流 (Stream) |
| 该类封装了一个异步调用队列。 更多... | |
| 结构体 | StreamAccessor |
| 能够从 cuda::Stream 获取 cudaStream_t 的类。 更多... | |
| 类 | SURF_CUDA |
| 用于从图像中提取加速稳健特征 (SURF) 的类。 : 更多... | |
| 类 | TargetArchs |
| 提供一组静态方法来检查 CUDA 模块是为哪种 NVIDIA* 显卡架构构建的类。 更多... | |
| 类 | TemplateMatching |
| 模板匹配的基类。 : 更多... | |
函数 | |
| void | abs (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算每个矩阵元素的绝对值。 | |
| void | absdiff (InputArray src1, InputArray src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算两个矩阵(或矩阵与标量)的逐元素绝对差值。 | |
| void | absdiffWithScalar (InputArray src1, Scalar src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算矩阵与标量的逐元素绝对差值。 | |
| Scalar | absSum (InputArray src, InputArray mask=noArray()) |
| 返回矩阵元素绝对值的和。 | |
| void | add (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-矩阵或矩阵-标量的和。 | |
| void | addWeighted (InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1, Stream &stream=Stream::Null()) |
| 计算两个数组的加权和。 | |
| void | addWithScalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-标量的和。 | |
| void | alphaComp (InputArray img1, InputArray img2, OutputArray dst, int alpha_op, Stream &stream=Stream::Null()) |
| 使用每张图像中包含的 alpha 不透明度值合成两张图像。 | |
| void | bilateralFilter (InputArray src, OutputArray dst, int kernel_size, float sigma_color, float sigma_spatial, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null()) |
| 对传递的图像执行双边滤波。 | |
| void | bitwise_and (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行两个矩阵(或矩阵与标量)的逐元素按位与运算。 | |
| void | bitwise_and_with_scalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行矩阵与标量的逐元素按位与运算。 | |
| void | bitwise_not (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行逐元素按位取反运算。 | |
| void | bitwise_or (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行两个矩阵(或矩阵与标量)的逐元素按位或运算。 | |
| void | bitwise_or_with_scalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行矩阵与标量的逐元素按位或运算。 | |
| void | bitwise_xor (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行两个矩阵(或矩阵与标量)的逐元素按位异或运算。 | |
| void | bitwise_xor_with_scalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 执行矩阵与标量的逐元素按位异或运算。 | |
| void | blendLinear (InputArray img1, InputArray img2, InputArray weights1, InputArray weights2, OutputArray result, Stream &stream=Stream::Null()) |
| 对两张图像执行线性混合。 | |
| void | buildWarpAffineMaps (InputArray M, bool inverse, Size dsize, OutputArray xmap, OutputArray ymap, Stream &stream=Stream::Null()) |
| 构建仿射变换的变换映射。 | |
| void | buildWarpAffineMaps (Mat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null()) |
| void | buildWarpAffineMaps (UMat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null()) |
| void | buildWarpPerspectiveMaps (InputArray M, bool inverse, Size dsize, OutputArray xmap, OutputArray ymap, Stream &stream=Stream::Null()) |
| 构建透视变换的变换映射。 | |
| void | buildWarpPerspectiveMaps (Mat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null()) |
| void | buildWarpPerspectiveMaps (UMat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null()) |
| void | calcAbsSum (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| void | calcHist (InputArray src, InputArray mask, OutputArray hist, Stream &stream=Stream::Null()) |
| 计算由给定掩码限制的单通道 8 位图像的直方图。 | |
| void | calcHist (InputArray src, OutputArray hist, Stream &stream=Stream::Null()) |
| 计算单通道 8 位图像的直方图。 | |
| void | calcNorm (InputArray src, OutputArray dst, int normType, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| void | calcNormDiff (InputArray src1, InputArray src2, OutputArray dst, int normType=NORM_L2, Stream &stream=Stream::Null()) |
| void | calcOpticalFlowBM (const GpuMat &prev, const GpuMat &curr, Size block_size, Size shift_size, Size max_range, bool use_previous, GpuMat &velx, GpuMat &vely, GpuMat &buf, Stream &stream=Stream::Null()) |
| 使用块匹配算法计算两张图像的光流。 | |
| void | calcSqrSum (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| void | calcSum (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| void | cartToPolar (InputArray x, InputArray y, OutputArray magnitude, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 将笛卡尔坐标转换为极坐标。 | |
| void | cartToPolar (InputArray xy, OutputArray magnitude, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 将笛卡尔坐标转换为极坐标。 | |
| void | cartToPolar (InputArray xy, OutputArray magnitudeAngle, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 将笛卡尔坐标转换为极坐标。 | |
| void | compare (InputArray src1, InputArray src2, OutputArray dst, int cmpop, Stream &stream=Stream::Null()) |
| 比较两个矩阵(或矩阵与标量)的元素。 | |
| void | compareWithScalar (InputArray src1, Scalar src2, OutputArray dst, int cmpop, Stream &stream=Stream::Null()) |
| 比较矩阵与标量的元素。 | |
| void | connectedComponents (InputArray image, OutputArray labels, int connectivity, int ltype, cv::cuda::ConnectedComponentsAlgorithmsTypes ccltype) |
| 计算二值图像的连通分量标记图像。 | |
| void | connectedComponents (InputArray image, OutputArray labels, int connectivity=8, int ltype=CV_32S) |
| void | connectivityMask (const GpuMat &image, GpuMat &mask, const cv::Scalar &lo, const cv::Scalar &hi, Stream &stream=Stream::Null()) |
| 为广义漫水填充算法计算连通分量掩码。 | |
| void | convertFp16 (InputArray _src, OutputArray _dst, Stream &stream=Stream::Null()) |
| 将数组转换为半精度浮点数。 | |
| Moments | convertSpatialMoments (Mat spatialMoments, const MomentsOrder order, const int momentsType) |
| 将从 cuda::spatialMoments 返回的空间图像矩转换为 cv::Moments。 | |
| void | copyMakeBorder (InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, Scalar value=Scalar(), Stream &stream=Stream::Null()) |
| 在图像周围形成边框。 | |
| int | countNonZero (InputArray src) |
| 统计矩阵中非零元素的个数。 | |
| void | countNonZero (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| Ptr< cuda::BackgroundSubtractorFGD > | createBackgroundSubtractorFGD (const FGDParams ¶ms=FGDParams()) |
| 创建 FGD 背景减除器。 | |
| Ptr< cuda::BackgroundSubtractorGMG > | createBackgroundSubtractorGMG (int initializationFrames=120, double decisionThreshold=0.8) |
| 创建 GMG 背景减除器。 | |
| Ptr< cuda::BackgroundSubtractorMOG > | createBackgroundSubtractorMOG (int history=200, int nmixtures=5, double backgroundRatio=0.7, double noiseSigma=0) |
| 创建高斯混合背景减除器。 | |
| Ptr< cuda::BackgroundSubtractorMOG2 > | createBackgroundSubtractorMOG2 (int history=500, double varThreshold=16, bool detectShadows=true) |
| 创建 MOG2 背景减除器。 | |
| Ptr< Filter > | createBoxFilter (int srcType, int dstType, Size ksize, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建一个归一化的 2D 盒式滤波器。 | |
| Ptr< Filter > | createBoxMaxFilter (int srcType, Size ksize, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建最大值滤波器。 | |
| Ptr< Filter > | createBoxMinFilter (int srcType, Size ksize, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建最小值滤波器。 | |
| Ptr< CannyEdgeDetector > | createCannyEdgeDetector (double low_thresh, double high_thresh, int apperture_size=3, bool L2gradient=false) |
| 创建 cuda::CannyEdgeDetector 的实现。 | |
| Ptr< cuda::CLAHE > | createCLAHE (double clipLimit=40.0, Size tileGridSize=Size(8, 8)) |
| 创建 cuda::CLAHE 的实现。 | |
| Ptr< Filter > | createColumnSumFilter (int srcType, int dstType, int ksize, int anchor=-1, int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建一个垂直 1D 盒式滤波器。 | |
| void | createContinuous (int rows, int cols, int type, OutputArray arr) |
| 创建一个连续矩阵。 | |
| Ptr< Convolution > | createConvolution (Size user_block_size=Size()) |
| 创建 cuda::Convolution 的实现。 | |
| Ptr< Filter > | createDerivFilter (int srcType, int dstType, int dx, int dy, int ksize, bool normalize=false, double scale=1, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1) |
| 创建一个通用的导数 (Deriv) 算子。 | |
| Ptr< DFT > | createDFT (Size dft_size, int flags) |
| 创建 cuda::DFT 的实现。 | |
| Ptr< cuda::DisparityBilateralFilter > | createDisparityBilateralFilter (int ndisp=64, int radius=3, int iters=1) |
| 创建 DisparityBilateralFilter 对象。 | |
| Ptr< Filter > | createGaussianFilter (int srcType, int dstType, Size ksize, double sigma1, double sigma2=0, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1) |
| 创建一个高斯滤波器。 | |
| Ptr< GeneralizedHoughBallard > | createGeneralizedHoughBallard () |
| 创建来自 [17] 的广义霍夫变换实现。 | |
| Ptr< GeneralizedHoughGuil > | createGeneralizedHoughGuil () |
| 创建来自 [117] 的广义霍夫变换实现。 | |
| Ptr< CornersDetector > | createGoodFeaturesToTrackDetector (int srcType, int maxCorners=1000, double qualityLevel=0.01, double minDistance=0.0, int blockSize=3, bool useHarrisDetector=false, double harrisK=0.04) |
| 创建 cuda::CornersDetector 的实现。 | |
| GpuMat | createGpuMatFromCudaMemory (int rows, int cols, int type, size_t cudaMemoryAddress, size_t step=Mat::AUTO_STEP) |
| 从现有 GPU 内存创建 GpuMat 的绑定重载。 | |
| GpuMat | createGpuMatFromCudaMemory (Size size, int type, size_t cudaMemoryAddress, size_t step=Mat::AUTO_STEP) |
| Ptr< CornernessCriteria > | createHarrisCorner (int srcType, int blockSize, int ksize, double k, int borderType=BORDER_REFLECT101) |
| 创建 Harris 角点特性准则的实现。 | |
| Ptr< HoughCirclesDetector > | createHoughCirclesDetector (float dp, float minDist, int cannyThreshold, int votesThreshold, int minRadius, int maxRadius, int maxCircles=4096) |
| 创建 cuda::HoughCirclesDetector 的实现。 | |
| Ptr< HoughLinesDetector > | createHoughLinesDetector (float rho, float theta, int threshold, bool doSort=false, int maxLines=4096) |
| 创建 cuda::HoughLinesDetector 的实现。 | |
| Ptr< HoughSegmentDetector > | createHoughSegmentDetector (float rho, float theta, int minLineLength, int maxLineGap, int maxLines=4096, int threshold=-1) |
| 创建 cuda::HoughSegmentDetector 的实现。 | |
| Ptr< ImagePyramid > | createImagePyramid (InputArray img, int nLayers=-1, Stream &stream=Stream::Null()) |
| Ptr< Filter > | createLaplacianFilter (int srcType, int dstType, int ksize=1, double scale=1, int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建一个拉普拉斯 (Laplacian) 算子。 | |
| Ptr< Filter > | createLinearFilter (int srcType, int dstType, InputArray kernel, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建一个不可分线性 2D 滤波器。 | |
| Ptr< LookUpTable > | createLookUpTable (InputArray lut) |
| 创建 cuda::LookUpTable 的实现。 | |
| Ptr< Filter > | createMedianFilter (int srcType, int windowSize, int partition=128) |
| 对源图像的每个点执行中值滤波。 | |
| Ptr< CornernessCriteria > | createMinEigenValCorner (int srcType, int blockSize, int ksize, int borderType=BORDER_REFLECT101) |
| 创建 2x2 导数协变矩阵最小特征值(角点特性准则)的实现。 | |
| Ptr< Filter > | createMorphologyFilter (int op, int srcType, InputArray kernel, Point anchor=Point(-1, -1), int iterations=1) |
| 创建一个 2D 形态学滤波器。 | |
| void | createOpticalFlowNeedleMap (const GpuMat &u, const GpuMat &v, GpuMat &vertex, GpuMat &colors) |
| Ptr< Filter > | createRowSumFilter (int srcType, int dstType, int ksize, int anchor=-1, int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0)) |
| 创建一个水平 1D 盒式滤波器。 | |
| Ptr< Filter > | createScharrFilter (int srcType, int dstType, int dx, int dy, double scale=1, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1) |
| 创建一个垂直或水平的 Scharr 算子。 | |
| Ptr< Filter > | createSeparableLinearFilter (int srcType, int dstType, InputArray rowKernel, InputArray columnKernel, Point anchor=Point(-1,-1), int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1) |
| 创建一个可分线性滤波器。支持就地处理。 | |
| Ptr< Filter > | createSobelFilter (int srcType, int dstType, int dx, int dy, int ksize=3, double scale=1, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1) |
| 创建一个 Sobel 算子。 | |
| Ptr< cuda::StereoBeliefPropagation > | createStereoBeliefPropagation (int ndisp=64, int iters=5, int levels=5, int msg_type=CV_32F) |
| 创建 StereoBeliefPropagation 对象。 | |
| Ptr< cuda::StereoBM > | createStereoBM (int numDisparities=64, int blockSize=19) |
| 创建 StereoBM 对象。 | |
| Ptr< cuda::StereoConstantSpaceBP > | createStereoConstantSpaceBP (int ndisp=128, int iters=8, int levels=4, int nr_plane=4, int msg_type=CV_32F) |
| 创建 StereoConstantSpaceBP 对象。 | |
| Ptr< cuda::StereoSGM > | createStereoSGM (int minDisparity=0, int numDisparities=128, int P1=10, int P2=120, int uniquenessRatio=5, int mode=cv::cuda::StereoSGM::MODE_HH4) |
| 创建 StereoSGM 对象。 | |
| Ptr< TemplateMatching > | createTemplateMatching (int srcType, int method, Size user_block_size=Size()) |
| 创建 cuda::TemplateMatching 的实现。 | |
| void | cvtColor (InputArray src, OutputArray dst, int code, int dcn=0, Stream &stream=Stream::Null()) |
| 将图像从一种颜色空间转换为另一种。 | |
| void | demosaicing (InputArray src, OutputArray dst, int code, int dcn=-1, Stream &stream=Stream::Null()) |
| 将图像从拜耳 (Bayer) 模式转换为 RGB 或灰度图像。 | |
| bool | deviceSupports (FeatureSet feature_set) |
| 检查当前设备是否支持给定的特性 | |
| void | dft (InputArray src, OutputArray dst, Size dft_size, int flags=0, Stream &stream=Stream::Null()) |
| 对浮点矩阵执行正向或反向离散傅里叶变换(1D 或 2D)。 | |
| void | divide (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-矩阵或矩阵-标量的除法。 | |
| void | divideWithScalar (InputArray src1, Scalar src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-标量的除法。 | |
| void | drawColorDisp (InputArray src_disp, OutputArray dst_disp, int ndisp, Stream &stream=Stream::Null()) |
| 对视差图进行着色。 | |
| void | ensureSizeIsEnough (int rows, int cols, int type, OutputArray arr) |
| 确保矩阵的大小足够大且矩阵具有正确的类型。 | |
| void | equalizeHist (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 对灰度图像进行直方图均衡化。 | |
| void | evenLevels (OutputArray levels, int nLevels, int lowerLevel, int upperLevel, Stream &stream=Stream::Null()) |
| 计算具有均匀分布的能级。 | |
| void | exp (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算每个矩阵元素的指数。 | |
| void | fastNlMeansDenoising (const GpuMat &src, GpuMat &dst, float h, int search_window=21, int block_size=7, Stream &stream=Stream::Null()) |
| void | fastNlMeansDenoising (InputArray src, OutputArray dst, float h, int search_window=21, int block_size=7, Stream &stream=Stream::Null()) |
| 使用非局部均值去噪算法 http://www.ipol.im/pub/algo/bcm_non_local_means_denoising 执行图像去噪,并进行了多项计算优化。预期噪声为高斯白噪声。 | |
| void | fastNlMeansDenoisingColored (const GpuMat &src, GpuMat &dst, float h_luminance, float photo_render, int search_window=21, int block_size=7, Stream &stream=Stream::Null()) |
| void | fastNlMeansDenoisingColored (InputArray src, OutputArray dst, float h_luminance, float photo_render, int search_window=21, int block_size=7, Stream &stream=Stream::Null()) |
| 针对彩色图像修改的 fastNlMeansDenoising 函数。 | |
| void | findMinMax (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| void | findMinMaxLoc (InputArray src, OutputArray minMaxVals, OutputArray loc, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| void | flip (InputArray src, OutputArray dst, int flipCode, Stream &stream=Stream::Null()) |
| 围绕垂直、水平或两个轴翻转 2D 矩阵。 | |
| void | gammaCorrection (InputArray src, OutputArray dst, bool forward=true, Stream &stream=Stream::Null()) |
| 用于校正图像颜色伽马 (gamma) 的例程。 | |
| void | gemm (InputArray src1, InputArray src2, double alpha, InputArray src3, double beta, OutputArray dst, int flags=0, Stream &stream=Stream::Null()) |
| 执行广义矩阵乘法。 | |
| int | getCudaEnabledDeviceCount () |
| 返回已安装的启用 CUDA 的设备的数量。 | |
| int | getDevice () |
| 返回由 cuda::setDevice 设置或默认初始化的当前设备索引。 | |
| void | graphcut (GpuMat &terminals, GpuMat &leftTransp, GpuMat &rightTransp, GpuMat &top, GpuMat &bottom, GpuMat &labels, GpuMat &buf, Stream &stream=Stream::Null()) |
| 通过 2D 常规 4 连通图的图割(graph cuts)执行标记。 | |
| void | graphcut (GpuMat &terminals, GpuMat &leftTransp, GpuMat &rightTransp, GpuMat &top, GpuMat &topLeft, GpuMat &topRight, GpuMat &bottom, GpuMat &bottomLeft, GpuMat &bottomRight, GpuMat &labels, GpuMat &buf, Stream &stream=Stream::Null()) |
| 通过 2D 常规 8 连通图的图割执行标记。 | |
| void | histEven (InputArray src, GpuMat hist[4], int histSize[4], int lowerLevel[4], int upperLevel[4], Stream &stream=Stream::Null()) |
| void | histEven (InputArray src, OutputArray hist, int histSize, int lowerLevel, int upperLevel, Stream &stream=Stream::Null()) |
| 计算具有均匀分布直方图柱(bins)的直方图。 | |
| void | histRange (InputArray src, GpuMat hist[4], const GpuMat levels[4], Stream &stream=Stream::Null()) |
| void | histRange (InputArray src, OutputArray hist, InputArray levels, Stream &stream=Stream::Null()) |
| 计算直方图,其柱由 levels 数组决定。 | |
| void | inRange (InputArray src, const Scalar &lowerb, const Scalar &upperb, OutputArray dst, Stream &stream=Stream::Null()) |
| 检查数组元素是否位于两个标量之间。 | |
| void | integral (InputArray src, OutputArray sum, Stream &stream=Stream::Null()) |
| 计算积分图像。 | |
| void | interpolateFrames (const GpuMat &frame0, const GpuMat &frame1, const GpuMat &fu, const GpuMat &fv, const GpuMat &bu, const GpuMat &bv, float pos, GpuMat &newFrame, GpuMat &buf, Stream &stream=Stream::Null()) |
| 使用提供的光流(位移场)插值帧(图像)。 | |
| void | labelComponents (const GpuMat &mask, GpuMat &components, int flags=0, Stream &stream=Stream::Null()) |
| 执行连通分量标记。 | |
| void | log (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算每个矩阵元素绝对值的自然对数。 | |
| void | lshift (InputArray src, Scalar val, OutputArray dst, Stream &stream=Stream::Null()) |
| void | lshift (InputArray src, Scalar_< int > val, OutputArray dst, Stream &stream=Stream::Null()) |
| 通过常量值逐像素对图像进行左移运算。 | |
| void | magnitude (InputArray x, InputArray y, OutputArray magnitude, Stream &stream=Stream::Null()) |
| void | magnitude (InputArray xy, OutputArray magnitude, Stream &stream=Stream::Null()) |
| 计算复矩阵元素的幅值。 | |
| void | magnitudeSqr (InputArray x, InputArray y, OutputArray magnitude, Stream &stream=Stream::Null()) |
| void | magnitudeSqr (InputArray xy, OutputArray magnitude, Stream &stream=Stream::Null()) |
| 计算复矩阵元素的平方幅值。 | |
| void | max (InputArray src1, InputArray src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算两个矩阵(或矩阵与标量)的逐元素最大值。 | |
| void | maxWithScalar (InputArray src1, Scalar src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算矩阵与标量的逐元素最大值。 | |
| void | meanShiftFiltering (InputArray src, OutputArray dst, int sp, int sr, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null()) |
| 为源图像的每个点执行均值漂移(mean-shift)滤波。 | |
| void | meanShiftProc (InputArray src, OutputArray dstr, OutputArray dstsp, int sp, int sr, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null()) |
| 执行均值漂移过程,并在两个图像中存储有关处理点的信息(其颜色和位置)。 | |
| void | meanShiftSegmentation (InputArray src, OutputArray dst, int sp, int sr, int minsize, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null()) |
| 执行源图像的均值漂移分割并消除小分段。 | |
| void | meanStdDev (InputArray mtx, OutputArray dst, Stream &stream=Stream::Null()) |
| void | meanStdDev (InputArray mtx, Scalar &mean, Scalar &stddev) |
| void | meanStdDev (InputArray src, OutputArray dst, InputArray mask, Stream &stream=Stream::Null()) |
| 计算矩阵元素的平均值和标准差。 | |
| void | meanStdDev (InputArray src, Scalar &mean, Scalar &stddev, InputArray mask) |
| void | merge (const GpuMat *src, size_t n, OutputArray dst, Stream &stream=Stream::Null()) |
| 由几个单通道矩阵组成一个多通道矩阵。 | |
| void | merge (const std::vector< GpuMat > &src, OutputArray dst, Stream &stream=Stream::Null()) |
| void | min (InputArray src1, InputArray src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算两个矩阵(或矩阵与标量)的逐元素最小值。 | |
| void | minMax (InputArray src, double *minVal, double *maxVal, InputArray mask=noArray()) |
| 查找全局最小和最大矩阵元素并返回其值。 | |
| void | minMaxLoc (InputArray src, double *minVal, double *maxVal, Point *minLoc, Point *maxLoc, InputArray mask=noArray()) |
| 查找全局最小和最大矩阵元素,并返回其值及其位置。 | |
| void | minWithScalar (InputArray src1, Scalar src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算矩阵与标量的逐元素最小值。 | |
| Moments | moments (InputArray src, const bool binaryImage=false, const MomentsOrder order=MomentsOrder::THIRD_ORDER_MOMENTS, const int momentsType=CV_64F) |
| 计算光栅化形状的所有三阶以内矩。 | |
| void | mulAndScaleSpectrums (InputArray src1, InputArray src2, OutputArray dst, int flags, float scale, bool conjB=false, Stream &stream=Stream::Null()) |
| 执行两个傅里叶光谱的逐元素乘法并缩放结果。 | |
| void | mulSpectrums (InputArray src1, InputArray src2, OutputArray dst, int flags, bool conjB=false, Stream &stream=Stream::Null()) |
| 执行两个傅里叶光谱的逐元素乘法。 | |
| void | multiply (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-矩阵或矩阵-标量的逐元素乘积。 | |
| void | multiplyWithScalar (InputArray src1, Scalar src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-标量的逐元素乘积。 | |
| void | nonLocalMeans (const GpuMat &src, GpuMat &dst, float h, int search_window=21, int block_size=7, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null()) |
| void | nonLocalMeans (InputArray src, OutputArray dst, float h, int search_window=21, int block_size=7, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null()) |
| 执行纯非局部均值去噪,没有任何简化,因此速度不快。 | |
| double | norm (InputArray src1, InputArray src2, int normType=NORM_L2) |
| 返回两个矩阵的差异。 | |
| double | norm (InputArray src1, int normType, InputArray mask=noArray()) |
| 返回矩阵的范数(或两个矩阵的差)。 | |
| void | normalize (InputArray src, OutputArray dst, double alpha, double beta, int norm_type, int dtype, InputArray mask=noArray(), Stream &stream=Stream::Null()) |
| 归一化数组的范数或数值范围。 | |
| int | numMoments (const MomentsOrder order) |
| 返回小于或等于最大图像矩阶数 order 的图像矩数量。 | |
| void | phase (InputArray x, InputArray y, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 计算复矩阵元素的极角(相位)。 | |
| void | phase (InputArray xy, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 计算复矩阵元素的极角(相位)。 | |
| void | polarToCart (InputArray magnitude, InputArray angle, OutputArray x, OutputArray y, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 将极坐标转换为笛卡尔坐标。 | |
| void | polarToCart (InputArray magnitude, InputArray angle, OutputArray xy, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 将极坐标转换为笛卡尔坐标。 | |
| void | polarToCart (InputArray magnitudeAngle, OutputArray xy, bool angleInDegrees=false, Stream &stream=Stream::Null()) |
| 将极坐标转换为笛卡尔坐标。 | |
| void | pow (InputArray src, double power, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算每个矩阵元素的幂。 | |
| void | printCudaDeviceInfo (int device) |
| void | printShortCudaDeviceInfo (int device) |
| void | projectPoints (const GpuMat &src, const Mat &rvec, const Mat &tvec, const Mat &camera_mat, const Mat &dist_coef, GpuMat &dst, Stream &stream=Stream::Null()) |
| void | pyrDown (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 平滑图像并对其进行下采样。 | |
| void | pyrUp (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 对图像进行上采样,然后对其进行平滑处理。 | |
| void | rectStdDev (InputArray src, InputArray sqr, OutputArray dst, Rect rect, Stream &stream=Stream::Null()) |
| 计算积分图像的标准差。 | |
| void | reduce (InputArray mtx, OutputArray vec, int dim, int reduceOp, int dtype=-1, Stream &stream=Stream::Null()) |
| 将矩阵降维为向量。 | |
| void | registerPageLocked (Mat &m) |
| 锁住矩阵的内存页并将其映射到设备。 | |
| void | remap (InputArray src, OutputArray dst, InputArray xmap, InputArray ymap, int interpolation, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| 对图像应用通用的几何变换。 | |
| void | reprojectImageTo3D (GpuMat disp, GpuMat &xyzw, Mat Q, int dst_cn=4, Stream &stream=Stream::Null()) |
| void | reprojectImageTo3D (InputArray disp, OutputArray xyzw, InputArray Q, int dst_cn=4, Stream &stream=Stream::Null()) |
| 将视差图像重新投影到 3D 空间。 | |
| void | resetDevice () |
| 显式销毁并清理当前进程中与当前设备关联的所有资源。 | |
| void | resize (InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR, Stream &stream=Stream::Null()) |
| 调整图像大小。 | |
| void | rotate (InputArray src, OutputArray dst, Size dsize, double angle, double xShift=0, double yShift=0, int interpolation=INTER_LINEAR, Stream &stream=Stream::Null()) |
| 图像绕原点 (0,0) 旋转,然后进行平移。 | |
| void | rshift (InputArray src, Scalar val, OutputArray dst, Stream &stream=Stream::Null()) |
| void | rshift (InputArray src, Scalar_< int > val, OutputArray dst, Stream &stream=Stream::Null()) |
| 通过常量值逐像素对图像进行右移运算。 | |
| static void | scaleAdd (InputArray src1, double alpha, InputArray src2, OutputArray dst, Stream &stream=Stream::Null()) |
| 将缩放后的数组加到另一个数组上 (dst = alpha*src1 + src2) | |
| void | setBufferPoolConfig (int deviceId, size_t stackSize, int stackCount) |
| void | setBufferPoolUsage (bool on) |
| BufferPool 管理(必须在 Stream 创建之前调用) | |
| void | setDevice (int device) |
| 设置一个设备并为当前线程对其进行初始化。 | |
| void | setGlDevice (int device=0) |
| 设置 CUDA 设备并为具有 OpenGL 互操作性的当前线程对其进行初始化。 | |
| void | solvePnPRansac (const Mat &object, const Mat &image, const Mat &camera_mat, const Mat &dist_coef, Mat &rvec, Mat &tvec, bool use_extrinsic_guess=false, int num_iters=100, float max_dist=8.0, int min_inlier_count=100, std::vector< int > *inliers=NULL) |
| 从 3D-2D 点对应关系中查找物体姿态。 | |
| void | spatialMoments (InputArray src, OutputArray moments, const bool binaryImage=false, const MomentsOrder order=MomentsOrder::THIRD_ORDER_MOMENTS, const int momentsType=CV_64F, Stream &stream=Stream::Null()) |
| 计算光栅化形状的所有三阶以内空间矩。 | |
| void | split (InputArray src, GpuMat *dst, Stream &stream=Stream::Null()) |
| 将多通道矩阵的每个平面复制到一个数组中。 | |
| void | split (InputArray src, std::vector< GpuMat > &dst, Stream &stream=Stream::Null()) |
| void | sqr (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算每个矩阵元素的平方值。 | |
| void | sqrIntegral (InputArray src, OutputArray sqsum, Stream &stream=Stream::Null()) |
| 计算平方积分图像。 | |
| Scalar | sqrSum (InputArray src, InputArray mask=noArray()) |
| 返回矩阵元素的平方和。 | |
| void | sqrt (InputArray src, OutputArray dst, Stream &stream=Stream::Null()) |
| 计算每个矩阵元素的平方根。 | |
| void | subtract (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-矩阵或矩阵-标量的差值。 | |
| void | subtractWithScalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null()) |
| 计算矩阵-标量的差值。 | |
| Scalar | sum (InputArray src, InputArray mask=noArray()) |
| 返回矩阵元素的和。 | |
| void | swapChannels (InputOutputArray image, const int dstOrder[4], Stream &stream=Stream::Null()) |
| 就地(in-place)交换图像的颜色通道。 | |
| double | threshold (InputArray src, OutputArray dst, double thresh, double maxval, int type, Stream &stream=Stream::Null()) |
| 对数组的每个元素应用固定阈值操作。 | |
| void | transformPoints (const GpuMat &src, const Mat &rvec, const Mat &tvec, GpuMat &dst, Stream &stream=Stream::Null()) |
| void | transpose (InputArray src1, OutputArray dst, Stream &stream=Stream::Null()) |
| 矩阵转置。 | |
| void | unregisterPageLocked (Mat &m) |
| 取消矩阵内存映射并使其再次可分页。 | |
| void | warpAffine (InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| 对图像应用仿射变换。 | |
| void | warpAffine (InputArray src, OutputArray dst, Mat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| void | warpAffine (InputArray src, OutputArray dst, UMat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| void | warpPerspective (InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| 对图像应用透视变换。 | |
| void | warpPerspective (InputArray src, OutputArray dst, Mat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| void | warpPerspective (InputArray src, OutputArray dst, UMat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null()) |
| 流 (Stream) | wrapStream (size_t cudaStreamMemoryAddress) |
| 绑定重载以从现有 CUDA 运行时 API 流指针 (cudaStream_t) 中存储的地址创建 Stream 对象。 | |
对源图像的每个点执行中值滤波。
| srcType | 源图像的类型。如果 CUDA_VERSION < 11,仅支持 CV_8UC1。如果 CUDA_VERSION >= 11,支持 CV_8UC1、CV_8UC3、CV_8UC4、CV_16UC1、CV_16UC3、CV_16UC4、CV_32FC1、CV_32FC3 或 CV_32FC4。 |
| windowSize | 用于滤波的内核大小。使用 (windowSize x windowSize) 滤波器。 |
| partition | 指定工作负载的并行粒度。仅在 CUDA_VERSION < 11 时使用。 |
输出使用中值滤波公式过滤后的图像。
如果使用 CUDA 11 或更高版本编译,则使用基于小波的算法,详情请参阅:https://cgenglab.github.io/en/publication/sigga22_wmatrix_median/ Yuji Moroto, Nobuyuki Umetani, 2022, "Constant Time Median Filter Using 2D Wavelet Matrix", ACM Transactions on Graphics, Volume 41, Issue 6。
对于早期版本的 CUDA,有关所用算法的详细信息,请参阅:Green, O., 2017. "Efficient scalable median filtering using histogram-based operations", IEEE Transactions on Image Processing, 27(5), pp.2217-2228。