我有 400 张图像,如下所示:
我想为每个图像添加时间戳,因此总共有 400 个时间戳。每个时间戳包含小时、分钟和秒 ('HHMMSS')。
对于 Image1 => Timestamp1 ... Image400 => Timestamp400。
我尝试使用以下代码:
for i = 1:400
startDate = datenum('02-Nov-2013 13:30:06');
endDate = datenum('02-Nov-2013 13:30:51');
xdate = linspace(startDate,endDate,400);
... code to generate image
set(gca,'XTick',xdate);
datetick('x','HHMMSS');
end
但很明显它不起作用,因为我沿着 x 轴获取时间戳,并且我希望为最多 400 个图像的每个图像提供一个时间戳。任何人都知道如何做到这一点?
最佳答案
这是一个解决方案 datestr
并且,最值得注意的是,insertText
(来自计算机视觉系统工具箱)几乎可以完成所有工作:
% --- Get date list
startDate = datenum('02-Nov-2013 13:30:06');
endDate = datenum('02-Nov-2013 13:30:51');
xdate = linspace(startDate,endDate,400);
for i = 1:numel(xdate)
% --- Code to generate image
Img = imread('test.jpg');
% --- Insert timestamp
s = datestr(xdate(i), 'HH:MM:SS');
Res = insertText(Img, [0 0], s, 'AnchorPoint','LeftTop', ...
'BoxColor', 'white', 'fontsize', 40);
% --- Display and break (to remove)
imshow(Res)
break;
end
结果:
关于matlab - 在 MATLAB 中的许多图像上叠加时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317353/