Перестройте блоки изображений в столбцы
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(:)]
.
Для отличной обработки блока, нулевые клавиатуры 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);