Creating a video from a structure array field

11 views (last 30 days)
I am trying to convert a structure array field (mov.cdata) into a video.
mov is a 1×600 struct with 2 fields (cdata and colormap). All of the values of cdata field are uint8 type and has a size of . To convert it into a video, I wrote following code snippet:
wm_video = VideoWriter('Watermarked_video_1.mp4', 'MPEG-4');
open(wm_video);
for m = 1:nFrames
%img = readFrame(mov(m).cdata);
writeVideo(wm_video, mov(m).cdata);
end
close(wm_video);
But I got the following error:
Frames of type double must be in the range 0 to 1.
How can this error be solved?

Accepted Answer

Kshitij Chhabra
Kshitij Chhabra on 14 Oct 2021
Hi,
From my understanding you are trying to convert a structure array field into a video using the "writeVideo" function. You need to normalise your mov(m).cdata to fit in the range of 0-1 as mentioned in the documentation.
To do the normalization, you can check a previously answered question the community here.
Hope this helps!
  1 Comment
Md. Al-Imran Abir
Md. Al-Imran Abir on 2 Nov 2021
Thanks @Kshitij Chhabra. I have understood solution of such errors. And sorry for being very late to accept the answer.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!