OpenCV 4.5.3(日本語機械翻訳)
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
cv::Vec< _Tp, cn > クラステンプレート

Template class for short numerical vectors, a partial case of Matx [詳解]

#include <matx.hpp>

cv::Matx< _Tp, cn, 1 >を継承しています。

cv::Scalar_< double >に継承されています。

公開型

enum { channels = cn , _dummy_enum_finalizer = 0 }
typedef _Tp value_type
- 基底クラス cv::Matx< _Tp, cn, 1 > に属する継承公開型
enum
typedef _Tp value_type
typedef Matx< _Tp, m, n > mat_type
typedef Matx< _Tp, shortdim, 1 > diag_type

公開メンバ関数

Vec ()
デフォルトコンストラクタ
Vec (_Tp v0)
1要素のベクトルコンストラクタ
Vec (_Tp v0, _Tp v1)
2 要素ベクトルのコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2)
3 要素ベクトルのコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3)
4 番目の要素のベクトルのコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4)
5番目の要素のベクトルのコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5)
6-エレメントベクターコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6)
7つの要素を持つベクターコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7)
8番目の要素を持つベクターコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8)
9番目の要素を持つベクトルコンストラクタ
Vec (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9)
10-エレメンツ・ベクトル・コンストラクター
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-エレメントベクターコンストラクタ
Vec (const _Tp *values)
Vec (std::initializer_list< _Tp >)
Vec (const Vec< _Tp, cn > &v)
Vec mul (const Vec< _Tp, cn > &v) const
要素ごとの乗算
Vec conj () const
共役(複素数と四元数に意味があります)。
Vec cross (const Vec &v) const
template<typename T2 >
operator Vec< T2, cn > () const
他のデータ型への変換
const _Tp & operator[] (int i) const
_Tp & operator[] (int i)
const _Tp & operator() (int i) const
_Tp & operator() (int i)
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)
template<typename _T2 >
Vec (const Matx< _Tp, cn, 1 > &a, _T2 alpha, Matx_ScaleOp)
- 基底クラス cv::Matx< _Tp, cn, 1 > に属する継承公開メンバ関数
Matx ()
デフォルトコンストラクタ
Matx (_Tp v0)
1x1 行列
Matx (_Tp v0, _Tp v1)
1x2 または 2x1 の行列
Matx (_Tp v0, _Tp v1, _Tp v2)
1x3 または 3x1 の行列
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3)
1x4, 2x2 または 4x1 行列
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4)
1x5または5x1の行列
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5)
1x6、2x3、3x2または6x1マトリクス
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6)
1x7または7x1マトリクス
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7)
1x8、2x4、4x2、または8x1マトリクス
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8)
1x9、3x3または9x1マトリクス
Matx (_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9)
1x10、2x5または5x2または10x1のマトリクス
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、または12x1マトリクス
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、または14x1マトリクス
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, 16x1のいずれかの行列
Matx (const _Tp *vals)
プレーン配列からの初期化
Matx (std::initializer_list< _Tp >)
イニシャライザリストからの初期化
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_SubOp)
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_MulOp)
Matx (const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b, Matx_DivOp)
Matx (const Matx< _Tp, m, l > &a, const Matx< _Tp, l, n > &b, Matx_MatMulOp)
Matx (const Matx< _Tp, n, m > &a, Matx_TOp)
diag_type diag () const
行列の対角線を抽出
_Tp dot (const Matx< _Tp, m, n > &v) const
デフォルトの精度で計算された内積
double ddot (const Matx< _Tp, m, n > &v) const
倍精度で計算された内積
operator Matx< T2, m, n > () const
他のデータ型への変換
Matx< _Tp, m1, n1 > reshape () const
行列の形状変更
Matx< _Tp, m1, n1 > get_minor (int base_row, int base_col) const
行列の一部を取り出す
Matx< _Tp, 1, n > row (int i) const
行列の行を抽出
Matx< _Tp, m, 1 > col (int i) const
行列の列を抽出
Matx< _Tp, n, m > t () const
行列を転置します。
Matx< _Tp, n, m > inv (int method=DECOMP_LU, bool *p_is_ok=NULL) const
行列を反転させる
Matx< _Tp, n, l > solve (const Matx< _Tp, m, l > &rhs, int flags=DECOMP_LU) const
連立方程式を解く
Vec< _Tp, n > solve (const Vec< _Tp, m > &rhs, int method) const
Matx< _Tp, m, n > mul (const Matx< _Tp, m, n > &a) const
2つの行列の要素ごとの乗算
Matx< _Tp, m, n > div (const Matx< _Tp, m, n > &a) const
2つの行列を要素ごとに分割する
const _Tp & operator() (int row, int col) const
要素アクセス
_Tp & operator() (int row, int col)
const _Tp & operator() (int i) const
1次元要素へのアクセス
_Tp & operator() (int i)

