Python OpenCV实现视频与图片互转实战

咖啡半糖
咖啡半糖
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍如何利用Python和OpenCV库实现视频与图片的双向转换。涵盖将视频逐帧提取为静态图像的方法,以及指定帧率(如30fps)将序列图片合成为视频文件的完整代码示例与参数配置说明,适用于数据集处理与基础视频编辑场景。

Python OpenCV视频与图片互转教程

近期因实验需要频繁进行数据集格式转换,特此整理相关操作流程以备查阅。

视频转图片实现步骤

一、视频转图片处理

该过程的核心逻辑是将视频文件解析并提取为连续的静态图像帧。


import cv2
vc=cv2.VideoCapture("/home/hqd/PycharmProjects/1/1/19.MOV")
c=1
if vc.isOpened():
  rval,frame=vc.read()
else:
  rval=False
while rval:
  rval,frame=vc.read()
  cv2.imwrite('/home/hqd/PycharmProjects/1/1/19/'+str(c)+'.jpg',frame)
  c=c+1
  cv2.waitKey(1)
vc.release()

图片合成视频实现步骤

二、图片转视频合成

此环节旨在将一系列静态图片重新组合为视频文件,本例中设定的输出帧率为每秒30帧。


import cv2import os
fps = 30
fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')
video_writer = cv2.VideoWriter(filename='./result.avi', fourcc=fourcc, fps=fps, frameSize=(1920, 1080))
for i in range(0,6000):
  p = i
  if os.path.exists('/home/hqd/PycharmProjects/1/qqqq/'+str(p)+'.jpg'):  #判断图片是否存在
    img = cv2.imread(filename='/home/hqd/PycharmProjects/1/qqqq/'+str(p)+'.jpg')
    cv2.waitKey(100)
    video_writer.write(img)
    print(str(p) + '.jpg' + ' done!')
video_writer.release()

三、总结

上述内容展示了使用Python结合OpenCV库完成视频与图片相互转换的具体方法,旨在为相关实验与开发工作提供实用参考。如有具体疑问或需进一步探讨,欢迎留言交流,作者将尽力解答。同时感谢读者对本站的支持与关注。若本文内容对您有所帮助,欢迎转载分享,请注明出处,谢谢配合。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表