How to save an image using imwrite with a filename from a variable
32 views (last 30 days)
Show older comments
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
on 19 Mar 2018
Edited: 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.
Accepted Answer
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)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!