在 MATLAB 中的许多图像上叠加时间戳
Overlay timestamps on many images in MATLAB
我有 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
and, most notably, insertText
的解决方案(来自 Computer Vision System Toolbox),几乎可以完成所有工作:
% --- 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
结果:
我有 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
and, most notably, insertText
的解决方案(来自 Computer Vision System Toolbox),几乎可以完成所有工作:
% --- 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
结果: