how to process multiple video files from a folder

I am in the process of processing numerous video files from a folder, so I need a sample support for processing one video file at a time. I am using the following snippet, but I am getting stuck with the following additional parameter when I look at the file name, which is halting my progress. Any assistance would be greatly appreciated.
folder = 'C:\Video_file\';
files = dir(folder)
files = 0×1 empty struct array with fields: name folder date bytes isdir datenum
files.name
numel(files.name)
Error using numel
Not enough input arguments.
ans =
162 % on my windows system
I see followig output
files.name
ans =
'.' % this is NOT required
ans =
'..' % this is NOT required
ans =
'dummy1.avi'
ans =
'dummy2.avi'
Thank you very much.

4 个评论

By far the simplest approach is to specify the filename (using wildcards as required) and fileextension:
F = 'C:\Video_file\';
S = dir(fullfile(F,'*.avi'))
That makes sense.
I can view the files and don't notice any new syntax. Aside from that, how can I process one file at a time? If I consider
numel(S.name)
, I observe return as 46 rather than two files since I want to loop through the files one by one. Could you please help me?
Thank you very much.
numel(S.name) % this will throw an error if S has zero/multiple elements.
"I want to loop through the files one by one"
You can simply loop over the elements of S:
S = dir(..);
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
% do whatever you want with filename F
end
Thank you very @Stephen23
I could implement my solution.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

产品

版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by