![]()  | 
  
    OpenCV 4.13.0-dev
    
   Open Source Computer Vision 
   | 
 
Template class for short numerical vectors, a partial case of Matx. More...
#include <opencv2/core/matx.hpp>
Public Types | |
| enum | {  channels = cn , _dummy_enum_finalizer = 0 }  | 
| typedef _Tp | value_type | 
  Public Types inherited from cv::Matx< _Tp, cn, 1 > | |
| enum | |
| typedef Matx< _Tp, shortdim, 1 > | diag_type | 
| typedef Matx< _Tp, m, n > | mat_type | 
| typedef _Tp | value_type | 
Public Member Functions | |
| Vec () | |
| default constructor   | |
| Vec (_Tp v0) | |
| 1-element vector constructor   | |
| Vec (_Tp v0, _Tp v1) | |
| 2-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2) | |
| 3-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3) | |
| 4-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4) | |
| 5-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5) | |
| 6-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6) | |
| 7-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7) | |
| 8-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8) | |
| 9-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9) | |
| 10-element vector constructor   | |
| Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13) | |
| 14-element vector constructor   | |
| Vec (const _Tp *values) | |
| template<typename _T2 > | |
| Vec (const Matx< _Tp, cn, 1 > &a, _T2 alpha, Matx_ScaleOp) | |
| Vec (const Matx< _Tp, cn, 1 > &a, const Matx< _Tp, cn, 1 > &b, Matx_AddOp) | |
| Vec (const Matx< _Tp, cn, 1 > &a, const Matx< _Tp, cn, 1 > &b, Matx_SubOp) | |
| Vec (const Vec< _Tp, cn > &v) | |
| Vec (std::initializer_list< _Tp >) | |
| Vec | conj () const | 
| conjugation (makes sense for complex numbers and quaternions)   | |
| Vec | cross (const Vec &v) const | 
| Vec | mul (const Vec< _Tp, cn > &v) const | 
| per-element multiplication   | |
| template<typename T2 > | |
| operator Vec< T2, cn > () const | |
| conversion to another data type   | |
| _Tp & | operator() (int i) | 
| const _Tp & | operator() (int i) const | 
| Vec< _Tp, cn > & | operator= (const Vec< _Tp, cn > &rhs)=default | 
| _Tp & | operator[] (int i) | 
| const _Tp & | operator[] (int i) const | 
  Public Member Functions inherited from cv::Matx< _Tp, cn, 1 > | |
| Matx () | |
| default constructor   | |
| Matx (_Tp v0) | |
| 1x1 matrix   | |
| Matx (_Tp v0, _Tp v1) | |
| 1x2 or 2x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2) | |
| 1x3 or 3x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3) | |
| 1x4, 2x2 or 4x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4) | |
| 1x5 or 5x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5) | |
| 1x6, 2x3, 3x2 or 6x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6) | |
| 1x7 or 7x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7) | |
| 1x8, 2x4, 4x2 or 8x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8) | |
| 1x9, 3x3 or 9x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9) | |
| 1x10, 2x5 or 5x2 or 10x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11) | |
| 1x12, 2x6, 3x4, 4x3, 6x2 or 12x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13) | |
| 1x14, 2x7, 7x2 or 14x1 matrix   | |
| Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13, _Tp v14, _Tp v15) | |
| 1x16, 4x4 or 16x1 matrix   | |
| Matx (const _Tp *vals) | |
| initialize from a plain array   | |
| Matx (const Matx< _Tp, m, l > &a, const Matx< _Tp, l, n > &b, Matx_MatMulOp) | |
| Matx (const Matx< _Tp, m, n > &a, _T2 alpha, Matx_ScaleOp) | |
| Matx (const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b, Matx_AddOp) | |
| Matx (const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b, Matx_DivOp) | |
| Matx (const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b, Matx_MulOp) | |
| Matx (const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b, Matx_SubOp) | |
| Matx (const Matx< _Tp, n, m > &a, Matx_TOp) | |
| Matx (std::initializer_list< _Tp >) | |
| initialize from an initializer list   | |
| Matx< _Tp, m, 1 > | col (int i) const | 
| extract the matrix column   | |
| double | ddot (const Matx< _Tp, m, n > &v) const | 
| dot product computed in double-precision arithmetics   | |
| diag_type | diag () const | 
| extract the matrix diagonal   | |
| Matx< _Tp, m, n > | div (const Matx< _Tp, m, n > &a) const | 
| divide two matrices element-wise   | |
| _Tp | dot (const Matx< _Tp, m, n > &v) const | 
| dot product computed with the default precision   | |
| Matx< _Tp, m1, n1 > | get_minor (int base_row, int base_col) const | 
| extract part of the matrix   | |
| Matx< _Tp, n, m > | inv (int method=DECOMP_LU, bool *p_is_ok=NULL) const | 
| invert the matrix   | |
| Matx< _Tp, m, n > | mul (const Matx< _Tp, m, n > &a) const | 
| multiply two matrices element-wise   | |
| operator Matx< T2, m, n > () const | |
| conversion to another data type   | |
| _Tp & | operator() (int i) | 
| const _Tp & | operator() (int i) const | 
| 1D element access   | |
| _Tp & | operator() (int row, int col) | 
| const _Tp & | operator() (int row, int col) const | 
| element access   | |
| Matx< _Tp, m1, n1 > | reshape () const | 
| change the matrix shape   | |
| Matx< _Tp, 1, n > | row (int i) const | 
| extract the matrix row   | |
| Matx< _Tp, n, l > | solve (const Matx< _Tp, m, l > &rhs, int flags=DECOMP_LU) const | 
| solve linear system   | |
| Vec< _Tp, n > | solve (const Vec< _Tp, m > &rhs, int method) const | 
| Matx< _Tp, n, m > | t () const | 
| transpose the matrix   | |
Static Public Member Functions | |
| static Vec | all (_Tp alpha) | 
| static Vec | diag (_Tp alpha)=delete | 
| static Vec | eye ()=delete | 
| static Vec | ones () | 
| static Vec | randn (_Tp a, _Tp b) | 
| static Vec | randu (_Tp a, _Tp b) | 
| static Vec | zeros () | 
  Static Public Member Functions inherited from cv::Matx< _Tp, cn, 1 > | |
