Bn.
Bn.

Reputation: 27

why WriteMode and append are not working?

MATLAB

I'm trying to save multiple images in file but it save just the frist image of the loop

I tied to use append but it didn't work

the code -> imwrite(output,folderS,'WriteMode','append')


THE FULL CODE:

        img1 = imread("try1.pgm");
        img2 = imread( "try2.pgm");
    
    folder = "/Users/myname/Documents/MATLAB/TryImg.tif"
    folder=fullfile(folder,'img.tif')
    imwrite(img1,folder);
    imwrite(img2,folder,'WriteMode','append' );    

   

Upvotes: 1

Views: 171

Answers (1)

Bn.
Bn.

Reputation: 27

THE PROBLEM IS FIXED

  1. 'WriteMode' is not a recognized parameter is fixed by using .tif extension to all images and file as

  2. (append not working) by using sprintf('%d.tif', k); inside loop to have different name for evey image 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

Upvotes: 0

Related Questions