静的公開メンバ関数

static Vec all (_Tp alpha)
- 基底クラス cv::Matx< _Tp, cn, 1 > に属する継承静的公開メンバ関数
static Matx all (_Tp alpha)
static Matx zeros ()
static Matx ones ()
static Matx eye ()
static Matx diag (const diag_type &d)
static Matx randu (_Tp a, _Tp b)
一様分布した乱数を生成する[【詳解】(英語]
static Matx randn (_Tp a, _Tp b)
正規分布した乱数を生成します[【詳解】(英語]

関連関数

(これらはメソッドではありません)

template<typename _Tp1 , typename _Tp2 , int cn>
static Vec< _Tp1, cn > & operator+= (Vec< _Tp1, cn > &a, const Vec< _Tp2, cn > &b)
template<typename _Tp1 , typename _Tp2 , int cn>
static Vec< _Tp1, cn > & operator-= (Vec< _Tp1, cn > &a, const Vec< _Tp2, cn > &b)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator+ (const Vec< _Tp, cn > &a, const Vec< _Tp, cn > &b)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator- (const Vec< _Tp, cn > &a, const Vec< _Tp, cn > &b)
template<typename _Tp , int cn>
static Vec< _Tp, cn > & operator*= (Vec< _Tp, cn > &a, int alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > & operator*= (Vec< _Tp, cn > &a, float alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > & operator*= (Vec< _Tp, cn > &a, double alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > & operator/= (Vec< _Tp, cn > &a, int alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > & operator/= (Vec< _Tp, cn > &a, float alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > & operator/= (Vec< _Tp, cn > &a, double alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator* (const Vec< _Tp, cn > &a, int alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator* (int alpha, const Vec< _Tp, cn > &a)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator* (const Vec< _Tp, cn > &a, float alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator* (float alpha, const Vec< _Tp, cn > &a)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator* (const Vec< _Tp, cn > &a, double alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator* (double alpha, const Vec< _Tp, cn > &a)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator/ (const Vec< _Tp, cn > &a, int alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator/ (const Vec< _Tp, cn > &a, float alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator/ (const Vec< _Tp, cn > &a, double alpha)
template<typename _Tp , int cn>
static Vec< _Tp, cn > operator- (const Vec< _Tp, cn > &a)
template<typename _Tp >
Vec< _Tp, 4 > operator* (const Vec< _Tp, 4 > &v1, const Vec< _Tp, 4 > &v2)
template<typename _Tp >
Vec< _Tp, 4 > & operator*= (Vec< _Tp, 4 > &v1, const Vec< _Tp, 4 > &v2)

その他の継承メンバ

- 基底クラス cv::Matx< _Tp, cn, 1 > に属する継承公開変数類
_Tp val [m *n]

詳解

template<typename _Tp, int cn> (英語)
クラス cv::Vec< _Tp, cn > 。

短い数値ベクトルのためのテンプレートクラス,の部分的なケースです.Matx

このテンプレートクラスは,(1, 2, 3, 4...の要素を持つ)短い数値ベクトルを表し,基本的な算術演算を行ったり,[] 演算子を用いて個々の要素にアクセスしたりすることができます.ベクトルは,std::valarrayやstd::vector.などとは異なり,スタック上に確保されます。cv::Matなどとは異なり,ベクタはスタック上に確保されます。これらの要素はヒープ上に動的に確保されます。

このテンプレートは2つのパラメータを受け取ります。

テンプレート引数
_Tp 要素タイプ
cn 要素の数

Vec<float, 3>のような普遍的な記法に加えて,最も一般的に使われている特化型のVec<float, 3>の短いエイリアスを使うことができます.Vec例えば,Vec3f ~ Vec<float, 3>のように.

また、以下のような変換も可能です。Vec<T,2>との間でPoint_,Vec<T,3> からPoint3_を満たす。Vec<T,4> からCvScalarまたはScalar_. の要素にアクセスするにはoperator[]を使います。Vec.

また,期待されるベクトル演算もすべて実装されています.

関数詳解

cross()

template<typename _Tp , int cn>
Vec cv::Vec< _Tp, cn >::cross ( const Vec< _Tp, cn > & v ) const

2つの3次元ベクトルの外積を求めます.

他の次元の場合は,例外が発生します.

operator[]()

template<typename _Tp , int cn>
const _Tp & cv::Vec< _Tp, cn >::operator[] ( int i ) const

要素アクセス


このクラス詳解は次のファイルから抽出されました: