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

32 views (last 30 days)
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
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.

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)

Community Treasure Hunt

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

Start Hunting!