matlab 图片叠加
clear;
clc;
%图片叠加
A1 = imread('E:\rc\result09-27\result\test1+2+3\xuan110-70 (101).tiff');
A2 = imread('E:\rc\result09-27\result\red101.tiff');
%A1=A1.*255;
% A2 = im2bw(A2);
% A2=uint8(A2);
% % imgA1(:,:,1) = A1;
% % imgA1(:,:,2) = A1;
% % imgA1(:,:,3) = A1;
K = imlincomb(0.85,imgA1,0.15,A2);
subplot(1,3,1),subimage(A1);
title('原始图像1');
subplot(1,3,2),subimage(A2);
title('原始图像2');
subplot(1,3,3),subimage(K);
title('0.5X图像1+0.5X图像2');
% K=uint8(K);
figure;imshow(K);
imwrite(K,'E:\rc\result09-27\result\叠加101.tiff');
%根据相关图片类型来改
批量叠加的话
clc %批量叠加
close all
clearvars
p1 = dir('G:\图片\tiff');
p2 = dir('G:\图片\resulttiff');
for idx1 = 3: 32
name = ['G:\图片\tiff\' p1(idx1).name];
A1 = imread(name);
% for idx2 = 3: 32
name = ['G:\图片\resulttiff\' p2(idx1).name];
A2 = imread(name);
imgA2(:,:,1) = A2;
imgA2(:,:,2) = A2;
imgA2(:,:,3) = A2;
A1=uint8(double(A1)/65535*255);
K = imlincomb(0.5,A1,0.5,imgA2);
% K = imlincomb(0.5,img1,0.5,img2);
imwrite(K,['G:\图片\新建文件夹\' p1(idx1).name]);
imwrite(K,['G:\图片\新建文件夹\' p2(idx1).name]);
% end
end
我的A1是unit16的,要先转成unit8的,但有可能损失信息。