2011-03-06 2 views

답변

1

mat2cell을 통해 셀 배열을 얻은 경우 이미지 블록을 배열 X 열에 정렬 할 수 있습니다. 이것은 명령을 사용하여 단일 단계에서 얻을 수 있습니다. IM2COL

%# rearrange the large array so that each column of X 
%# corresponds to the 4 pixels of each 2-by-2 block 
X = im2col(largeArray,[2 2],'distinct'); 
+0

우수한, 이것이 내가 찾고 있었던 정확하게 것이었다! 그리고 실제로, 위의 코드의 문맥은 PCA 이미지 분석입니다. – ptikobj

3
reshape(cat(3,P{:}),[numel(P{1}) n]) 

물론 위의 해결책은 단지 재미를위한 것입니다. 두 가지 솔루션을 모두 프로파일 링하는 것이 좋을 것 같습니다.

유지 관리 및 가독성은 코드 작성시 고려해야 할 중요한 요소입니다.

1

당신은 멀리 얻을 수 있습니다

P{1} = [ 1 2; 3 4]; 
P{2} = [ 7 8; 9 10]; 
P{3} = [ 11 12; 13 14]; 
X = [P{:}] 

X = 

    1  2  7  8 11 12 
    3  4  9 10 13 14 

그런 다음 모양 변경() 어떤 종류의 당신이 원하는 곳으로 얻을.

관련 문제