OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
没有匹配结果
模块 | 命名空间 | | 类型定义 | 枚举 | 函数
核心功能

模块

 基本结构
 
 数组操作
 
 异步API
 
 XML/YAML持久化
 
 聚类
 
 实用程序和系统函数和宏
 
 OpenGL互操作性
 
 Intel IPP异步C/C++转换器
 
 优化算法
 
 DirectX互操作性
 
 Eigen支持
 
 OpenCL支持
 
 Intel VA-API/OpenCL (CL-VA)互操作性
 
 硬件加速层
 
 并行处理
 

详细描述

命名空间

命名空间  cv::traits
 

class  cv::Affine3< T >
 仿射变换。 更多...
 
class  cv::BufferPoolController
 
class  cv::DualQuat< _Tp >
 
class  cv::Quat< _Tp >
 
class  cv::QuatEnum
 

类型定义

typedef Affine3< double > cv::Affine3d
 
typedef Affine3< float > cv::Affine3f
 
using cv::DualQuatd = DualQuat< double >
 
using cv::DualQuatf = DualQuat< float >
 
using cv::Quatd = Quat< double >
 
using cv::Quatf = Quat< float >
 

枚举

enum  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
}
 协变量标志。 更多...
 
enum  cv::QuatAssumeType {
  cv::QUAT_ASSUME_NOT_UNIT ,
  cv::QUAT_ASSUME_UNIT
}
 单位四元数标志。 更多...
 

函数

