matlab添加不同宽度的图像

时间:2014-05-07 21:52:10

标签: matlab image-processing

如何在matlab中添加两个不同宽度的图像? (将它们缝合在一起)。

Img3 = imadd(Img1, Img2_new);

不起作用。它需要行和列的同一个人..

B图像比A图像宽。 这是我想要的结果: enter image description here

理想的是,如果我可以改变图像A的边界框的大小(添加更多的黑色部分)然后imadd将工作

由于

1 个答案:

答案 0 :(得分:0)

目前还不清楚你的意思是"拼接"。通常这意味着连接 - 水平或垂直。如果图像的大小不同,那么如何连接并不是很明显。

最简单的做法是将两个图像(A,B)重新缩放为相同的大小 - 在这样做的例子之下(使B的大小为A,然后添加):

Br = imresize(B,size(A));
C = imadd(A,Br);

如果您的意思是"连接",那么您将使用

C = [A Br];

将图片放大,或

C = [A; Br];

将A放在B

之上

编辑现在你展示了你真正想要的东西!解决方案是

C=B;
r=size(A,1); c=size(A,2);
C(1:r,1:c) = C(1:r,1:c)+A;

或者如果您想使用imadd

Ab = zeros(size(B));
r=size(A,1); c=size(A,2);
Ab(1:r,1:c) = Ab(1:r,1:c)+A;
C=imadd(Ab,B);