📜  视频时间戳 opencv python (1)

📅  最后修改于: 2023-12-03 15:41:34.038000             🧑  作者: Mango

视频时间戳 OpenCV Python

在视频中添加时间戳是一个常见的需求,在OpenCV中可以通过简单的代码实现。本文将介绍如何在Python OpenCV中添加时间戳。

安装和导入OpenCV

使用OpenCV添加时间戳,我们需要安装和导入OpenCV库。可以通过pip安装,这里提供的是Windows系统的安装方式:

pip install opencv-python-headless

在Python代码中导入OpenCV:

import cv2
读取视频

接下来,我们需要从文件中读取视频。可以使用OpenCV的VideoCapture类来读取。

VIDEO_PATH = "path/to/video.avi"
cap = cv2.VideoCapture(VIDEO_PATH)
添加时间戳

在帧上添加时间戳的基本思路是,获取当前时间并将其转换为字符串,然后将其绘制在帧上。

以下代码段演示了如何从当前时间戳生成字符串,从视频中读取帧并在其上绘制时间戳。

while cap.isOpened():
    ret, frame = cap.read()

    if not ret:
        break

    # 获取当前时间并将其转换为字符串
    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")

    # 在帧上绘制时间戳
    cv2.putText(frame, current_time, (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2)

    # 显示帧
    cv2.imshow("Video", frame)
完整代码示例

以下是一个完整的使用OpenCV添加时间戳的Python程序。

import cv2
from datetime import datetime

VIDEO_PATH = "path/to/video.avi"
cap = cv2.VideoCapture(VIDEO_PATH)

while cap.isOpened():
    ret, frame = cap.read()

    if not ret:
        break

    # 获取当前时间并将其转换为字符串
    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")

    # 在帧上绘制时间戳
    cv2.putText(frame, current_time, (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2)

    # 显示帧
    cv2.imshow("Video", frame)

    # 按 q 键退出显示
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()