OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
Eigen 支援

詳細描述

這些函式旨在實現 OpenCV-Eigen 互操作性。它們將 Mat 物件轉換為相應的 Eigen::Matrix 物件,反之亦然。有關 Matrix 模板型別的資訊,請查閱 Eigen 文件

注意
使用這些函式需要在此標頭檔案之前包含 Eigen/Dense 或類似的標頭檔案。

名稱空間

名稱空間  cv::traits
 

類  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 的三元素向量。
 
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(...);
// 用值填充 Mat
Eigen::Tensor<float, 3, Eigen::RowMajor> a_tensor(...);
cv2eigen(a_mat, a_tensor);
n 維密集陣列類
定義 mat.hpp:830
static void cv2eigen(const Mat &src, Eigen::Tensor< _Tp, 3, _layout > &dst)
將 cv::Mat 轉換為 Eigen::Tensor。
定義 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)
將 cv::Mat 資料對映到 Eigen::TensorMap。
定義 eigen.hpp:177
#define CV_32FC3
定義 interface.h:120
此函式的呼叫圖如下

◆ 永久連結 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(...);
// 用值填充 tensor
Mat a_mat;
eigen2cv(a_tensor, a_mat);
static void eigen2cv(const Eigen::Tensor< _Tp, 3, _layout > &src, OutputArray dst)
將 Eigen::Tensor 轉換為 cv::Mat。
定義 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 的三元素向量。

◆ 永久連結 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