why append does not working

29 次查看(过去 30 天)
Rore
Rore 2022-9-2
编辑: Rore 2022-9-3
I'm trying to save multiple images in file
but it save one image
img1 = imread("try1.pgm");
img2 = imread( "try2.pgm");
folder = "/Users/roaaalnader/Documents/MATLAB/TryImg.tif" % file.tif path
folder=fullfile(folder,'img.tif') % to solve you don't have permission error
imwrite(img1,folder);
imwrite(img2,folder,'WriteMode','append' ); % here append doesn't work
%% see the attached picture the file has just the frist image
  9 个评论
Rore
Rore 2022-9-3
I want all the image in the TryImg.tif with .tif extension
dpb
dpb 2022-9-3
@Walter Roberson may be on to something with the file naming -- I didn't test that although I did notice it.
...
folder = "/Users/roaaalnader/Documents/MATLAB/TryImg"; % file .tif path
folder=fullfile(folder,'img.tif');
imwrite(img1,folder);
imwrite(img2,folder,'WriteMode','append' ); % here append doesn't work
Then your final file will be in file
/Users/roaaalnader/Documents/MATLAB/TryImg/img.tif
removing the extra .tif on the folder name.
Again, you didn't actually show us the results -- just telling us something isn't enough to be able to prove what did/did not happen.
Show the results between the imwrite calls asked for before so we can see actual results obtained -- we can't see your terminal from here, sorry.

请先登录,再进行评论。

回答(2 个)

Rore
Rore 2022-9-3
编辑:Rore 2022-9-3
Thank you so much for eveyone helped me .
I fixed the problem (append not working) by using sprintf('%d.tif', k); inside loop
to have different name for evey pictre like 1.tif , 2.tif , ...
THE CODE :
for k = 1:10
% read the images from one file
jpgFilename = sprintf('%d.pgm', k);
fullFileName = fullfile("filename", jpgFilename);
if exist(fullFileName, 'file')
imageData = imread(fullFileName );
else
warningMessage = sprintf('Warning: image file does not exist:\n%s', fullFileName);
uiwait(warndlg(warningMessage));
end
% then ,I did some process in the image
% after process , save the image
% find the file path to save the image inside it
folderCover="/Users/myName/Documents/MATLAB/Cover.tif"
% make name for every image -> 1.tif , 2.tif , 3.tif , ...
jpgFilename = sprintf('%d.tif', k);
fullFileNameCover = fullfile(folderCover, jpgFilename);
if k ==1 % first time to write
imwrite(imageData,fullFileNameCover );
else
imwrite(imageData,fullFileNameCover,'WriteMode','append')
end
end

Rore
Rore 2022-9-3
'WriteMode' is not a recognized parameter is fixed
by using .tif extension to all images and file as

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by