Из вашего описания звучит, что вы хотите построить блочно-диагональную матрицу из двух изображений, поскольку тогда размер результата будет суммой размеров (по каждому измерению). Способ сделать это - использовать функцию blkdiag
:
img1 = randn(70,100);
img2 = randn(50,110);
img = blkdiag(img1,img2);
imshow(img)
Конечно, недиагональные блоки дополняются нулями.
EDIT:
Отвечая на уточненный вопрос, вы должны заполнить более короткое изображение нулями, чтобы оно стало на той же высоте, что и более длинное изображение. Тогда вы можете объединить их рядом. Если предположить, что img1
длиннее , это будет выглядеть примерно так:
h1 = size(img1, 1);
[h2, w2] = size(img2);
img2a = [img2; zeros(h1-h2, w2)];
img = [img1, img2a];