将2D矩阵转换为3D矩阵?

问题描述:

我有一个尺寸为65536 × 1的2D矩阵,如果我想在MATLAB中将它转换为3D,首先我应该将其转换为256 × 256,然后将256 × 256转换为3D。将2D矩阵转换为3D矩阵?

任何人都可以帮助我吗?

+1

它是如何应该工作? 6656 * 3 = 19968个元素,而256 * 256 = 65536个元素!?要更改尺寸,请使用'reshape' – tim

+0

sry,我犯了一个错误,输入矩阵是65536 * 1 – user3223551

+0

...以及您希望3D矩阵有多大? –

要将灰度图像(即不知何故已矢量)转换成RGB图像,只是灰度强度复制到RGB层:

%// first, reshape 
img = reshape(img, 256, 256); 

%// then, copy 
img = repmat(img, [1 1 3]); 
+0

谢谢,A是图像的3D输出矩阵? – user3223551

+0

'img'是...为什么不简单地尝试一下呢? – tim

+0

@ user3223551:我已经更新了我的答案以满足您的要求。为了将来的参考,这是一个[XY问题]的典型例子(http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem);请询问您的*原创*问题,而不是您尝试解决原始问题时遇到的问题。包括您尝试的解决方案,以及为什么失败。 –