Creating a video from a structure array field

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?

 Respuesta aceptada

Kshitij Chhabra
Kshitij Chhabra el 14 de Oct. de 2021

1 voto

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 comentario

Thanks @Kshitij Chhabra. I have understood solution of such errors. And sorry for being very late to accept the answer.

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by