Converting Structure into 3d Matrix

2 ビュー (過去 30 日間)
Afonso Espírito Santo
Afonso Espírito Santo 2021 年 11 月 24 日
Hi,
I am trying to post-process matrix of frames I get from a camera. Each frame is outputted as a.mat file with a "Frame" variable that is a 512x640 double. I want to import all of these files for each frame, I have 2497 frames so 2497 files, and create a 3D matrix that is 512x640x2497 with all the frames. I currently import the frames but it creates a 1x2497 strucutre with each field being a 512x640 double. Is it possible to convert this structure to a 3D matrix or import the data straight into a 3D matrix?
Thank you
This is my code so far:
for k = 0:2497
filename = sprintf('Rec--000013_%d.mat', k);
%Checking File Exists
if isfile(filename)
all_frames(k+1) = load(filename,'Frame');
else
fprintf('File %s does not exist.\n', filename);
end
fprintf('Now Reading File : Rec--000013_%d.mat\n', k)
end

採用された回答

Matt J
Matt J 2021 年 11 月 24 日
Matrix=cat(3, all_frames.Frame);
However, you will need generous RAM. Your all_frames structure already consumes about 5 GB in double flating point, and this will consume another 5 GB.
  3 件のコメント
Afonso Espírito Santo
Afonso Espírito Santo 2021 年 11 月 27 日
Hi Matt,
The original issue was solved.However, I have not figured out how to answer the question I asked in the comment. Should I open a new questions for that specifically?
Thanks!

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by