在matlab中融合2个以上的图像

oop

在MATLAB中,如何融合两个以上的图像?例如,我想做什么imfuse,但是要超过2张图像。使用两个图像,这是我的代码:

A = imread('file1.jpg');
B = imread('file2.jpg');

C = imfuse(A,B,'blend','Scaling','joint'); 

C将融合的版本AB我有约50张图像需要融合。我该如何实现?

雷瑞恩

你可以写一个for循环,那么只需有一个图像的存储所有的融合结果,并多次与融合你读一个新的形象这一形象。因此,让我们说你的图片是从命名file1.jpgfile50.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章