为视频的各个帧添加文本/时间戳

时间:2019-12-04 22:39:06

标签: image opencv video time

我通过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()

1 个答案:

答案 0 :(得分:0)

除了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()