2013-07-31 189 views
0

我有3个2D矩阵,每个矩阵代表某个维度(x,y和z)中的值以及每个大小为640x480的矩阵。我希望把他们所有的大小307200x3的新矩阵,矩阵将有307200行和每列载有X,Y和Z值 e.g从当前3个2D矩阵创建新的3D矩阵

x y z 
1 3 4 
2 1 3 
3 1 1 
. 
. 
. 
307200 rows 

等。任何人都可以告诉我我该怎么做?

回答

1

你在找吗?

A = [x(:) y(:) z(:)]; 
+0

如果我想将A改回X,Y和Z矩阵? – Tak

+1

'X = reshape(A(:,1),[640,480])' – Dan

+0

@丹感谢丹,以及如果我想让X = 640x480x3承载所有维度会怎么样? – Tak

0

你可以试试这个:

final_img(:,:,1)= img1; 
final_img(:,:,2)= img2; 
final_img(:,:,3)= img3; 

final_img现在是3D图像,而IMG1,IMG2,IMG3是2D图像。

+0

这是给307200x1x3不307200x3 – Tak

+0

没关系尝试: 如果** IMG1,IMG2,IMG3 **是在灰度,则: 'Z = LUT(img1,1);'' Z =重塑(Z ,size(img1));' 'final_img(:,:,1)= z;' 'z = LUT(img2,2);' 'z = reshape(z,size(img2));'' (:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,作者, 3)= z;' 那就是它! –