【问题标题】:C++ Submatrix from a Multidimensional Vector/Matrix来自多维向量/矩阵的 C++ 子矩阵
【发布时间】:2024-06-16 06:05:01
【问题描述】:

在 MSVS C++ 中,我有一个多维向量(矩阵)。我没有使用数组。

例如:

vector< vector<float> > image(1056, vector<float>(366));

在另一个来源的向量中包含数据后,如何根据像素坐标和所需的列数和行数从该矩阵创建子矩阵?

例如,我有:

1  2  3  4
5  6  7  8
9  10 11 12

我想要:

6  7
10 11

看起来很基本,但我对这个概念很陌生。有示例,但它们使用数组,我无法根据自己的需要更改示例。

【问题讨论】:

  • 看看 Boost.uBlas 如果你有很多这类事情要做并且性能不是那么重要

标签: c++ visual-studio vector matrix submatrix


【解决方案1】:

没有简单的方法可以做到这一点。您应该创建所需大小的新二维数组并将数据片段复制到其中。

您可能希望通过某些视图访问矩阵,这将是代理类,将视图索引映射到底层数据索引

【讨论】: