How to add text to a video in matlab?

24 views (last 30 days)
Anand
Anand on 23 Apr 2014
Commented: Image Analyst on 17 May 2020
hi, can someone help me on how to add text to a video that is running on matlab, my teacher told me its very simple and just 1 or 2 lines of code. i think you have to use the insertText function but im not sure how to do it. basically all i want to do is to write some text in certain frames of the video. it would be outputted in the subplot below. can someone please help me on this problem.
subplot(2, 2, 3);
imshow(Background);
title('Detecting Expression...', 'FontSize', fontSize)
thankyou
  3 Comments
khoa dang
khoa dang on 17 May 2020
Edited: khoa dang on 17 May 2020
How to write a program to create flowing text in a video (karaoke). Can someone help me ?
Image Analyst
Image Analyst on 17 May 2020
If you have the Computer Vision Toolbox...
RGB = insertText(I,position,text) returns a truecolor image with text inserted. The input image, I, can be either a truecolor or grayscale image.

Sign in to comment.

Answers (2)

Sara
Sara on 24 Apr 2014
Use
text
for the frame of interest
  2 Comments
Anand
Anand on 24 Apr 2014
hi, can you show me how to use this function? i want it to include it in the code below. thank you
subplot(2, 2, 3);
imshow(Background);
title('Detecting Expression...', 'FontSize', fontSize)
Sara
Sara on 24 Apr 2014
have you tried "help text" at least??
text(X,Y,'string')
where x,y are the coordinates where you want the text.

Sign in to comment.


Image Analyst
Image Analyst on 24 Apr 2014
With text(), the text shows up in the overlay above the image. I believe the insertText function of the Computer Vision System Toolbox "burns it into" the image, though I don't use that function. I use text() to display text over a live video all the time. Not sure what your problem is. imshow() dispalys a still image while preview() shows a live video from a video camera. How are you displaying your video?
  2 Comments
Anand
Anand on 25 Apr 2014
I have managed to display the text on the video using the text() function... now all i want it to do is to display on certain frames for a few seconds...do you know how to do this?
Title_={'Smile'};
imshow(Background); text(40,100,Title_{1},'Color','r','FontWeight','Bold','FontSize',40);
Image Analyst
Image Analyst on 25 Apr 2014
Get the handle to the text when you display it, then delete it when you want it to disappear.
hText = text(x,y,str); % Create it.
delete(htext); % Delete it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!