在MATLAB中覆盖许多图像的时间戳

时间:2015-03-28 12:48:52

标签: matlab image-processing matlab-cvst

我有400张图片,如下图所示:

enter image description here

我想为每张图片添加时间戳,所以总共会有400个时间戳。每个时间戳包含小时,分钟和秒('HHMMSS')。

对于Image1 =>时间戳1 ... 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张图像。任何人都有任何线索如何做到这一点?

1 个答案:

答案 0 :(得分:4)

以下是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

结果:

enter image description here