Ошибка - именно то, что говорится: индексы должны быть целыми или логическими. Когда вы пытаетесь индексировать, используя img1
, скорее всего, он содержит нецелые числа, что выдает ошибку. Вот что вы должны сделать:
E=[img1; img2; img3];%#combine the images
E1=E(1:512,:,:);
E2=E(513:1024,:,:);
E3=E(1025:end,:,:);
Вы также можете сделать это более элегантно, как
imgDim=size(img1,1);%# since they're all equal dimensions, we'll need just one.
imgCell=mat2cell(E,[imgDim,imgDim,imgDim],imgDim,3);%# create a cell
[E1, E2, E3]=deal(imgCell{:});%#distribute contents of cell