matlab中18张彩色图片的基于L1范数的全变分图像融合算法的代码
时间: 2023-09-08 14:07:35 浏览: 167
以下是基于L1范数的全变分图像融合算法对18张彩色图片进行融合的Matlab代码:
```matlab
clc;clear;close all;
% 读取18张彩色图片
image1 = imread('1.jpg');
image2 = imread('2.jpg');
image3 = imread('3.jpg');
image4 = imread('4.jpg');
image5 = imread('5.jpg');
image6 = imread('6.jpg');
image7 = imread('7.jpg');
image8 = imread('8.jpg');
image9 = imread('9.jpg');
image10 = imread('10.jpg');
image11 = imread('11.jpg');
image12 = imread('12.jpg');
image13 = imread('13.jpg');
image14 = imread('14.jpg');
image15 = imread('15.jpg');
image16 = imread('16.jpg');
image17 = imread('17.jpg');
image18 = imread('18.jpg');
% 将18张图片存储在一个cell数组中
image_cell = {image1,image2,image3,image4,image5,image6,...
image7,image8,image9,image10,image11,image12,...
image13,image14,image15,image16,image17,image18};
% 基于L1范数的全变分图像融合算法对18张图片进行融合
weight = 0.5; % 权值
fusion_image = image_cell{1};
for i = 2:length(image_cell)
fusion_image = TV_L1_fusion(fusion_image, image_cell{i}, weight);
end
% 显示融合结果
figure;
subplot(1,2,1);
imshow(image_cell{1});
title('原始图片1');
subplot(1,2,2);
imshow(fusion_image);
title('融合结果');
```
其中,image_cell表示存储18张彩色图片的cell数组,TV_L1_fusion函数表示基于L1范数的全变分图像融合算法,weight表示权值。通过循环调用TV_L1_fusion函数,将18张图片进行融合,并将最终融合结果显示出来。
阅读全文