如何在matlab中添加两个不同宽度的图像? (将它们缝合在一起)。
Img3 = imadd(Img1, Img2_new);
不起作用。它需要行和列的同一个人..
B图像比A图像宽。 这是我想要的结果:
理想的是,如果我可以改变图像A的边界框的大小(添加更多的黑色部分)然后imadd将工作
由于
答案 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);