OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
Eigenサポート

詳細説明

これらの関数は、OpenCVとEigenの相互運用のために提供されている。Mat オブジェクトを対応する Eigen::Matrix オブジェクトに、またその逆に変換する。Matrix テンプレート型については Eigenのドキュメント を参照のこと。

覚え書き
これらの関数を使用するには、このヘッダの前に Eigen/Dense または同様のヘッダをインクルードしておく必要がある。

名前空間

namespace  cv::traits
 

クラス

class  cv::Affine3< T >
 アフィン変換。続き...
 

型定義

typedef Affine3< double > cv::Affine3d
 
typedef Affine3< float > cv::Affine3f
 

関数

template<typename _Tp >
static void cv::cv2eigen (const Mat &src, Eigen::Matrix< _Tp, 1, Eigen::Dynamic > &dst)
 
template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::cv2eigen (const Mat &src, Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > &dst)
 
template<typename _Tp >
static void cv::cv2eigen (const Mat &src, Eigen::Matrix< _Tp, Eigen::Dynamic, 1 > &dst)
 
template<typename _Tp >
static void cv::cv2eigen (const Mat &src, Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic > &dst)
 
template<typename _Tp >
static void cv::cv2eigen (const Mat &src, Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &dst)
 
template<typename _Tp , int _layout>
static void cv::cv2eigen (const Mat &src, Eigen::Tensor< _Tp, 3, _layout > &dst)
 cv::Mat をEigen::Tensorに変換する。
 
template<typename _Tp , int _cols>
static void cv::cv2eigen (const Matx< _Tp, 1, _cols > &src, Eigen::Matrix< _Tp, 1, Eigen::Dynamic > &dst)
 
template<typename _Tp , int _rows>
static void cv::cv2eigen (const Matx< _Tp, _rows, 1 > &src, Eigen::Matrix< _Tp, Eigen::Dynamic, 1 > &dst)
 
template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::cv2eigen (const Matx< _Tp, _rows, _cols > &src, Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > &dst)
 
template<typename _Tp , int _rows, int _cols>
static void cv::cv2eigen (const Matx< _Tp, _rows, _cols > &src, Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic > &dst)
 
template<typename _Tp , int _rows, int _cols>
static void cv::cv2eigen (const Matx< _Tp, _rows, _cols > &src, Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &dst)
 
template<typename _Tp >
static Eigen::TensorMap< Eigen::Tensor< _Tp, 3, Eigen::RowMajor > > cv::cv2eigen_tensormap (InputArray src)
 cv::Mat のデータをEigen::TensorMapにマッピングする。
 
template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::eigen2cv (const Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > &src, Matx< _Tp, _rows, _cols > &dst)
 
template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::eigen2cv (const Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > &src, OutputArray dst)
 
template<typename _Tp , int _layout>
static void cv::eigen2cv (const Eigen::Tensor< _Tp, 3, _layout > &src, OutputArray dst)
 Eigen::Tensorを cv::Mat に変換する。
 
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)
 

型定義詳解

◆ Affine3d

typedef Affine3<double> cv::Affine3d

◆ Affine3f

typedef Affine3<float> cv::Affine3f

関数詳解

◆ cv2eigen() [1/11]

