在MATLAB中,如何融合两个以上的图像?例如,我想做什么imfuse
,但是要超过2张图像。使用两个图像,这是我的代码:
A = imread('file1.jpg');
B = imread('file2.jpg');
C = imfuse(A,B,'blend','Scaling','joint');
C
将融合的版本A
和B
。我有约50张图像需要融合。我该如何实现?
你可以写一个for
循环,那么只需有一个图像的存储所有的融合结果,并多次与融合你读一个新的形象这一形象。因此,让我们说你的图片是从命名file1.jpg
到file50.jpg
。您可以执行以下操作:
A = imread('file1.jpg');
for idx = 2 : 50
B = imread(['file' num2str(idx) '.jpg']); %// Read in the next image
A = imfuse(A, B, 'blend', 'Scaling', 'joint'); %// Fuse and store into A
end
上面的代码将执行以下操作:重复读取下一张图像,并将其与中存储的图像融合A
。在每次迭代时,它将使用当前的内容A
,将其与新图像融合,然后将其存储回中A
。这样,当我们继续阅读图像时,我们将继续在新的图像融合之前融合新图像。在此之后for
循环完成后,您将拥有全部融合在一起的50张图片。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句