Add a text to video

Respuestas (2)

Walter Roberson
Walter Roberson el 20 de En. de 2018

1 voto

Read frames and use computer vision insertText() and write the frame out.
With older MATLAB it would be vision.textInserter instead of insertText()
Aleksandra Pestka
Aleksandra Pestka el 23 de En. de 2018

1 voto

I've read frames from my video. The code looks like:
v= VideoReader('My_movie.mp4');
currAxes = axes;
while hasFrame(v)
vidFrame = readFrame(v);
image(vidFrame, 'Parent', currAxes);
currAxes.Visible = 'off';
pause(1/v.FrameRate);
end
Now I want to use:
RGB = insertText(I,position,text)
However, I don't know what is I i this case. Can anyone suggest me what to do?

2 comentarios

Walter Roberson
Walter Roberson el 23 de En. de 2018
v = VideoReader('My_movie.mp4');
currAxes = axes;
while hasFrame(v)
vidFrame = readFrame(v);
I = vidFrame;
RGB = insertText(I,position,text);
vidFrame = RGB;
image(vidFrame, 'Parent', currAxes);
currAxes.Visible = 'off';
pause(1/v.FrameRate);
end
... which can of course be made shorter.
v = VideoReader('My_movie.mp4');
currAxes = axes;
while hasFrame(v)
image( insertText(readFrame(v)), position, text);
currAxes.Visible = 'off';
pause(1/v.FrameRate);
end
But you are better off using the more efficient:
v = VideoReader('My_movie.mp4');
currAxes = axes;
first = true;
while hasFrame(v)
RGB = insertText(readFrame(v)), position, text);
if first
h = image(RGB);
currAxes.Visible = 'off';
first = false;
else
h.CData = RGB;
end
pause(1/v.FrameRate);
end
Aleksandra Pestka
Aleksandra Pestka el 24 de En. de 2018
Thank you so much!

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 20 de En. de 2018

Comentada:

el 24 de En. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by