我有一个尺寸为25(行)x 320(cols)x 235(通道)的3D矩阵
对于25行中的每一行,我想提取2D切片(320 x 235),以便我有25个2D矩阵。
我不确定如何在OpenCV中执行此操作。
我想过转置3D矩阵,以便我有320(行)x 235(cols)x 25(通道),然后使用split来获得25个矩阵,但转置似乎不起作用(MATLAB没有' t甚至允许在多维数组上进行转置)
然后我尝试重塑无济于事。是否可以使用NAryMatIterator?或者,如果有其他方法来执行此过程?
答案 0 :(得分:3)
您可以使用row()函数获取给定行的新标题,只需在每行调用if并存储它们。这是一个O(1)操作,因为没有复制数据,请注意您所做的任何更改都将反映在原始矩阵中。可能有一个更优雅的解决方案,但我不知道它。其余的取决于你想如何存储你的25个矩阵(在一个数组,向量,你想要的任何东西)。 Mat文档可以找到here虽然结构不是很好。