Собственная матрица в cpp - PullRequest
0 голосов
/ 27 января 2020

Как создать динамическую c 3d матрицу с использованием библиотеки Eigen. и как можно нарезать конкретный канал, в этом срезе канала некоторую высоту и ширину?

пример:

Я хочу создать матрицу размером 3 * 320 * 240 (здесь ширина и высота канала известны в время выполнения), а затем выберите срез 3 * 3 в каждом канале.

1 Ответ

0 голосов
/ 27 января 2020

Возможно что-то вроде этого:

#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;
}

...