Python OpenCV实现视频与图片互转实战
本文详细介绍如何利用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库完成视频与图片相互转换的具体方法,旨在为相关实验与开发工作提供实用参考。如有具体疑问或需进一步探讨,欢迎留言交流,作者将尽力解答。同时感谢读者对本站的支持与关注。若本文内容对您有所帮助,欢迎转载分享,请注明出处,谢谢配合。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













