치수가 400 x 500 인 2D 매트릭스가 있으며 각 매트릭스는 이미지를 표시합니다. 내 프로세스는 2 단계를 포함하고 : I는 I 한 매트릭스matlab을 사용하여 3d 매트릭스를 4d 매트릭스로 변환
제에게 이러한 분할을 각각 저장할 필요))와 동일한 크기의 부분 행렬 행 (
2 분할 행렬이 이미지를 분할 할
1) 단계가 완료되고 2D -> 3D에서 행렬의 차원이 변경됩니다. (마지막 색인은 분할의 색인을 표시합니다)
이제 2 단계에 대해 100 개의 이미지가 있고 마지막 색인이 표시되는 4 차원의 행렬이 필요합니다. 화상 수
s 충분한 : 이미지 (40)의 분할 3 액세스 : 이미 PERMUT를 사용하여 시도하고 바꿀 그러나 여기
성공하지 [:,:,3,40]
어떤 생각을 감상 할 수있다
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
내 코드입니다.
:이 옵션을 선택합니다 마지막 라인을'Im (:, :, :, i-2) = T'로 바꿈으로써'Im'에서? – Wolfie
@ Wolfie 나는 그 대답을 시도했지만 !! – mkafiyan
파이썬에서 왔을 때 들여 쓰기를 수정하려고했습니다 : –