【问题标题】:Eigen matrix in cppcpp中的特征矩阵
【发布时间】:2020-05-12 23:00:21
【问题描述】:

如何使用 Eigen 库创建动态 3d 矩阵。以及如何切片特定通道,在该通道中切片一些高度和宽度?

示例:

我想创建一个大小为3 * 320 * 240 的矩阵(此处通道宽度和高度在运行时已知),然后在每个通道中选择3 * 3 的切片。

【问题讨论】:

标签: c++ tensorflow eigen eigen3


【解决方案1】:

大概是这样的:

#include <iostream>
#include <vector>
#include <Eigen/Dense>

using namespace Eigen;
int main()
{
    int a = 320;
    int b = 240;

    // Create as many as you want, probably better in a loop.
    MatrixXd m(a, b);
    MatrixXd n(a, b);
    MatrixXd o(a, b);

    std::vector<MatrixXd> v;
    v.push_back(m);
    v.push_back(n);
    v.push_back(o);

    std::cout << v.at(0)(0, 1) << std::endl;
}

【讨论】:

  • 应该是v.at(channel_no).block&lt;3, 3&gt;(i,j),因为 OP 询问了 3x3 切片。
猜你喜欢
  • 2022-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-09-25
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 2011-09-29
  • 2012-08-08
相关资源
最近更新 更多