matlab添加有未读文本

问题描述 投票:1回答:1

我有一系列用于创建影片循环的图像。该代码如下所示:

path1 = '/path/to/data';
dir1 = dir(path1);

writerObj = VideoWriter('video.avi');
writerObj.FrameRate = 10;
writerObj.Quality = 100;
open(writerObj);

for i = 3:length(dir1)
    filename = [path1,'/',dir1(i).name];
    timee= dir2(i).name(29:43);
    thisimage = imread(filename);
    writeVideo(writerObj, thisimage);
end
close(writerObj);

我想基于创建的'time'变量添加文本,它只是一个字符串'YYYYMMDD-HHMMSS'。我知道可以这样:

imshow(thisimage);
text(300,500,timee, 'Color','white','FontSize',20);

但是当放在上面的循环中时,它只是简单地用文本创建了一个新图形,而不是将其嵌入到图像中。

因此,如何在图像中添加文本并将其包含在影片循环中?注意:我无权访问计算机视觉系统工具箱(因此,我无法使用“ insertText”功能)

matlab imshow
1个回答
0
投票

您的基本方法是正确的,但是图像+文本没有传递给writeVideo。诀窍是使用getframe将其转换为预期的格式。修改您的getframe循环,如下所示:

for
© www.soinside.com 2019 - 2024. All rights reserved.