![]() |
OpenCV 4.12.0
开源计算机视觉
|
类 | |
| 类 | BackgroundSubtractorFGD |
| 该类通过建立和维护背景模型来区分前景和背景像素。更多... | |
| 类 | BackgroundSubtractorGMG |
| 背景/前景分割算法。更多... | |
| 类 | BackgroundSubtractorMOG |
| 基于高斯混合的背景/前景分割算法。更多... | |
| 类 | BackgroundSubtractorMOG2 |
| 基于高斯混合的背景/前景分割算法。更多... | |
| 类 | BroxOpticalFlow |
| 使用 Brox 等人的光流算法 ([43]) 计算两幅图像之间光流的类。更多... | |
| 类 | BufferPool |
| 用于 CUDA 流的缓冲区池。更多... | |
| 类 | CannyEdgeDetector |
| Canny 边缘检测器的基类。: 更多... | |
| 类 | CascadeClassifier |
| 用于对象检测的级联分类器类。支持 HAAR 和 LBP 级联。: 更多... | |
| 类 | CLAHE |
| 对比度受限自适应直方图均衡化的基类。: 更多... | |
| 类 | 卷积 |
| 卷积(或互相关)运算符的基类。: 更多... | |
| 类 | 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 |
| 该类实现了方向梯度直方图 ([65]) 对象检测器。更多... | |
| 类 | HostMem |
| 带有引用计数,封装了 CUDA 中特殊内存类型分配函数的类。更多... | |
| 类 | HoughCirclesDetector |
| 圆检测算法的基类。: 更多... | |
| 类 | HoughLinesDetector |
| 线检测算法的基类。: 更多... | |
| 类 | HoughSegmentDetector |
| 线段检测算法的基类。: 更多... | |
| 类 | ImagePyramid |
| 类 | 查找表 |
| 使用查找表的变换的基类。更多... | |
| 类 | NvidiaHWOpticalFlow |
| 使用 NVIDIA Optical Flow SDK 的光流算法的基本接口。更多... | |
| 类 | NvidiaOpticalFlow_1_0 |
| 使用 NVIDIA 光流硬件和 Optical Flow SDK 1.0 计算两幅图像之间光流向量的类。更多... | |
| 类 | NvidiaOpticalFlow_2_0 |
| 使用 NVIDIA 光流硬件和 Optical Flow SDK 2.0 计算两幅图像之间光流向量的类。更多... | |
| 类 | OpticalFlowDual_TVL1 |
| Zach、Pock 和 Bischof Dual TV-L1 光流方法的实现。更多... | |
| 类 | ORB |
| 实现了 ORB (oriented BRIEF) 关键点检测器和描述符提取器的类。更多... | |
| 类 | SparseOpticalFlow |
| 稀疏光流算法的基本接口。更多... | |
| 类 | SparsePyrLKOpticalFlow |
| 用于计算稀疏光流的类。更多... | |
| 类 | StereoBeliefPropagation |
| 使用信念传播算法计算立体对应的类。: 更多... | |
| 类 | StereoBM |
| 使用块匹配算法计算立体对应(视差图)的类。: 更多... | |
| 类 | StereoConstantSpaceBP |
| 使用恒定空间信念传播算法计算立体对应的类。: 更多... | |
| 类 | StereoSGM |
| 该类实现了修改后的 H. Hirschmuller 算法 [128]。限制和差异如下:更多... | |
| 类 | 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()) |
| Converts an array to half precision floating number. | |
| 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()) |
| Forms a border around an image. | |
| 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)) |
| 创建一个归一化的二维盒式滤波器。 | |
| 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)) |
| 创建垂直一维盒式滤波器。 | |
| 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 () |
| 创建 [16] 中广义霍夫变换的实现。 | |
| Ptr< GeneralizedHoughGuil > | createGeneralizedHoughGuil () |
| 创建 [116] 中广义霍夫变换的实现。 | |
| 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)) |
| 创建不可分离的线性二维滤波器。 | |
| 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) |
| 创建二维形态学滤波器。 | |
| 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)) |
| 创建水平一维盒式滤波器。 | |
| 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()) |
| 围绕垂直、水平或两个轴翻转二维矩阵。 | |
| void | gammaCorrection (InputArray src, OutputArray dst, bool forward=true, Stream &stream=Stream::Null()) |
| 用于校正图像色彩伽马的例程。 | |
| 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 | 获取设备 () |
| 返回由 cuda::setDevice 设置或默认初始化的当前设备索引。 | |
| void | graphcut (GpuMat &terminals, GpuMat &leftTransp, GpuMat &rightTransp, GpuMat &top, GpuMat &bottom, GpuMat &labels, GpuMat &buf, Stream &stream=Stream::Null()) |
| 通过图割算法对 2D 正则 4 连通图进行标记。 | |
| 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()) |
| 计算具有均匀分布直方图的等级。 | |
| 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()) |
| 对源图像的每个点执行均值漂移滤波。 | |
| 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 | 重置设备 () |
| 明确销毁并清理当前进程中与当前设备关联的所有资源。 | |
| 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()) |
| 原位交换图像的颜色通道。 | |
| 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 | 源图像类型。目前仅支持 CV_8UC1 图像。 |
| windowSize | 用于滤波的核大小。使用 (windowSize x windowSize) 滤波器。 |
| partition | 指定工作负载的并行粒度。此参数应由 GPU 专家在优化性能时使用。 |
输出已使用中值滤波公式进行滤波的图像。
该算法的详细信息可在以下文献中找到:Green, O., 2017. "Efficient scalable median filtering using histogram-based operations", IEEE Transactions on Image Processing, 27(5), pp.2217-2228。