| static CV_NODISCARD_STD Matx | all (_Tp alpha) | 
| static CV_NODISCARD_STD Matx | diag (const diag_type &d) | 
| static CV_NODISCARD_STD Matx | eye () | 
| static CV_NODISCARD_STD Matx | ones () | 
| static CV_NODISCARD_STD Matx | randn (_Tp a, _Tp b) | 
| Generates normally distributed random numbers.   | |
| static CV_NODISCARD_STD Matx | randu (_Tp a, _Tp b) | 
| Generates uniformly distributed random numbers.   | |
| static CV_NODISCARD_STD Matx | zeros () | 
Additional Inherited Members | |
  Public Attributes inherited from cv::Matx< _Tp, cn, 1 > | |
| _Tp | val [m *n] | 
| matrix elements   | |
Template class for short numerical vectors, a partial case of Matx.
This template class represents short numerical vectors (of 1, 2, 3, 4 ... elements) on which you can perform basic arithmetical operations, access individual elements using [] operator etc. The vectors are allocated on stack, as opposite to std::valarray, std::vector, cv::Mat etc., which elements are dynamically allocated in the heap.
The template takes 2 parameters:
| _Tp | element type | 
| cn | the number of elements | 
In addition to the universal notation like Vec<float, 3>, you can use shorter aliases for the most popular specialized variants of Vec, e.g. Vec3f ~ Vec<float, 3>.
It is possible to convert Vec<T,2> to/from Point_, Vec<T,3> to/from Point3_ , and Vec<T,4> to CvScalar or Scalar_. Use operator[] to access the elements of Vec.
All the expected vector operations are also implemented:
| anonymous enum | 
2-element vector constructor
3-element vector constructor
4-element vector constructor
5-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | _Tp | v0, | 
| _Tp | v1, | ||
| _Tp | v2, | ||
| _Tp | v3, | ||
| _Tp | v4, | ||
| _Tp | v5 ) | 
6-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | _Tp | v0, | 
| _Tp | v1, | ||
| _Tp | v2, | ||
| _Tp | v3, | ||
| _Tp | v4, | ||
| _Tp | v5, | ||
| _Tp | v6 ) | 
7-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | _Tp | v0, | 
| _Tp | v1, | ||
| _Tp | v2, | ||
| _Tp | v3, | ||
| _Tp | v4, | ||
| _Tp | v5, | ||
| _Tp | v6, | ||
| _Tp | v7 ) | 
8-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | _Tp | v0, | 
| _Tp | v1, | ||
| _Tp | v2, | ||
| _Tp | v3, | ||
| _Tp | v4, | ||
| _Tp | v5, | ||
| _Tp | v6, | ||
| _Tp | v7, | ||
| _Tp | v8 ) | 
9-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | _Tp | v0, | 
| _Tp | v1, | ||
| _Tp | v2, | ||
| _Tp | v3, | ||
| _Tp | v4, | ||
| _Tp | v5, | ||
| _Tp | v6, | ||
| _Tp | v7, | ||
| _Tp | v8, | ||
| _Tp | v9 ) | 
10-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | _Tp | v0, | 
| _Tp | v1, | ||
| _Tp | v2, | ||
| _Tp | v3, | ||
| _Tp | v4, | ||
| _Tp | v5, | ||
| _Tp | v6, | ||
| _Tp | v7, | ||
| _Tp | v8, | ||
| _Tp | v9, | ||
| _Tp | v10, | ||
| _Tp | v11, | ||
| _Tp | v12, | ||
| _Tp | v13 ) | 
14-element vector constructor
| cv::Vec< _Tp, cn >::Vec | ( | const Matx< _Tp, cn, 1 > & | a, | 
| const Matx< _Tp, cn, 1 > & | b, | ||
| Matx_AddOp | ) | 
| cv::Vec< _Tp, cn >::Vec | ( | const Matx< _Tp, cn, 1 > & | a, | 
| const Matx< _Tp, cn, 1 > & | b, | ||
| Matx_SubOp | ) | 
| cv::Vec< _Tp, cn >::Vec | ( | const Matx< _Tp, cn, 1 > & | a, | 
| _T2 | alpha, | ||
| Matx_ScaleOp | ) | 
conjugation (makes sense for complex numbers and quaternions)
cross product of the two 3D vectors.
For other dimensionalities the exception is raised
per-element multiplication
| cv::Vec< _Tp, cn >::operator Vec< T2, cn > | ( | ) | const | 
conversion to another data type
      
  | 
  default | 
element access