template<typename _Tp >
static void cv::cv2eigen ( const Mat & src,
Eigen::Matrix< _Tp, 1, Eigen::Dynamic > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [2/11]

template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::cv2eigen ( const Mat & src,
Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [3/11]

template<typename _Tp >
static void cv::cv2eigen ( const Mat & src,
Eigen::Matrix< _Tp, Eigen::Dynamic, 1 > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [4/11]

template<typename _Tp >
static void cv::cv2eigen ( const Mat & src,
Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [5/11]

template<typename _Tp >
static void cv::cv2eigen ( const Mat & src,
Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [6/11]

template<typename _Tp , int _layout>
static void cv::cv2eigen ( const Mat & src,
Eigen::Tensor< _Tp, 3, _layout > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

cv::Mat をEigen::Tensorに変換する。

このメソッドは cv::Mat を形状 (H x W x C) のEigen Tensorに変換する。ここで H = 行数、W = 列数、C = チャンネル数である。

使用例:

Mat a_mat(...);
// populate Mat with values
Eigen::Tensor<float, 3, Eigen::RowMajor> a_tensor(...);
cv2eigen(a_mat, a_tensor);
Comma-separated Matrix Initializer.
Definition mat.hpp:964
static void cv2eigen(const Mat &src, Eigen::Tensor< _Tp, 3, _layout > &dst)
Converts a cv::Mat to an Eigen::Tensor.
Definition eigen.hpp:133
この関数の呼び出しグラフ:

◆ cv2eigen() [7/11]

template<typename _Tp , int _cols>
static void cv::cv2eigen ( const Matx< _Tp, 1, _cols > & src,
Eigen::Matrix< _Tp, 1, Eigen::Dynamic > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [8/11]

template<typename _Tp , int _rows>
static void cv::cv2eigen ( const Matx< _Tp, _rows, 1 > & src,
Eigen::Matrix< _Tp, Eigen::Dynamic, 1 > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [9/11]

template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::cv2eigen ( const Matx< _Tp, _rows, _cols > & src,
Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [10/11]

template<typename _Tp , int _rows, int _cols>
static void cv::cv2eigen ( const Matx< _Tp, _rows, _cols > & src,
Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen() [11/11]

template<typename _Tp , int _rows, int _cols>
static void cv::cv2eigen ( const Matx< _Tp, _rows, _cols > & src,
Eigen::Matrix< _Tp, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ cv2eigen_tensormap()

template<typename _Tp >
static Eigen::TensorMap< Eigen::Tensor< _Tp, 3, Eigen::RowMajor > > cv::cv2eigen_tensormap ( InputArray src)
inlinestatic

#include <opencv2/core/eigen.hpp>

cv::Mat のデータをEigen::TensorMapにマッピングする。

このメソッドは、既存の Mat のデータ配列を、形状 (H x W x C) のEigen TensorMapでラップする。ここで H = 行数、W = 列数、C = チャンネル数である。

戻り値の型を明示的にインスタンス化する必要がある。

覚え書き
呼び出し側は cv::Mat インスタンスのライフタイムを認識し、適切な安全対策を講じる必要がある。cv::Mat インスタンスがデータの所有権を保持し、cv::Mat のデータが解放されると、Eigen::TensorMapはアクセスできなくなる。

以下の例は、cv::Mat を初期化してEigen::TensorMapを生成する。

float arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
Mat a_mat(2, 2, CV_32FC3, arr);
Eigen::TensorMap<Eigen::Tensor<float, 3, Eigen::RowMajor>> a_tensormap = cv2eigen_tensormap<float>(a_mat);
static Eigen::TensorMap< Eigen::Tensor< _Tp, 3, Eigen::RowMajor > > cv2eigen_tensormap(InputArray src)
Maps cv::Mat data to an Eigen::TensorMap.
Definition eigen.hpp:177
#define CV_32FC3
Definition interface.h:109
この関数の呼び出しグラフ:

◆ eigen2cv() [1/3]

template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::eigen2cv ( const Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > & src,
Matx< _Tp, _rows, _cols > & dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ eigen2cv() [2/3]

template<typename _Tp , int _rows, int _cols, int _options, int _maxRows, int _maxCols>
static void cv::eigen2cv ( const Eigen::Matrix< _Tp, _rows, _cols, _options, _maxRows, _maxCols > & src,
OutputArray dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

この関数の呼び出しグラフ:

◆ eigen2cv() [3/3]

template<typename _Tp , int _layout>
static void cv::eigen2cv ( const Eigen::Tensor< _Tp, 3, _layout > & src,
OutputArray dst )
inlinestatic

#include <opencv2/core/eigen.hpp>

Eigen::Tensorを cv::Mat に変換する。

このメソッドは、形状 (H x W x C) のEigen::Tensorを cv::Mat に変換する。ここで H = 行数、W = 列数、C = チャンネル数である。

使用例:

Eigen::Tensor<float, 3, Eigen::RowMajor> a_tensor(...);
// populate tensor with values
Mat a_mat;
eigen2cv(a_tensor, a_mat);
static void eigen2cv(const Eigen::Tensor< _Tp, 3, _layout > &src, OutputArray dst)
Converts an Eigen::Tensor to a cv::Mat.
Definition eigen.hpp:101
この関数の呼び出しグラフ:

◆ operator*() [1/4]

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

#include <opencv2/core/affine.hpp>

V はメンバフィールド x, y, z を持つ3要素ベクトルである。

◆ operator*() [2/4]

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

◆ operator*() [3/4]

static Vec3d cv::operator* ( const Affine3d & affine,
const Vec3d & vector )
static

◆ operator*() [4/4]

static Vec3f cv::operator* ( const Affine3f & affine,
const Vec3f & vector )
static