【发布时间】:2023-03-23 20:35:02
【问题描述】:
在 Python 中,我通常使用 vstack、stack 等函数,通过将 2D 数组堆叠在一起来轻松创建 3D 数组。
在 C++ 中有没有办法做到这一点?
特别是,我已经使用 OpenCV 将图像加载到 Mat 变量中,例如:
cv::Mat im = cv::imread("image.png", 0);
我想通过堆叠该 Mat 变量的副本来制作 N 层的 3D 数组/Mat。
编辑:这个新的 3D 矩阵必须是“可移动的”,方法是向它的任何组件添加一个整数,这样如果我在位置 (x1,y1,1) 并且我添加+1 到最后一个组件,我到达 (x1,y1,2)。对于 3D 矩阵的任何坐标/分量也是如此。
已解决:@Aram 和 @Nejc 的两个答案都符合预期。我将@Nejc 的答案设置为他较短代码的正确答案。
【问题讨论】: