imwrite "the filename must be provided issue"

1 view (last 30 days)
Hi ,
I am trying to read a video file and store the frames in a folder . The imwrite is giving me a "a filename must be provided error".This is my program:
filename = [sprintf("%03d L",ii) '.jpg'];
fullname = fullfile(workingDir,'images',filename);
imwrite(leftone,fullname) ;
Please help
  2 Comments
Mohammad Sami
Mohammad Sami on 25 Jan 2020
your filename assignment is creating two strings.
you can replace it with the following
filename = sprintf('%03d L.jpg',ii);
Image Analyst
Image Analyst on 25 Jan 2020
Can you make this an answer? That way you can earn reputation points for it, unlike up here in the section which is used to ask posters for additional information.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 25 Jan 2020
The problem is you used double quotes in the first part and single quotes in the second part which make two strings. Try this corrected code:
% Initialize some variables.
leftone = imread('cameraman.tif');
ii = 1
workingDir = pwd; % The current folder.
% Now Jishnu's code, corrected and made more robust.
outputFolder = fullfile(workingDir, '/images');
if ~isfolder(outputFolder)
mkdir(outputFolder);
end
baseFileName = sprintf('%03d L.jpg',ii)
fullFileName = fullfile(outputFolder,baseFileName)
imwrite(leftone, fullFileName);

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!