我试图使用MATLAB打开顶部和底部只有两个图像的蒙太奇。 MATLAB默认为左/右方向。我尝试过蒙太奇(图片,'尺寸',[2 1]),但这仍然给我左/右方向,但只是在下面添加一个空白行。
答案 0 :(得分:0)
montage
默认为您提供左/右蒙太奇,您无法更改。如果要将图像堆叠在一起,假设图像大小相同,请使用cat
。假设您的图片名为A
和B
,请执行以下操作:
C = cat(1, A, B);
imshow(C);
如果您的图片不是相同的尺寸,那么我们可以做的是确保列的大小相同,创建新的图像,将列重新排列,然后将它们堆叠在顶部彼此的。假设A
和B
都有相同数量的频道:
rows1 = size(A, 1);
cols1 = size(A, 2);
rows2 = size(B, 1);
cols2 = size(B, 2);
C = zeros(rows1 + rows2, max(cols1, cols2), size(A, 3), class(A));
C(1:rows1, 1:cols1, :) = A;
C(rows1+1:end, 1:cols2, :) = B;
imshow(C);
前四行确定每个图像的行和列。接下来,我们创建一个空白图像,其中行数只是两个图像的总和,但列数是两个图像的更大。这是为了适应列中最大尺寸的图像。我们还确保将输出转换为与A
(或假设相同类型的B
)相同的类。完成后,您只需将第一张图片放在C
的顶部,然后将C
底部的第二张图片偏移rows1
(A
的行数(-XX:GCTimeRatio=19 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30
的行数1}})。