Class cv::Vec#
Template class for short numerical vectors, a partial case of Matx. View details
#include <opencv2/core/matx.hpp>Collaboration diagram for cv::Vec:
Public Types#
enum cv::Vec {
cv::channels = cn,
cv::_dummy_enum_finalizer = 0
}Public Member Functions#
Public Member Functions inherited from cv::Matx
Return |
Name |
Description |
|---|---|---|
default constructor |
||
1x1 matrix |
||
1x2 or 2x1 matrix |
||
1x3 or 3x1 matrix |
||
1x4, 2x2 or 4x1 matrix |
||
1x5 or 5x1 matrix |
||
1x6, 2x3, 3x2 or 6x1 matrix |
||
|
1x7 or 7x1 matrix |
|
|
1x8, 2x4, 4x2 or 8x1 matrix |
|
|
1x9, 3x3 or 9x1 matrix |
|
|
1x10, 2x5 or 5x2 or 10x1 matrix |
|
1x12, 2x6, 3x4, 4x3, 6x2 or 12x1 matrix |
||
1x14, 2x7, 7x2 or 14x1 matrix |
||
1x16, 4x4 or 16x1 matrix |
||
initialize from a plain array |
||
|
||
|
||
|
||
|
||
|
||
|
||
initialize from an initializer list |
||
|
extract the matrix column |
|
|
|
|
|
copy & convert |
|
|
dot product computed in double-precision arithmetics |
|
extract the matrix diagonal |
||
|
divide two matrices element-wise |
|
|
dot product computed with the default precision |
|
|
extract part of the matrix |
|
|
invert the matrix |
|
|
multiply two matrices element-wise |
|
conversion to another data type |
||
|
||
|
1D element access |
|
|
||
|
element access |
|
|
change the matrix shape |
|
|
extract the matrix row |
|
|
|
solve linear system |
|
transpose the matrix |
Static Public Member Functions#
Static Public Member Functions inherited from cv::Matx
Return |
Name |
Description |
|---|---|---|
|
||
|
||
|
||
|
||
|
Generates normally distributed random numbers. |
|
|
Generates uniformly distributed random numbers. |
|
|
Public Attributes#
Detailed Description#
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:
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:
v1 = v2 + v3
v1 = v2 - v3
v1 = v2 * scale
v1 = scale * v2
v1 = -v2
v1 += v2 and other augmenting operations
v1 == v2, v1 != v2
norm(v1) (euclidean norm) The Vec class is commonly used to describe pixel types of multi-channel arrays. See Mat for details.
- Template Parameters:
_Tp – element type
cn – the number of elements
Member Typedef Documentation#
value_type#
typedef _Tp cv::Vec::value_type
Member Enumeration Documentation#
enum Vec
|
|
Constructor & Destructor Documentation#
Vec()#
default constructor
Vec()#
1-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1 )
2-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2 )
3-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2,
_Tp v3 )
4-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2,
_Tp v3,
_Tp v4 )
5-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2,
_Tp v3,
_Tp v4,
_Tp v5 )
6-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2,
_Tp v3,
_Tp v4,
_Tp v5,
_Tp v6 )
7-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2,
_Tp v3,
_Tp v4,
_Tp v5,
_Tp v6,
_Tp v7 )
8-element vector constructor
Vec()#
cv::Vec::Vec(
_Tp v0,
_Tp v1,
_Tp v2,
_Tp v3,
_Tp v4,
_Tp v5,
_Tp v6,
_Tp v7,
_Tp v8 )
9-element vector constructor
Vec()#
cv::Vec::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()#
cv::Vec::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()#
Vec()#
template<typename _T2>
cv::Vec::Vec(
const Matx< _Tp, cn, 1 > & a,
_T2 alpha,
Matx_ScaleOp )
Vec()#
cv::Vec::Vec(
const Matx< _Tp, cn, 1 > & a,
const Matx< _Tp, cn, 1 > & b,
Matx_AddOp )
Vec()#
cv::Vec::Vec(
const Matx< _Tp, cn, 1 > & a,
const Matx< _Tp, cn, 1 > & b,
Matx_SubOp )
Vec()#
Vec()#
Member Function Documentation#
conj()#
conjugation (makes sense for complex numbers and quaternions)
cross()#
Vec cv::Vec::cross(const Vec & v)
cross product of the two 3D vectors.
For other dimensionalities the exception is raised
mul()#
Vec cv::Vec::mul(const Vec< _Tp, cn > & v)
per-element multiplication
operator Vec< T2, cn >()#
template<typename T2>
cv::Vec::operator Vec< T2, cn >()
conversion to another data type
operator()()#
_Tp & cv::Vec::operator()(int i)
operator()()#
const _Tp & cv::Vec::operator()(int i)
operator=()#
Vec< _Tp, cn > & cv::Vec::operator=(const Vec< _Tp, cn > & rhs)
operator#
_Tp & cv::Vec::operator[](int i)
operator#
const _Tp & cv::Vec::operator[](int i)
element access
all()#
diag()#
eye()#
ones()#
randn()#
randu()#
zeros()#
Source file#
The documentation for this class was generated from the following file:
opencv2/core/matx.hpp