template<typename T >
Quat< T > cv::acos (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::acosh (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::asin (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::asinh (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::atan (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::atanh (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::cos (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::cosh (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::crossProduct (const Quat< T > &p, const Quat< T > &q)
 
template<typename T >
Quat< T > cv::exp (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::inv (const Quat< T > &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
 
template<typename T >
Quat< T > cv::log (const Quat< T > &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
 
template<typename T , typename V >
static V cv::operator* (const Affine3< T > &affine, const V &vector)
 V是一个包含x、y和z成员字段的3元素向量。
 
template<typename T >
static Affine3< T > cv::operator* (const Affine3< T > &affine1, const Affine3< T > &affine2)
 
static Vec3d cv::operator* (const Affine3d &affine, const Vec3d &vector)
 
static Vec3f cv::operator* (const Affine3f &affine, const Vec3f &vector)
 
template<typename T >
Quat< T > cv::operator* (const Quat< T > &, const T)
 
template<typename T >
Quat< T > cv::operator* (const T, const Quat< T > &)
 
template<typename _Tp >
std::ostream & cv::operator<< (std::ostream &, const DualQuat< _Tp > &)
 
template<typename _Tp >
std::ostream & cv::operator<< (std::ostream &, const Quat< _Tp > &)
 
template<typename S >
std::ostream & cv::operator<< (std::ostream &, const Quat< S > &)
 
template<typename T >
Quat< T > cv::power (const Quat< T > &q, const Quat< T > &p, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
 
template<typename T >
Quat< T > cv::power (const Quat< T > &q, const T x, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
 
template<typename T >
Quat< T > cv::sin (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::sinh (const Quat< T > &q)
 
template<typename S >
Quat< S > cv::sqrt (const Quat< S > &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
 
void cv::swap (Mat &a, Mat &b)
 交换两个矩阵。
 
void cv::swap (UMat &a, UMat &b)
 
template<typename T >
Quat< T > cv::tan (const Quat< T > &q)
 
template<typename T >
Quat< T > cv::tanh (const Quat< T > &q)
 

类型定义文档

◆ Affine3d

typedef Affine3<double> cv::Affine3d

◆ Affine3f

typedef Affine3<float> cv::Affine3f

◆ DualQuatd

using cv::DualQuatd = typedef DualQuat<double>

◆ DualQuatf

using cv::DualQuatf = typedef DualQuat<float>

◆ Quatd

using cv::Quatd = typedef Quat<double>

◆ Quatf

using cv::Quatf = typedef Quat<float>

枚举类型文档

◆ CovarFlags

#include <>

协方差标志。

枚举
COVAR_SCRAMBLED 
Python: cv.COVAR_SCRAMBLED

输出协方差矩阵计算为

\[\texttt{scale} \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...]^T \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...],\]

协方差矩阵将为 nsamples x nsamples。这样的非寻常协方差矩阵用于快速PCA分析一组非常大的向量(例如,面部识别中的EigenFaces技术)。此“混乱”矩阵的特征值与真实协方差矩阵的特征值相匹配。可以从“混乱”协方差矩阵的特征向量轻松计算出“真实”特征向量。

COVAR_NORMAL 
Python: cv.COVAR_NORMAL

输出协方差矩阵计算为

\[\texttt{scale} \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...] \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...],\]

协方差将是大小与每个输入向量的元素总数相同的正方形矩阵。必须指定COVAR_SCRAMBLEDCOVAR_NORMAL之一且仅之一。

COVAR_USE_AVG 
Python: cv.COVAR_USE_AVG

如果指定了此标志,函数不计算从输入向量中的均值,而是使用传递的均值向量。如果均值已经预先计算或提前知道,或者协方差矩阵是分段计算的,则这很有用。在这种情况下,均值不是输入子集向量的均值向量,而是整个集合的均值向量。

COVAR_SCALE 
Python: cv.COVAR_SCALE

如果指定了此标志,则对协方差矩阵进行缩放。在“正常”模式中,缩放值为 1./nsamples 。在“打乱”模式下,缩放值为每个输入向量中元素总数的倒数。默认情况下(如果未指定标志),协方差矩阵不进行缩放(scale=1)。

COVAR_ROWS 
Python: cv.COVAR_ROWS

如果指定了此标志,则所有输入向量都存储为样本矩阵的行。在这种情况下,mean 应该是一个单行向量。

COVAR_COLS 
Python: cv.COVAR_COLS

如果指定了此标志,则所有输入向量都存储为样本矩阵的列。在这种情况下,mean 应该是一个单列向量。

◆ QuatAssumeType

#include <opencv2/core/quaternion.hpp>

单位四元数标志。

枚举
QUAT_ASSUME_NOT_UNIT 
Python: cv.QUAT_ASSUME_NOT_UNIT

默认情况下指定此标志。如果指定了此标志,则假定输入四元数不是单位四元数。它可以保证计算的准确性,尽管计算速度会比 QUAT_ASSUME_UNIT 标志慢。

QUAT_ASSUME_UNIT 
Python: cv.QUAT_ASSUME_UNIT

如果指定了此标志,则假定输入四元数是单位四元数,这将节省一些计算量。然而,如果没有单位四元数指定此标志,则无法保证结果的程序正确性。

函数文档

◆ acos()

template<typename T >
Quat< T > cv::acos ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

[\arccos(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arccosh(q)\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
acos(q);
定义于 quaternion.hpp:211
Quat< T > acos(const Quat< T > &q)

◆ acosh()

template<typename T >
Quat< T > cv::acosh ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

[\arccosh(q) = \ln(q + \sqrt{q^2 - 1})\]

.

参数
q四元数。

例如

Quatd q(1,2,3,4);
acosh(q);
Quat< T > acosh(const Quat< T > &q)

◆ asin()

template<typename T >
Quat< T > cv::asin ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

[\arcsin(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arcsinh(q\frac{\boldsymbol{v}}{||\boldsymbol{v}||})\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
asin(q);
Quat< T > asin(const Quat< T > &q)

◆ asinh()

template<typename T >
Quat< T > cv::asinh ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[arcsinh(q) = \ln(q + \sqrt{q^2 + 1})\]

.

参数
q四元数。

例如

Quatd q(1,2,3,4);
asinh(q);
Quat< T > asinh(const Quat< T > &q)

◆ atan()

template<typename T >
Quat< T > cv::atan ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[\arctan(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arctanh(q\frac{\boldsymbol{v}}{||\boldsymbol{v}||})\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
atan(q);
Quat< T > atan(const Quat< T > &q)

◆ atanh()

template<typename T >
Quat< T > cv::atanh ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[arctanh(q) = \frac{\ln(q + 1) - \ln(1 - q)}{2}\]

.

参数
q四元数。

例如

Quatd q(1,2,3,4);
atanh(q);
Quat< T > atanh(const Quat< T > &q)

◆ cos()

template<typename T >
Quat< T > cv::cos ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[\cos(p) = \cos(w) * \cosh(||\boldsymbol{v}||) - \sin(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sinh(||\boldsymbol{v}||)\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
cos(q);
Quat< T > cos(const Quat< T > &q)

◆ cosh()

template<typename T >
Quat< T > cv::cosh ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[\cosh(p) = \cosh(w) * \cos(||\boldsymbol{v}||) + \sinh(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sin(||\boldsymbol{v}||)\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
cosh(q);
Quat< T > cosh(const Quat< T > &q)

◆ crossProduct()

template<typename T >
Quat< T > cv::crossProduct ( const Quat< T > &  p,
const Quat< T > &  q 
)

#include <opencv2/core/quaternion.hpp>

\[p \times q = \frac{pq- qp}{2}\]

\[p \times q = \boldsymbol{u} \times \boldsymbol{v}\]

\[p \times q = (cz-dy)i + (dx-bz)j + (by-xc)k \]

例如

Quatd q{1,2,3,4};
Quatd p{5,6,7,8};
Quat< T > crossProduct(const Quat< T > &p, const Quat< T > &q)
Quat< double > Quatd
定义 quaternion.hpp:1688

◆ exp()

template<typename T >
Quat< T > cv::exp ( const Quat< T > &  q)
Python
cv.exp(src[, dst]) -> dst

#include <opencv2/core/quaternion.hpp>

\[\exp(q) = e^w (\cos||\boldsymbol{v}||+ \frac{v}{||\boldsymbol{v}||})\sin||\boldsymbol{v}||\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q{1,2,3,4};
cout << exp(q) << endl;
这是此函数的调用图

◆ inv()

template<typename T >
Quat< T > cv::inv ( const Quat< T > &  q,
QuatAssumeType  assumeUnit = QUAT_ASSUME_NOT_UNIT 
)

#include <opencv2/core/quaternion.hpp>

参数
q四元数。
assumeUnit如果 QUAT_ASSUME_UNIT,四元数 q 被假设为单位四元数,此函数将节省一些计算。

例如

Quatd q(1,2,3,4);
inv(q);
q = q.normalize();
inv(q, assumeUnit);//This assumeUnit means p is a unit quaternion
Quat< T > inv(const Quat< T > &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)
QuatAssumeType
单位四元数标志。
定义 quaternion.hpp:39
@ QUAT_ASSUME_UNIT
定义 quaternion.hpp:52

◆ log()

template<typename T >
Quat< T > cv::log ( const Quat< T > &  q,
QuatAssumeType  assumeUnit = QUAT_ASSUME_NOT_UNIT 
)
Python
cv.log(src[, dst]) -> dst

#include <opencv2/core/quaternion.hpp>

\[\ln(q) = \ln||q|| + \frac{\boldsymbol{v}}{||\boldsymbol{v}||}\arccos\frac{w}{||q||}.\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。
assumeUnit如果QUAT_ASSUME_UNIT,假设q是一个单位四元数,这个函数将节省一些计算。

例如

Quatd q1{1,2,3,4};
cout << log(q1) << endl;
这是此函数的调用图

◆ operator*() [1/6]

template<typename T , typename V >
静态 V cv::operator* ( const Affine3< T > &  affine,
const V &  vector 
)
静态

#include <opencv2/core/affine.hpp>

V是一个包含x、y和z成员字段的3元素向量。

◆ operator*() [2/6]

template<typename T >
静态 Affine3< T > cv::operator* ( const Affine3< T > &  affine1,
const Affine3< T > &  affine2 
)
静态

◆ operator*() [3/6]

静态 Vec3d cv::operator* ( const Affine3d affine,
const Vec3d vector 
)
静态

◆ operator*() [4/6]

静态 Vec3f cv::operator* ( const Affine3f affine,
const Vec3f vector 
)
静态

◆ operator*() [5/6]

template<typename T >
Quat< T > cv::operator* ( const Quat< T > &  ,
const T   
)

◆ operator*() [6/6]

template<typename T >
Quat< T > cv::operator* ( const T  ,
const Quat< T > &   
)

◆ operator<<() [1/3]

template<typename _Tp >
std::ostream & cv::operator<< ( std::ostream &  ,
const DualQuat< _Tp > &   
)

◆ operator<<() [2/3]

template<typename _Tp >
std::ostream & cv::operator<< ( std::ostream &  ,
const Quat< _Tp > &   
)

◆ operator<<() [3/3]

template<typename S >
std::ostream & cv::operator<< ( std::ostream &  ,
const Quat< S > &   
)

◆ power() [1/2]

template<typename T >
Quat< T > cv::power ( const Quat< T > &  q,
const Quat< T > &  p,
QuatAssumeType  assumeUnit = QUAT_ASSUME_NOT_UNIT 
)

#include <opencv2/core/quaternion.hpp>

\[p^q = e^{q\ln(p)}.\]

参数
p幂函数的基础四元数。
q幂函数的指数四元数。
assumeUnit如果QUAT_ASSUME_UNIT,假设四元数\(p\)是单位四元数,这个函数将节省一些计算。

例如

Quatd p(1,2,3,4);
Quatd q(5,6,7,8);
power(p, q);
p = p.normalize();
power(p, q, assumeUnit); //This assumeUnit means p is a unit quaternion
Quat< T > power(const Quat< T > &q, const Quat< T > &p, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT)

◆ power() [2/2]

template<typename T >
Quat< T > cv::power ( const Quat< T > &  q,
const T  x,
QuatAssumeType  assumeUnit = QUAT_ASSUME_NOT_UNIT 
)

#include <opencv2/core/quaternion.hpp>

\[q^x = ||q||(cos(x\theta) + \boldsymbol{u}sin(x\theta))).\]

参数
q四元数。
x指数的指数。
assumeUnit如果 QUAT_ASSUME_UNIT,四元数 q 被假设为单位四元数,此函数将节省一些计算。

例如

Quatd q(1,2,3,4);
power(q, 2.0);
double angle = CV_PI;
Vec3d 轴{0, 0, 1};
Quatd q1 = Quatd::createFromAngleAxis(angle, axis); //通过轴和角度生成单位四元数
power(q1, 2.0, assumeUnit);//This assumeUnit 表示 q1 是一个单位四元数。
static Quat<_Tp> createFromAngleAxis(const _Tp angle, const Vec<_Tp, 3> &axis)
从一个角度和轴。在此函数中,轴将被归一化。它生成
#define CV_PI
定义 cvdef.h:380
注意
索引的类型应与四元数相同。

◆ sin()

template<typename T >
Quat<_T> cv::sin ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[\sin(p) = \sin(w) * \cosh(||\boldsymbol{v}||) + \cos(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sinh(||\boldsymbol{v}||)\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
sin(q);
Quat<_T> sin(const Quat<_T> &q)

◆ sinh()

template<typename T >
Quat<_T> cv::sinh ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[\sinh(p) = \sin(w)\cos(||\boldsymbol{v}||) + \cosh(w)\frac{v}{||\boldsymbol{v}||}\sin||\boldsymbol{v}||\]

其中\(\boldsymbol{v} = [x, y, z].\)

参数
q四元数。

例如

Quatd q(1,2,3,4);
sinh(q);
Quat<_T> sinh(const Quat<_T> &q)

◆ sqrt()

template<typename S >
Quat<_S> cv::sqrt ( const Quat< S > &  q,
QuatAssumeType  assumeUnit = QUAT_ASSUME_NOT_UNIT 
)
Python
cv.sqrt(src[, dst]) -> dst

#include <opencv2/core/quaternion.hpp>

这是此函数的调用图

◆ swap() [1/2]

void cv::swap ( Mat a,
Mat b 
)

◆ swap() [2/2]

void cv::swap ( UMat a,
UMat b 
)

◆ tan()

template<typename T >
Quat<_T> cv::tan ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[\tan(q) = \frac{\sin(q)}{\cos(q)}.\]

参数
q四元数。

例如

Quatd q(1,2,3,4);
tan(q);
Quat<_T> tan(const Quat<_T> &q)

◆ tanh()

template<typename T >
Quat<_T> cv::tanh ( const Quat< T > &  q)

#include <opencv2/core/quaternion.hpp>

\[ \tanh(q) = \frac{\sinh(q)}{\cosh(q)}.\]

参数
q四元数。

例如

Quatd q(1,2,3,4);
tanh(q);
Quat<_T> tanh(const Quat<_T> &q)
另请参阅
sinh, cosh