【问题标题】:Saving video frames with timestamps保存带有时间戳的视频帧
【发布时间】:2019-05-23 18:34:42
【问题描述】:

我想保存框架以便在其上写入时间戳,或者以时间戳作为名称保存图像。我尝试在cv2.putText() 函数中通过time.time()function 添加时间戳,它只是在每一帧上写入time.time(),而不是时间戳。

我尝试在cv2.putText() 函数中通过time.time() 函数添加时间戳,但它只是在每一帧上写入time.time(),而不是时间戳。

我还尝试使用time.time() 代替cv2.imwrite() 函数的图像名称,并且它也没有添加时间戳。

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(frame,'time.time()',(10,500), font, 4,(255,255,255),2,cv2.CV_AA). 


cv2.imwrite('str(time.time())'+str(i)+'.jpg',frame)
`
The issue is resolved by putting str(time.time()).``

【问题讨论】:

  • 不要使用'time.time()' 使用str(time.time())。您将其放在引号中,从而使 time.time() 成为文字字符串,而不是使用其输出。

标签: python opencv


【解决方案1】:

目前你有 time.time() 引号所以它实际上将文本设置为一个名为“time.time()”的字符串。要显示time.time() 的实际值,请删除引号。从文档中,cv2.putText() 接受 str 作为第二个参数。这是定义

cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])

因此,在您的情况下,您可以像这样将 time.time() 的值转换为 str 类型

cv2.putText(frame, str(time.time()), (10,500), font, 4, (255,255,255), 2, cv2.CV_AA)

cv2.imwrite()类似,可以将值转为str类型,而不是文字字符串来获取时间戳

cv2.imwrite(str(time.time()) + '_' + str(i) + '.jpg', frame)

【讨论】:

    猜你喜欢
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 2018-05-24
    • 2020-03-17
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    相关资源
    最近更新 更多