【问题标题】:Adding text/time stamp to individual frames of the video将文本/时间戳添加到视频的各个帧
【发布时间】:2020-03-29 19:43:08
【问题描述】:

我通过 openCV 使用“.tiff”图像文件制作了视频。现在,我想为每一帧添加时间戳或文本。我的数据中的每一帧代表 14 秒。我以每秒 1 帧的速度运行视频,共有 51 帧。

在每一帧上单独添加时间或文本的过程是什么?

我使用了以下代码:

img_array = []
for filename in glob.glob('D:\\KMC2_data\\rahim_data_frames\\test\\*.tiff'):
    img = cv2.imread(filename)
    height, width, layers = img.shape
    size = (width,height)
    img_array.append(img)
out = cv2.VideoWriter('project.avi', cv2.VideoWriter_fourcc(*'DIVX'), 1, size)
for i in range(len(img_array)):
    out.write(img_array[i])
out.release()

【问题讨论】:

  • 确定当前时间戳并使用cv2.putText()
  • 你也可以看看这个详细的答案here:)

标签: image opencv video time


【解决方案1】:

除了 nathancy 注释之外,还可以在 cv2.puttext 中的某个位置添加当前“时间:”,假设在图像的第 10 行和第 10 列使用:

import datetime
img_array = []
for filename in glob.glob('D:\\KMC2_data\\rahim_data_frames\\test\\*.tiff'):
    img = cv2.imread(filename)
    cv2.putText(img,"Time: "+str(datetime.datetime.now()),(10,10),2,0.8,(255,255,2)) 
    height, width, layers = img.shape
    size = (width,height)
    img_array.append(img)
out = cv2.VideoWriter('project.avi', cv2.VideoWriter_fourcc(*'DIVX'), 1, size)
for i in range(len(img_array)):
    out.write(img_array[i])
out.release()

【讨论】:

    猜你喜欢
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 2016-05-22
    相关资源
    最近更新 更多