多个JPG文件或者tif文件都行
close all
clear
suffix='.tif';
imgFolder='D:\dateset\DIADEM\Olfactory Projection Fibers\Image Stacks\OP_9\';
SaveName=[imgFolder 'final.tif'];
if ~exist(imgFolder,'dir')
error('image folder not exist')
end
fileNumber = dir(fullfile(imgFolder,['*' suffix]));
for i=1:size(fileNumber,1)
curImgName=[ imgFolder num2str(i) suffix];
img(:,:,i)=imread(curImgName);
end
for k = 1:size(img,3)
imwrite(img(:,:,k),SaveName,'WriteMode','append','Compression','none');
end
disp('save over')
版本2,在这个版本里面还加入了翻转,因为matlab读取之后写入会遇到y轴翻转的问题。
clc
clear
num=1;
folder='D:\dataset\op\Image Stacks\OP_10\';
outerName='op.tif';
%read
while 1
if num<10
img_name=[folder '0' num2str(num) '.tif'];
else
img_name=[folder num2str(num) '.tif'];
end
% img_name=[folder num2str(num) '.tif'];
if exist(img_name,'file')
% disp([' exist ,and read' img_name])
img(:,:,num)=imread(img_name);
else
% disp([img_name ' not exist'])
break;
end
num=num+1;
end
if num==1
error('num==1')
end
save_file_name=[folder outerName];
if exist(save_file_name,'file')
delete(save_file_name)
end
for i=1:size(img,3)
J=uint8(img(:,:,i)); %%一层一层写出图像
% J1=zeros(size(J));
for j=1:size(J,1)
J1(j,:)=J(size(J,1)-j+1,:);
end
imwrite(J1,save_file_name,'WriteMode','Append');
end
disp([ folder 'over'])