im2col

Перестройте блоки изображений в столбцы

Синтаксис

B = im2col(A,[m n],'distinct')
B = im2col(A,[m n],'sliding')
B = im2col(A,[m n])
B = im2col(A,'indexed',___)

Описание

B = im2col(A,[m n],'distinct') перестраивает дискретные блоки изображений размера m-by-n в столбцы и возвращает конкатенированные столбцы в матричном B. Клавиатуры функции im2col отображают A при необходимости. Для получения дополнительной информации о дополнительном значении, смотрите Советы.

Порядок столбцов в матричном B определяется путем пересечения изображения A постолбцовым способом. Например, если A состоит из отличных блоков Aij, расположенный как A = [A11 A12; A21 A22], то B = [A11(:) A21(:) A12(:) A22(:)].

пример

B = im2col(A,[m n],'sliding') или

B = im2col(A,[m n]) перестроения, двигающие окружения изображений размера m-by-n в столбцы без дополнения нуля, и, возвращают конкатенированные столбцы в матричном B.

B = im2col(A,'indexed',___) интерпретирует A как индексируемое изображение.

Примеры

свернуть все

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

A = reshape(linspace(0,1,16),[4 4])'
A = 4×4

         0    0.0667    0.1333    0.2000
    0.2667    0.3333    0.4000    0.4667
    0.5333    0.6000    0.6667    0.7333
    0.8000    0.8667    0.9333    1.0000

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

B = im2col(A,[2 2])
B = 4×9

         0    0.2667    0.5333    0.0667    0.3333    0.6000    0.1333    0.4000    0.6667
    0.2667    0.5333    0.8000    0.3333    0.6000    0.8667    0.4000    0.6667    0.9333
    0.0667    0.3333    0.6000    0.1333    0.4000    0.6667    0.2000    0.4667    0.7333
    0.3333    0.6000    0.8667    0.4000    0.6667    0.9333    0.4667    0.7333    1.0000

Вычислите среднее значение.

M = mean(B)
M = 1×9

    0.1667    0.4333    0.7000    0.2333    0.5000    0.7667    0.3000    0.5667    0.8333

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

newA = col2im(M,[1 1],[3 3])
newA = 3×3

    0.1667    0.2333    0.3000
    0.4333    0.5000    0.5667
    0.7000    0.7667    0.8333

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

свернуть все

Отобразите, заданный как 2D полутоновое изображение, 2D двухуровневое изображение или 2D индексируемое изображение.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Размер блока, заданный как вектор с 2 элементами. m является количеством строк, и n является количеством столбцов в блоке.

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

свернуть все

Отобразите блоки, возвращенные как числовая матричная или логическая матрица со строками m*n. Количество столбцов зависит от того, являются ли блоки изображений дискретными блоками или скользящими окружениями. Каждый столбец B содержит блок или окружение A, измененного как вектор-столбец.

  • Для отличной обработки блока B имеет столько же столбцов, сколько существует m-by-n блоки в A. Например, если размером A является [mm nn], то B имеет столбцы (mm/m)*(nn/n).

  • Для скольжения обработки окружения B имеет столько же столбцов, сколько существует m-by-n окружения A. Например, если размером A является [mm nn], то B имеет столбцы ((mm-m+1)*(nn-n+1)).

Советы

  • Для отличной обработки блока, нулевые клавиатуры im2col A, при необходимости, таким образом, его размер является целочисленным кратным m-by-n. Дополнительным значением является 0, когда A является типом данных uint8, uint16 или logical. Для других типов данных значение дополнения зависит от того, интерпретирован ли A как индексируемое изображение.

    • Дополнительным значением является 1, когда A интерпретирован как индексируемое изображение.

    • Дополнительным значением является 0, когда A не интерпретирован как индексируемое изображение.

  • im2col заказывает столбцы B так, чтобы они могли быть изменены, чтобы сформировать матрицу согласно reshape.

    Например, предположите, что вы используете функцию, такую как sum(B), который возвращает скаляр для каждого столбца B. Можно непосредственно сохранить результат в матрице размера (mm-m+1) (nn-n+1), с помощью этих вызовов.

    B = im2col(A,[m n],'sliding');
    C = reshape(sum(B),mm-m+1,nn-n+1);

Смотрите также

| | | |

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