Python OpenCV 视频处理:使用 cv2.VideoWriter 将视频格式转换
使用 OpenCV 将视频格式转换
本代码示例展示了如何使用 Python OpenCV 库中的 cv2.VideoWriter 功能将视频文件从一种格式转换为另一种格式。
import cv2
# 打开视频文件
vc = cv2.VideoCapture('Jiche.mp4')
# 设置帧率
fps = 30
# 获取视频尺寸
size = (int(vc.get(cv2.CAP_PROP_FRAME_WIDTH)), int(vc.get(cv2.CAP_PROP_FRAME_HEIGHT)))
# 创建视频写入器
vw = cv2.VideoWriter('JiChenp.avi', cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), fps, size)
# 读取第一帧
success, frame = vc.read()
# 循环读取视频帧并写入新视频
while success:
vw.write(frame)
cv2.imshow('mycamera', frame)
key = cv2.waitKey()
if key == 27: # 按下 Esc 键退出循环
break
success, frame = vc.read()
# 释放视频读取器和写入器
vc.release()
代码说明
import cv2: 导入 OpenCV 库。vc = cv2.VideoCapture('Jiche.mp4'): 打开名为 'Jiche.mp4' 的视频文件。fps = 30: 设置输出视频的帧率为 30 帧每秒。size = (int(vc.get(cv2.CAP_PROP_FRAME_WIDTH)), int(vc.get(cv2.CAP_PROP_FRAME_HEIGHT))): 获取输入视频的尺寸。vw = cv2.VideoWriter('JiChenp.avi', cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), fps, size): 创建一个名为 'JiChenp.avi' 的视频写入器,使用 'XVID' 编解码器,帧率为 30,尺寸与输入视频相同。success, frame = vc.read(): 读取视频的第一帧。while success:: 循环读取视频帧,直到读取失败(success为False)。vw.write(frame): 将当前帧写入到新的视频文件。cv2.imshow('mycamera', frame): 在名为 'mycamera' 的窗口中显示当前帧。key = cv2.waitKey(): 等待键盘输入。if key == 27:: 如果按下 Esc 键,则退出循环。vc.release(): 释放视频读取器。
总结
这段代码展示了如何使用 OpenCV 库中的 cv2.VideoWriter 函数将视频文件从一种格式转换为另一种格式,并通过 cv2.imshow 函数在窗口中实时显示处理后的视频帧。
原文地址: https://www.cveoy.top/t/topic/dHMW 著作权归作者所有。请勿转载和采集!