使用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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python3.5安装python3-tk详解

python3.5安装python3-tk详解

 在python3.5下安装好matplotlib后,准备显示一张图片测试一下,但是控制台报错说需要安装python3-tk,我天真的以为直接: sudo apt-get i...

Python生成随机数的方法

如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,...

详解使用Python下载文件的几种方法

在使用Python进行数据抓取的时候,有时候需要保持文件或图片等,在Python中可以有多种方式实现。今天就一起来学习下。 urllib.request 主要使用的是urlretrie...

Numpy array数据的增、删、改、查实例

准备工作: 增、删、改、查的方法有很多很多种,这里只展示出常用的几种。 >>> import numpy as np >>> a = np.ar...

python 并发编程 非阻塞IO模型原理解析

python 并发编程 非阻塞IO模型原理解析

非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blocking socket执行读操作时,流程是...