Add a text to video

How can I add any text to MP4 video uploaded to Matlab?

Answers (2)

Walter Roberson
Walter Roberson on 20 Jan 2018

1 vote

Read frames and use computer vision insertText() and write the frame out.
With older MATLAB it would be vision.textInserter instead of insertText()
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 Comments

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
Thank you so much!

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Tags

Asked:

on 20 Jan 2018

Commented:

on 24 Jan 2018

Community Treasure Hunt

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

Start Hunting!