0
我想刪除空白(= 0)的cols並在圖像的3D堆棧2D圖像行,然後生成一個新的3D堆棧:MATLAB:下標分配維度不匹配:y(:,:,j,i)= x;
for i=1:numVols;
for j=1:numFrames; % Crop black boundaries
tempvol = VolStack(:,:,j,i);
tempvol(:,all(tempvol==0,1))=[];
tempvol(all(tempvol==0,2),:)=[];
VolStackTemp(:,:,j,i) = tempvol;
end
end
奇怪的是,它有時但大部分一次,我得到一個錯誤,由於行:
VolStackTemp(:,:,j,i) = tempvol;
下標賦值尺寸不符
任何想法,爲什麼?
這是不可能的,因爲'tepvol'在每次迭代中都有不同的大小。矩陣在每個切片中始終具有相同的大小。 – Daniel 2015-02-11 10:40:27
你將不得不使'VolStackTemp'成爲一個單元矩陣 – Dan 2015-02-11 10:43:52
謝謝..應該已經意識到了!有時對於我的數據,tempvol與3D堆棧中所有2D圖像的大小相同,但其他時間會隨着您的提及而變化(例如,對於j = 1到130,大小(tempvol)= 487 391,但對於j = 131,大小(tempvol)= 486 391)。作爲解決方案,我認爲,對於堆疊的第一個2D圖像,我將按照上述方式進行裁剪,但對於所有後續的2D圖像使用相同的(第一個2D圖像的)二維尺寸。 – 2one 2015-02-11 10:48:05