Я пытался поиграться с циклами, перестановками и т. Д., И я не могу решить эту проблему, помощь будет очень признательна.
У меня есть RGB-изображение, которое я обработал, и оно имеет вид:
image = [ 1 1
1 1
2 2
2 2
3 3
3 3
4 4
4 4 ];
Я хочу преобразовать вышеуказанную матрицу этого изображения в реальное изображение.
Окончательное изображение будет выглядеть так:
new_image=[ 1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4 ];
Очевидно, что изображение, с которым я работаю, намного больше, чем 4x4x3. Как я могу решить эту проблему?
EDIT:
Essential Я ищу оптимизированный способ выполнения команды изменения формы для «блоков». Я определяю блок примерно так:
block1 = [ 1 1
1 1];
и у меня есть блочный вектор, например:
blockvector = [ block1
block2
block3
block4 ];
Я хочу изменить этот «блочный вектор» аналогично команде изменения формы.
a=[ 1
2
3
4];
newa = reshape(a,[2,2])';
% newa = [1 2
% 3 4];