我有尺寸爲400 x 500的二維矩陣,每個矩陣都顯示一個圖像。我的過程包含兩個步驟:使用matlab將3d矩陣轉換爲4d矩陣
1)I不得不分割矩陣分割這些圖像(以相等大小的子矩陣)
2)I具有到每個這些分割保存在一個矩陣
第一步驟完成,矩陣變化的尺寸從2D→3D(最後一個索引顯示分割索引)
現在對於步驟2我有100個圖像,我想要有4維的矩陣,最後一個索引顯示圖片數量
s充足:訪問圖像40分3:[:,:,3,40]
我已經嘗試使用PERMUT和重塑,但沒有成功
這裏是我的代碼
nCol = 10;
nRow = 4;
K=dir(p);
Len=length(K);
for i=3:Len
x1=imread(strcat(p,'\',K(i).name));
[m,n,d1]=size(x1);
if d1==1
x=double(x1);
else
x=double(rgb2gray(x1));
end
x=imresize(x,NN);
%% determined width and height of divided matrix %%%%%%%%%%%%%%%%%%%%%%%%%%
m = size(x,1)/nRow;
n = size(x,2)/nCol;
T = permute(reshape(permute(reshape(x, size(x, 1), n, []), [2 1 3]), n, m, []), [2 1 3]);
Im=[Im T(:,:,:,i-2)];
end
任何想法,將不勝感激。
如果你在'T'新圖像的3D矩陣,你能不能存儲此通過改變你的最後一行到'Im(:,:,:,i-2)= T',在'Im'中? – Wolfie
@Wolfie我試過,但沒有答案! – mkafiyan
來自Python,正準備告訴你修復你的縮進:) –