python利用opencv保存、播放视频

Python利用OpenCV保存、播放视频

在Python中,使用OpenCV库可以很方便地进行视频处理。本文将介绍如何利用OpenCV库来保存和播放视频,并提供一些相关的示例代码。

保存视频

首先,我们需要导入OpenCV库:

import cv2

接下来,我们可以使用以下代码来保存视频:

# 打开视频文件

video = cv2.VideoCapture('input_video.mp4')

# 获取视频的帧率

fps = video.get(cv2.CAP_PROP_FPS)

# 获取视频的宽度和高度

width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))

height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))

# 创建一个用于保存视频的编码器

fourcc = cv2.VideoWriter_fourcc(*'mp4v')

output = cv2.VideoWriter('output_video.mp4', fourcc, fps, (width, height))

# 读取帧并保存

while True:

ret, frame = video.read()

if not ret:

break

output.write(frame)

# 释放资源

video.release()

output.release()

在上面的代码中,我们首先使用cv2.VideoCapture()函数打开一个视频文件,接着使用video.get()函数获取视频的帧率、宽度和高度。然后,我们使用cv2.VideoWriter()函数创建一个用于保存视频的编码器,指定输出视频的名称、编码格式、帧率和尺寸。接着,我们使用一个循环来读取视频的帧,并使用output.write()函数将每一帧写入到输出视频中。最后,我们释放资源,包括关闭输入和输出视频。

值得注意的是,在使用cv2.VideoWriter()函数创建编码器时,需要指定一个有效的编码格式。上面的代码中使用的是'mp4v',表示使用MPEG-4编码格式保存视频。你可以根据实际需要改变编码格式,例如使用'XVID''MJPG'等。

播放视频

接下来,我们将介绍如何使用OpenCV库播放视频:

# 打开视频文件

video = cv2.VideoCapture('input_video.mp4')

while True:

ret, frame = video.read()

if not ret:

break

cv2.imshow('Video', frame)

# 按下'q'键退出播放

if cv2.waitKey(1) & 0xFF == ord('q'):

break

# 释放资源

video.release()

cv2.destroyAllWindows()

在上面的代码中,我们首先使用cv2.VideoCapture()函数打开一个视频文件。然后,我们使用一个循环来读取视频的帧,并使用cv2.imshow()函数显示每一帧的图像。最后,我们使用cv2.waitKey()函数来等待键盘输入,如果按下的是'q'键,则退出播放。最后,我们释放资源,包括关闭视频和销毁窗口。

需要注意的是,在播放视频时,使用cv2.imshow()函数显示视频帧的时候,窗口的名称可以根据实际需要进行修改。上面的代码中窗口的名称是'Video',你可以根据实际情况进行修改。

总结

通过使用OpenCV库,我们可以方便地保存和播放视频。本文通过展示了如何使用OpenCV库来保存和播放视频的示例代码,希望能对你理解和应用OpenCV库有所帮助。

最后,需要注意的是,以上示例代码仅作为演示用途,实际应用中可能需要根据实际情况进行一些改动和优化。

感谢阅读本文,希望对你有所帮助!

后端开发标签