【发布时间】:2018-02-15 17:42:46
【问题描述】:
我在caffe 中有一个模型,它产生一个多维数组。这个数组的大小是[1x10x8x8],所以在python中我对这个大小没有问题,因为python会自动管理这个数组并且我知道其中元素的顺序。但是当我用 c++ 切换到opencv 时,整个数组是一个向量,我不知道如何重新生成类似 python 数组的东西,我使用cv::NAryMatIterator 来访问下面这样的多维数组
const cv::Mat* arrays[]={&prob,0}; //my multi-dimensional array is prob
cv::Mat my_planes[1];
cv::NAryMatIterator it(arrays,my_planes);
cv::Mat Multi_Array ; //temporary Mat
for (int p = 0; p < it.nplanes; ++p,++it) {
Multi_Array = it.planes[0];
}
这样做之后,我看到Multi_Array 的大小是[640x1],这似乎等于python 产生的8x8x10。有没有办法一一访问8x8飞机?
编辑:我的多维数组大小是[1x10x8x8]
【问题讨论】:
-
这些答案是否有助于您解决问题?投票给那些做过的人,然后点击复选框来选择这个问题的最佳答案。通过做这些事情,您正在帮助像您这样的未来访客。
-
同样的问题,新的一年。
-
@karlphillip,我完全忘记了这个问题,如果我找到关于 caffe 的文档,我会发布我对这个问题的答案:)