使用Python opencv实现视频与图片的相互转换

yipeiwu_com6年前Python基础

因为最近要经常转换数据集进行实验,因此记录一下。

1、视频转图片

即为将视频解析为一帧一帧的图片:

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()

2、图片转视频

即为将图片转为视频,这里采用的帧率为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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

详解numpy矩阵的创建与数据类型

详解numpy矩阵的创建与数据类型

Numpy是python常用的一个类库,在python的使用中及其常见,广泛用在矩阵的计算中,numpy对矩阵的操作与纯python比起来速度有极大的差距。 一、 构造矩阵 矩阵的构造...

在python中用print()输出多个格式化参数的方法

不废话,直接贴代码: disroot = math.sqrt(deta) root1 = (-b + disroot)/(2*a) root2 = (-b - disroot)/(2...

Python综合应用名片管理系统案例详解

Python综合应用名片管理系统案例详解

本文实例讲述了Python综合应用名片管理系统。分享给大家供大家参考,具体如下: 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需...

对numpy中shape的深入理解

环境:Windows, Python2.7 一维情况: <span style="font-size:14px;">>>> import numpy a...

Python使用os模块和fileinput模块来操作文件目录

os模块 在python编程中,我们会经常使用到文件和目录,这些操作python提供一个os模块,里面有很多操作文件和目录的函数. 下面介绍os的常用功能 1.获取当前路径 >...