col2im

Переставьте матричные столбцы в блоки

Описание

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

A = col2im(B,[m n],[M N],'sliding') переставляет вектор-строку B в кварталы размера m-by- n чтобы создать матрицу A размера (M-m+1)-by- (N-n+1).

Область вектора-строки B обычно является результатом обработки выхода im2col(...,'sliding') использование функции сжатия столбцов, например sum.

пример

A = col2im(B,[m n],[M N],'distinct') переставляет каждый столбец матрицы B в отдельную m-by- n блок для создания матрицы A размера M-by- N.

Для примера, если B состоит из векторов-столбцов Bi(:) с m*n длины, расположенной следующим образом B = [B1(:) B2(:) B3(:) B4(:)], затем A = [B1 B3; B2 B4] где каждый блок Bi имеет размер m-by- n.

Примеры

свернуть все

Создайте матрицу.

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

Переставьте значения в матрице в столбцовое расположение.

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

Переставьте значения в матрице назад в их исходную ориентированную по строкам ориентацию.

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

Входные параметры

свернуть все

Блоки изображений, заданные как один из следующих.

  • Для отдельной обработки блоков, B является числовой или логической матрицей с m*n строки. Каждый столбец соответствует одному блоку.

  • Для обработки скользящего района, B является числовым или логическим вектором-строкой размера 1-by- (M-m+1)*(N-n+1).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Размер блока, заданный как 2-элементный вектор положительных целых чисел. m количество строк и n количество столбцов в каждом блоке. m*n должно быть равно количеству строк B.

Типы данных: double

Размер изображения, заданный как 2-элементный вектор положительных целых чисел. M количество строк и N количество столбцов в изображении.

Типы данных: double

Выходные аргументы

свернуть все

Восстановленное изображение, возвращенное как числовая матрица размера M-by- N для отдельной обработки блоков или (M-m+1)-by- (N-n+1) для обработки скользящих блоков. A имеет тот совпадающий тип данных что и B.

См. также

| | | |

Представлено до R2006a