MATLAB Answers

How to save an image using imwrite with a filename from a variable

165 views (last 30 days)
Nalini Nadupalli
Nalini Nadupalli on 24 Oct 2016
Edited: Jan on 19 Mar 2018
I am saving a frame from a video as an image. Both the image and video should have the same name. How can I save an image with a file name from a variable? The filenames are stored in the variable videos.name
videos = dir('*.avi');
for i = 1:size(videos)
[pathstr,name,ext] = fileparts(videos(i).name)
V = VideoReader(videos(i).name);
oneframe = readFrame(V);
imshow(oneframe)
imwrite(oneframe, name, '.jpg')
end
Thank you very much!

  1 Comment

Jan
Jan on 19 Mar 2018
[MOVED from flag]
Adam Eshag wrote: "How can I save different preprocessed images in the same folder"
The answer sounds trivial: Provide different file names. Prefer to open a new thread and to add any details about what your problem is.
@Adam: Please use flags only to inform admins and editors about inappropriate contents like spam or rudeness. Thanks.

Sign in to comment.

Accepted Answer

Kirby Fears
Kirby Fears on 24 Oct 2016
Edited: Kirby Fears on 24 Oct 2016
Hi Nalini,
You can combine string values using square brackets. The syntax for imwrite using your variable names is as follows:
imwrite(oneframe, [name, '.jpg']);
Check your workspace to ensure name is the intended file name without a file extension.
Hope this helps

More Answers (0)