2016-11-12 62 views
0

我有(n)图像的大小为128x128(m)。我需要将这些图像重新格式化为矩阵(27x16384),其格式为n x m矩阵。如何使用MATLAB重新格式化图像

我与MATLAB 唯一的解决办法的工作,我发现是组织他们为128x34563456x128

+0

你的描述是有点难度了解。你是说你有一个'128x128x27'矩阵,你想要重塑为'27x16384'? – beaker

+0

是的请,但不使用重塑 – hajer

+0

为什么你不想使用'reshape'?它会给出错误的结果吗? – beaker

回答

0

的最简单的方法是reshape的图像转换成27个列向量,然后转置:然后

m = 128; n = 128; p = 27; 
images = rand(m, n, p); 

row_images = reshape(images, m*n, p).'; 

所得矩阵将具有适当的尺寸:

>> size(row_images) 
ans = 
     27 16384 
+0

谢谢,但是通过整形,图像中的所有信息都会更改 – hajer

+0

没有信息发生变化,只是重新排列。如果你想以不同的顺序提供信息,你需要更具体地了解你想要的内容。 – beaker

+0

@hajer你认为哪些信息被'reshape'改变了?你有一个例子吗? – beaker