Перестройте блоки изображений в столбцы
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);