![]() |
OpenCV 4.12.0
开源计算机视觉
|
#include "opencv2/core/cvdef.h"#include "opencv2/core/base.hpp"#include "opencv2/core/cvstd.hpp"#include "opencv2/core/traits.hpp"#include "opencv2/core/matx.hpp"#include "opencv2/core/types.hpp"#include "opencv2/core/mat.hpp"#include "opencv2/core/persistence.hpp"#include "opencv2/core/operations.hpp"#include "opencv2/core/cvstd.inl.hpp"#include "opencv2/core/utility.hpp"#include "opencv2/core/optim.hpp"#include "opencv2/core/ovx.hpp"类 | |
| 类 | cv::Algorithm |
| 这是 OpenCV 中所有或多或少复杂算法的基类。 更多... | |
| 类 | cv::Exception |
| 传递给错误的类。 更多... | |
| 类 | cv::Formatted |
| 类 | cv::Formatter |
| 类 | cv::LDA |
| 线性判别分析。 更多... | |
| 结构体 | cv::ParamType< _Tp, typename std::enable_if< std::is_enum< _Tp >::value >::type > |
| 结构体 | cv::ParamType< _Tp, typename std::enable_if< std::is_enum< _Tp >::value >::type > |
| 结构体 | cv::ParamType< bool > |
| 结构体 | cv::ParamType< double > |
| 结构体 | cv::ParamType< float > |
| 结构体 | cv::ParamType< Mat > |
| 结构体 | cv::ParamType< Scalar > |
| 结构体 | cv::ParamType< std::vector< Mat > > |
| 结构体 | cv::ParamType< String > |
| 结构体 | cv::ParamType< uchar > |
| 结构体 | cv::ParamType< uint64 > |
| 结构体 | cv::ParamType< unsigned > |
| 结构体 | cv::Point3_< _Tp > |
| 类 | cv::PCA |
| 主成分分析。 更多... | |
| 类 | cv::RNG |
| 随机数生成器。 更多... | |
| 类 | cv::RNG_MT19937 |
| Mersenne Twister 随机数生成器。 更多... | |
| 类 | cv::SVD |
| 奇异值分解。 更多... | |
命名空间 | |
| 命名空间 | cv |
枚举 | |
| 枚举 | cv::CovarFlags { cv::COVAR_SCRAMBLED = 0 , cv::COVAR_NORMAL = 1 , cv::COVAR_USE_AVG = 2 , cv::COVAR_SCALE = 4 , cv::COVAR_ROWS = 8 , cv::COVAR_COLS = 16 } |
| 协方差标志。 更多... | |
| 枚举 | cv::KmeansFlags { cv::KMEANS_RANDOM_CENTERS = 0 , cv::KMEANS_PP_CENTERS = 2 , cv::KMEANS_USE_INITIAL_LABELS = 1 } |
| k-means 标志 更多... | |
| cv::Param | cv::Param::INT { cv::Param::BOOLEAN =0 , cv::Param::REAL =1 , cv::Param::STRING =2 , cv::Param::MAT =3 , cv::Param::MAT_VECTOR =4 , cv::Param::ALGORITHM =5 , cv::Param::FLOAT =6 , cv::Param::UNSIGNED_INT =7 , cv::Param::UINT64 =8 , cv::Param::UCHAR =9 , cv::Param::SCALAR =11 , cv::UMatUsageFlags =12 } |
| 枚举 | cv::ReduceTypes { cv::REDUCE_SUM = 0 , cv::REDUCE_AVG = 1 , cv::REDUCE_MAX = 2 , cv::REDUCE_MIN = 3 , cv::REDUCE_SUM2 = 4 } |
| 枚举 | cv::RotateFlags { cv::ROTATE_90_CLOCKWISE = 0 , cv::ROTATE_180 = 1 , cv::ROTATE_90_COUNTERCLOCKWISE = 2 } |
| 枚举 | cv::SortFlags { cv::SORT_EVERY_ROW = 0 , cv::SORT_EVERY_COLUMN = 1 , cv::SORT_ASCENDING = 0 , cv::SORT_DESCENDING = 16 } |
函数 | |
| void | cv::absdiff (InputArray src1, InputArray src2, OutputArray dst) |
| 计算两个数组或一个数组与一个标量之间的逐元素绝对差。 | |
| void | cv::add (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1) |
| 计算两个数组或一个数组与一个标量之间的逐元素和。 | |
| void | cv::addWeighted (InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1) |
| 计算两个数组的加权和。 | |
| void | cv::batchDistance (InputArray src1, InputArray src2, OutputArray dist, int dtype, OutputArray nidx, int normType=NORM_L2, int K=0, InputArray mask=noArray(), int update=0, bool crosscheck=false) |
| 朴素最近邻查找器 | |
| void | cv::bitwise_and (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray()) |
| 计算两个数组的逐位合取(dst = src1 & src2)。计算两个数组或一个数组与一个标量之间的逐元素位合取。 | |
| void | cv::bitwise_not (InputArray src, OutputArray dst, InputArray mask=noArray()) |
| 反转数组的每个位。 | |
| void | cv::bitwise_or (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray()) |
| 计算两个数组或一个数组与一个标量之间的逐元素位析取。 | |
| void | cv::bitwise_xor (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray()) |
| 对两个数组或一个数组与一个标量执行逐元素位“异或”操作。 | |
| int | cv::borderInterpolate (int p, int len, int borderType) |
| 计算外推像素的源位置。 | |
| void | cv::broadcast (InputArray src, InputArray shape, OutputArray dst) |
| 将给定的 Mat 广播到给定形状。 | |
| void | cv::calcCovarMatrix (const Mat *samples, int nsamples, Mat &covar, Mat &mean, int flags, int ctype=6) |
| 计算一组向量的协方差矩阵。 | |
| void | cv::calcCovarMatrix (InputArray samples, OutputArray covar, InputOutputArray mean, int flags, int ctype=6) |
| void | cv::cartToPolar (InputArray x, InputArray y, OutputArray magnitude, OutputArray angle, bool angleInDegrees=false) |
| Calculates the magnitude and angle of 2D vectors. | |
| bool | cv::checkRange (InputArray a, bool quiet=true, Point *pos=0, double minVal=-DBL_MAX, double maxVal=DBL_MAX) |
| Checks every element of an input array for invalid values. | |
| void | cv::compare (InputArray src1, InputArray src2, OutputArray dst, int cmpop) |
| 执行两个数组或一个数组与标量值的逐元素比较。 | |
| void | cv::completeSymm (InputOutputArray m, bool lowerToUpper=false) |
| 将方阵的下半部分或上半部分复制到另一半。 | |
| void | cv::convertFp16 (InputArray src, OutputArray dst) |
| Converts an array to half precision floating number. | |
| void | cv::convertScaleAbs (InputArray src, OutputArray dst, double alpha=1, double beta=0) |
| 缩放,计算绝对值,并将结果转换为 8 位。 | |
| void | cv::copyMakeBorder (InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar &value=Scalar()) |
| Forms a border around an image. | |
| void | cv::copyTo (InputArray src, OutputArray dst, InputArray mask) |
| 这是一个重载成员函数,为方便起见提供(python)。将矩阵复制到另一个矩阵。当指定操作掩码时,如果上面所示的 Mat::create 调用重新分配矩阵,则在新分配的矩阵在复制数据之前会用零初始化。 | |
| int | cv::countNonZero (InputArray src) |
| Counts non-zero array elements. | |
| void | cv::dct (InputArray src, OutputArray dst, int flags=0) |
| 对一维或二维数组执行正向或逆向离散余弦变换。 | |
| double | cv::determinant (InputArray mtx) |
| 返回方阵的浮点行列式。 | |
| void | cv::dft (InputArray src, OutputArray dst, int flags=0, int nonzeroRows=0) |
| 对一维或二维浮点数组执行正向或逆向离散傅里叶变换。 | |
| void | cv::divide (double scale, InputArray src2, OutputArray dst, int dtype=-1) |
| void | cv::divide (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1) |
| 执行两个数组的逐元素除法或标量除以数组。 | |
| bool | cv::eigen (InputArray src, OutputArray eigenvalues, OutputArray eigenvectors=noArray()) |
| 计算对称矩阵的特征值和特征向量。 | |
| void | cv::eigenNonSymmetric (InputArray src, OutputArray eigenvalues, OutputArray eigenvectors) |
| 计算非对称矩阵的特征值和特征向量(仅限实特征值)。 | |
| void | cv::error (const Exception &exc) |
| 发出错误信号并抛出异常。 | |
| void | cv::exp (InputArray src, OutputArray dst) |
| 计算每个数组元素的指数。 | |
| void | cv::extractChannel (InputArray src, OutputArray dst, int coi) |
| 从 src 中提取单个通道(coi 是基于 0 的索引) | |
| void | cv::findNonZero (InputArray src, OutputArray idx) |
| 返回非零像素的位置列表。 | |
| void | cv::flip (InputArray src, OutputArray dst, int flipCode) |
| 沿垂直、水平或两个轴翻转 2D 数组。 | |
| void | cv::flipND (InputArray src, OutputArray dst, int axis) |
| 沿给定轴翻转 N 维数组。 | |
| void | cv::gemm (InputArray src1, InputArray src2, double alpha, InputArray src3, double beta, OutputArray dst, int flags=0) |
| 执行广义矩阵乘法。 | |
| int | cv::getOptimalDFTSize (int vecsize) |
| 返回给定向量大小的最佳 DFT 大小。 | |
| bool | cv::hasNonZero (InputArray src) |
| 检查是否存在至少一个非零数组元素。 | |
| void | cv::hconcat (const Mat *src, size_t nsrc, OutputArray dst) |
| 对给定矩阵进行水平连接。 | |
| void | cv::hconcat (InputArray src1, InputArray src2, OutputArray dst) |
| void | cv::hconcat (InputArrayOfArrays src, OutputArray dst) |
| void | cv::idct (InputArray src, OutputArray dst, int flags=0) |
| 计算一维或二维数组的逆离散余弦变换。 | |
| void | cv::idft (InputArray src, OutputArray dst, int flags=0, int nonzeroRows=0) |
| 计算一维或二维数组的逆离散傅里叶变换。 | |
| void | cv::inRange (InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst) |
| 检查数组元素是否位于其他两个数组的元素之间。 | |
| void | cv::insertChannel (InputArray src, InputOutputArray dst, int coi) |
| 将单个通道插入 dst(coi 是基于 0 的索引) | |
| double | cv::invert (InputArray src, OutputArray dst, int flags=DECOMP_LU) |
| 查找矩阵的逆或伪逆。 | |
| double | cv::kmeans (InputArray data, int K, InputOutputArray bestLabels, TermCriteria criteria, int attempts, int flags, OutputArray centers=noArray()) |
| 寻找聚类中心并将输入样本围绕聚类进行分组。 | |
| void | cv::log (InputArray src, OutputArray dst) |
| 计算每个数组元素的自然对数。 | |
| void | cv::LUT (InputArray src, InputArray lut, OutputArray dst) |
| 对数组执行查找表变换。 | |
| void | cv::magnitude (InputArray x, InputArray y, OutputArray magnitude) |
| 计算二维向量的幅度。 | |
| double | cv::Mahalanobis (InputArray v1, InputArray v2, InputArray icovar) |
| 计算两个向量之间的马哈拉诺比斯距离。 | |
| void | cv::max (const Mat &src1, const Mat &src2, Mat &dst) |
| void | cv::max (const UMat &src1, const UMat &src2, UMat &dst) |
| void | cv::max (InputArray src1, InputArray src2, OutputArray dst) |
| 计算两个数组或一个数组与一个标量之间的逐元素最大值。 | |
| Scalar | cv::mean (InputArray src, InputArray mask=noArray()) |
| 计算数组元素的平均值(均值)。 | |
| void | cv::meanStdDev (InputArray src, OutputArray mean, OutputArray stddev, InputArray mask=noArray()) |
| void | cv::merge (const Mat *mv, size_t count, OutputArray dst) |
| 将多个单通道数组合并为一个多通道数组。 | |
| void | cv::merge (InputArrayOfArrays mv, OutputArray dst) |
| void | cv::min (const Mat &src1, const Mat &src2, Mat &dst) |
| void | cv::min (const UMat &src1, const UMat &src2, UMat &dst) |
| void | cv::min (InputArray src1, InputArray src2, OutputArray dst) |
| 计算两个数组或一个数组与一个标量之间的逐元素最小值。 | |
| void | cv::minMaxIdx (InputArray src, double *minVal, double *maxVal=0, int *minIdx=0, int *maxIdx=0, InputArray mask=noArray()) |
| 查找数组中的全局最小值和最大值。 | |
| void | cv::minMaxLoc (const SparseMat &a, double *minVal, double *maxVal, int *minIdx=0, int *maxIdx=0) |
| void | cv::minMaxLoc (InputArray src, double *minVal, double *maxVal=0, Point *minLoc=0, Point *maxLoc=0, InputArray mask=noArray()) |
| 查找数组中的全局最小值和最大值。 | |
| void | cv::mixChannels (const Mat *src, size_t nsrcs, Mat *dst, size_t ndsts, const int *fromTo, size_t npairs) |
| 将指定通道从输入数组复制到输出数组的指定通道。 | |
| void | cv::mixChannels (InputArrayOfArrays src, InputOutputArrayOfArrays dst, const int *fromTo, size_t npairs) |
| void | cv::mixChannels (InputArrayOfArrays src, InputOutputArrayOfArrays dst, const std::vector< int > &fromTo) |
| void | cv::mulSpectrums (InputArray a, InputArray b, OutputArray c, int flags, bool conjB=false) |
| 执行两个傅里叶谱的逐元素相乘。 | |
| void | cv::multiply (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1) |
| 计算两个数组的逐元素缩放积。 | |
| void | cv::mulTransposed (InputArray src, OutputArray dst, bool aTa, InputArray delta=noArray(), double scale=1, int dtype=-1) |
| 计算矩阵及其转置的乘积。 | |
| double | cv::norm (const SparseMat &src, int normType) |
| double | cv::norm (InputArray src1, InputArray src2, int normType=NORM_L2, InputArray mask=noArray()) |
| 计算绝对差范数或相对差范数。 | |
| double | cv::norm (InputArray src1, int normType=NORM_L2, InputArray mask=noArray()) |
| 计算数组的绝对范数。 | |
| void | cv::normalize (const SparseMat &src, SparseMat &dst, double alpha, int normType) |
| void | cv::normalize (InputArray src, InputOutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray()) |
| 对数组的范数或值范围进行归一化。 | |
| static String & | cv::operator<< (String &out, const Mat &mtx) |
| static String & | cv::operator<< (String &out, Ptr< Formatted > fmtd) |
| void | cv::patchNaNs (InputOutputArray a, double val=0) |
| 将 NaN 替换为给定数字。 | |
| void | cv::PCABackProject (InputArray data, InputArray mean, InputArray eigenvectors, OutputArray result) |
| void | cv::PCACompute (InputArray data, InputOutputArray mean, OutputArray eigenvectors, double retainedVariance) |
| void | cv::PCACompute (InputArray data, InputOutputArray mean, OutputArray eigenvectors, int maxComponents=0) |
| void | cv::PCACompute (InputArray data, InputOutputArray mean, OutputArray eigenvectors, OutputArray eigenvalues, double retainedVariance) |
| void | cv::PCACompute (InputArray data, InputOutputArray mean, OutputArray eigenvectors, OutputArray eigenvalues, int maxComponents=0) |
| void | cv::PCAProject (InputArray data, InputArray mean, InputArray eigenvectors, OutputArray result) |
| void | cv::perspectiveTransform (InputArray src, OutputArray dst, InputArray m) |
| 执行向量的透视矩阵变换。 | |
| void | cv::phase (InputArray x, InputArray y, OutputArray angle, bool angleInDegrees=false) |
| 计算二维向量的旋转角度。 | |
| void | cv::polarToCart (InputArray magnitude, InputArray angle, OutputArray x, OutputArray y, bool angleInDegrees=false) |
| 根据二维向量的幅度和角度计算其 x 和 y 坐标。 | |
| void | cv::pow (InputArray src, double power, OutputArray dst) |
| 将每个数组元素提升到指定幂。 | |
| double | cv::PSNR (InputArray src1, InputArray src2, double R=255.) |
| 计算峰值信噪比(PSNR)图像质量度量。 | |
| void | cv::randn (InputOutputArray dst, InputArray mean, InputArray stddev) |
| 用正态分布的随机数填充数组。 | |
| void | cv::randShuffle (InputOutputArray dst, double iterFactor=1., RNG *rng=0) |
| 随机打乱数组元素。 | |
| void | cv::randu (InputOutputArray dst, InputArray low, InputArray high) |
| 生成单个均匀分布的随机数或随机数数组。 | |
| void | cv::reduce (InputArray src, OutputArray dst, int dim, int rtype, int dtype=-1) |
| 将矩阵降维为向量。 | |
| void | cv::reduceArgMax (InputArray src, OutputArray dst, int axis, bool lastIndex=false) |
| 沿给定轴查找最大元素的索引。 | |
| void | cv::reduceArgMin (InputArray src, OutputArray dst, int axis, bool lastIndex=false) |
| 沿给定轴查找最小元素的索引。 | |
| Mat | cv::repeat (const Mat &src, int ny, int nx) |
| void | cv::repeat (InputArray src, int ny, int nx, OutputArray dst) |
| 用输入数组的重复副本填充输出数组。 | |
| void | cv::rotate (InputArray src, OutputArray dst, int rotateCode) |
| 以 90 度倍数旋转二维数组。函数 cv::rotate 以三种不同方式之一旋转数组:顺时针旋转 90 度 (rotateCode = ROTATE_90_CLOCKWISE)。顺时针旋转 180 度 (rotateCode = ROTATE_180)。顺时针旋转 270 度 (rotateCode = ROTATE_90_COUNTERCLOCKWISE)。 | |
| void | cv::scaleAdd (InputArray src1, double alpha, InputArray src2, OutputArray dst) |
| 计算缩放数组与另一个数组的和。 | |
| void | cv::setIdentity (InputOutputArray mtx, const Scalar &s=Scalar(1)) |
| 初始化一个缩放的单位矩阵。 | |
| void | cv::setRNGSeed (int seed) |
| 设置默认随机数生成器的状态。 | |
| bool | cv::solve (InputArray src1, InputArray src2, OutputArray dst, int flags=DECOMP_LU) |
| 求解一个或多个线性系统或最小二乘问题。 | |
| int | cv::solveCubic (InputArray coeffs, OutputArray roots) |
| 查找三次方程的实根。 | |
| double | cv::solvePoly (InputArray coeffs, OutputArray roots, int maxIters=300) |
| 查找多项式方程的实根或复根。 | |
| void | cv::sort (InputArray src, OutputArray dst, int flags) |
| 对矩阵的每行或每列进行排序。 | |
| void | cv::sortIdx (InputArray src, OutputArray dst, int flags) |
| 对矩阵的每行或每列进行排序。 | |
| void | cv::split (const Mat &src, Mat *mvbegin) |
| 将多通道数组分割成多个单通道数组。 | |
| void | cv::split (InputArray m, OutputArrayOfArrays mv) |
| void | cv::sqrt (InputArray src, OutputArray dst) |
| 计算数组元素的平方根。 | |
| void | cv::subtract (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1) |
| 计算两个数组或一个数组与一个标量之间的逐元素差。 | |
| Scalar | cv::sum (InputArray src) |
| 计算数组元素的和。 | |
| void | cv::SVBackSubst (InputArray w, InputArray u, InputArray vt, InputArray rhs, OutputArray dst) |
| void | cv::SVDecomp (InputArray src, OutputArray w, OutputArray u, OutputArray vt, int flags=0) |
| void | cv::swap (Mat &a, Mat &b) |
| 交换两个矩阵。 | |
| void | cv::swap (UMat &a, UMat &b) |
| RNG & | cv::theRNG () |
| 返回默认的随机数生成器。 | |
| Scalar | cv::trace (InputArray mtx) |
| 返回矩阵的迹。 | |
| void | cv::transform (InputArray src, OutputArray dst, InputArray m) |
| 对每个数组元素执行矩阵变换。 | |
| void | cv::transpose (InputArray src, OutputArray dst) |
| 转置矩阵。 | |
| void | cv::transposeND (InputArray src, const std::vector< int > &order, OutputArray dst) |
| n维矩阵的转置。 | |
| void | cv::vconcat (const Mat *src, size_t nsrc, OutputArray dst) |
| 对给定矩阵执行垂直连接。 | |
| void | cv::vconcat (InputArray src1, InputArray src2, OutputArray dst) |
| void | cv::vconcat (InputArrayOfArrays src, OutputArray dst) |