Main Content

col2im

Reordenar las columnas de una matriz en bloques

Descripción

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

A = col2im(B,[m n],[M N],'sliding') reordena el vector fila B en entornos de tamaño m por n para crear la matriz A de tamaño (M-m+1) por (N-n+1).

El vector fila B suele ser el resultado de procesar la salida de im2col(...,'sliding') mediante una función de compresión de columnas, como sum.

ejemplo

A = col2im(B,[m n],[M N],'distinct') reordena cada columna de la matriz B en un bloque distinto de m por n para crear la matriz A de M por N.

Por ejemplo, si B consta de vectores columna Bi(:) con longitud m*n, dispuestos como B = [B1(:) B2(:) B3(:) B4(:)], entonces A = [B1 B3; B2 B4], donde cada bloque Bi tiene un tamaño de m por n.

Ejemplos

contraer todo

Cree una matriz.

B = reshape(uint8(1:25),[5 5])'
B = 5x5 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

Reordene los valores de la matriz en disposición por columnas.

C = im2col(B,[1 5])
C = 5x5 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

Reordene los valores de la matriz para que vuelvan a su orientación original por filas.

A = col2im(C,[1 5],[5 5],'distinct')
A = 5x5 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

Argumentos de entrada

contraer todo

Bloques de imágenes, especificados como una de las siguientes opciones:

  • En el procesamiento en bloques distintos, B es una matriz numérica o lógica con m*n filas. Cada columna corresponde a un bloque.

  • En el procesamiento en entornos deslizantes, B es un vector fila numérico o lógico de tamaño 1 por (M-m+1)*(N-n+1).

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Tamaño del bloque, especificado como vector de 2 elementos de enteros positivos. m es el número de filas y n es el número de columnas de cada bloque. m*n debe ser igual al número de filas de B.

Tipos de datos: double

Tamaño de la imagen, especificado como vector de 2 elementos de enteros positivos. M es el número de filas y N es el número de columnas de la imagen.

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen reconstruida, devuelta como matriz numérica de M por N en el procesamiento en bloques distintos, o de (M-m+1) por (N-n+1) en el procesamiento en bloques deslizantes. A tiene el mismo tipo de datos que B.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |