Переставьте блоки изображений в столбцы
переставляет дискретные блоки изображений размера B = im2col(A,[m n],'distinct')m-by- n в столбцы и возвращает конкатенированные столбцы в матрице B. The im2col function pads image 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) -by- (nn-n+1), используя эти вызовы.
B = im2col(A,[m n],'sliding');
C = reshape(sum(B),mm-m+1,nn-n+1);