📜  Python – 使用 OpenCV 写入视频(1)

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

Python – 使用 OpenCV 写入视频

在计算机视觉应用中,视频是一种非常重要的数据类型。对于开发人员而言,学习视频的处理、读取、写入是至关重要的。Python 的 OpenCV 库为我们提供了非常便捷的 API,使得读取、操作、写入视频变得更加简单。本文介绍如何使用 OpenCV 在 Python 中以编程方式将图像帧写入视频。

准备工作

在开始本文的实现之前,确保 OpenCV 安装成功。您可以使用以下命令在 Ubuntu 系统上安装它:

pip install opencv-python

如果您使用的是 macOS,可以通过以下方式安装:

brew install opencv

在安装成功后,我们可以导入 OpenCV 库来检查它是否正确安装:

import cv2

print(cv2.__version__)

执行后,应该输出您安装的 OpenCV 的版本信息。

编写 OpenCV 写入视频的 Python 代码

我们使用 OpenCV 将帧写入视频。下面是一个示例代码。

import cv2

# 读取视频文件
cap = cv2.VideoCapture('input.mp4')

# 定义编解码器并创建 VideoWriter 对象
fourcc = cv2.VideoWriter_fourcc(*'DIVX')
out = cv2.VideoWriter('output.avi', fourcc, 30.0, (640, 480))

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

    # 写入帧
    out.write(frame)

    # 显示结果
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()

以上示例代码中,我们首先使用 cv2.VideoCapture 方法读取视频,并定义了一个 VideoWriter 对象,用于将帧写入视频。

视频写入使用 VideoWriter.write 方法实现,它接受一帧图像并将其写入视频。

最后,我们使用 cv2.imshow 方法显示实时视频流,并在按下 'q' 键时终止程序。

注意:cv2.waitKey 方法用于获取键盘输入。在本示例中,我们使用了它的二进制运算符(AND)来获得 ASCII 值等于 q 的键,以便退出程序。

总结

在本文中,我们学习了如何使用 OpenCV 在 Python 中将帧写入视频。首先,我们介绍了一些准备工作,然后提供了示例代码和解释。现在,您可以在自己的 Python 项目中应用这些技能。