주요 콘텐츠

col2im

행렬의 열을 블록으로 재배열

설명

A = col2im(B,[m n],[M N]) 또는

A = col2im(B,[m n],[M N],'sliding')은 행 벡터 B를 크기가 m×n인 이웃으로 재배열하여 크기가 (M-m+1)×(N-n+1)인 행렬 A를 생성합니다.

행 벡터 B는 일반적으로 sum과 같은 열 압축 함수를 사용하여 im2col(...,'sliding')의 출력값을 처리한 결과입니다.

A = col2im(B,[m n],[M N],'distinct')는 행렬 B의 각 열을 별도의 m×n 블록으로 재배열하여 크기가 M×N인 행렬 A를 생성합니다.

예를 들어 B가 길이가 m*n인 열 벡터 Bi(:)로 구성되고 B = [B1(:) B2(:) B3(:) B4(:)]로 배열된 경우 A = [B1 B3; B2 B4]이고, 여기서 각 블록 Bi의 크기는 m×n입니다.

예제

예제

모두 축소

행렬을 만듭니다.

B = reshape(uint8(1:25),[5 5])'
B = 5×5 uint8 matrix

    1    2    3    4    5
    6    7    8    9   10
   11   12   13   14   15
   16   17   18   19   20
   21   22   23   24   25

행렬의 값을 열 방향으로 재배열합니다.

C = im2col(B,[1 5])
C = 5×5 uint8 matrix

    1    6   11   16   21
    2    7   12   17   22
    3    8   13   18   23
    4    9   14   19   24
    5   10   15   20   25

행렬의 값을 원래의 행 방향으로 재배열합니다.

A = col2im(C,[1 5],[5 5],'distinct')
A = 5×5 uint8 matrix

    1    2    3    4    5
    6    7    8    9   10
   11   12   13   14   15
   16   17   18   19   20
   21   22   23   24   25

입력 인수

모두 축소

영상 블록으로, 다음 중 하나로 지정됩니다.

  • 개별 블록 처리의 경우, Bm*n개 행을 갖는 숫자형 또는 논리형 행렬입니다. 각 열은 하나의 블록에 대응됩니다.

  • 슬라이딩 이웃 처리의 경우 B는 크기가 1×(M-m+1)*(N-n+1)인 숫자형 또는 논리형 행 벡터입니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

블록 크기로, 양의 정수로 구성된 요소를 2개 가진 벡터로 지정됩니다. m은 각 블록의 행 개수이고 n은 열 개수입니다. m*nB의 행 개수와 같아야 합니다.

데이터형: double

영상 크기로, 양의 정수로 구성된 요소를 2개 가진 벡터로 지정됩니다. M은 영상의 행 개수이고 N은 열 개수입니다.

데이터형: double

출력 인수

모두 축소

복원된 영상으로, 개별 블록 처리의 경우 크기가 M×N인 숫자형 행렬, 또는 슬라이딩 블록 처리의 경우 크기가 (M-m+1)×(N-n+1)인 숫자형 행렬로 반환됩니다. AB와 데이터형이 동일합니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |