python-视频分帧&多帧合成视频实例

yipeiwu_com6年前Python基础

我就废话不多说了,直接上代码吧!

1.视频分帧:

import cv2
vidcap = cv2.VideoCapture('005.avi')
success,image = vidcap.read()
count = 0
success = True
while success:
 success,image = vidcap.read()
 cv2.imwrite("frame%d.jpg" % count, image)   # save frame as JPEG file
 if cv2.waitKey(10) == 27:           
   break
 count += 1

2.多帧合成视频:

import cv2
 
def images_to_video():
  fps = 30 # 帧率
  num_frames = 500
  img_array = []
  img_width = 720
  img_height = 1280
  for i in range(num_frames+1):
    filename = "./frames/"+str(i)+".png"
    img = cv2.imread(filename)
 
    if img is None:
      print(filename + " is non-existent!")
      continue
    img_array.append(img)
 
  out = cv2.VideoWriter('demo.avi', cv2.VideoWriter_fourcc(*'DIVX'), fps,(img_width,img_height))
 
  for i in range(len(img_array)):
    out.write(img_array[i])
  out.release()
 
 
def main():
  
  images_to_video()
 
 
if __name__ == "__main__":
  main()

以上这篇python-视频分帧&多帧合成视频实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对Python3之方法的覆盖与super函数详解

对Python3之方法的覆盖与super函数详解

#覆盖 覆盖:在继承关系中,子类实现了与基类同名的方法,在子类的实例调用该方法时,实例调用的是子类的覆盖版本。 通俗的讲,就是小明继承了他⑧的自行车,经过自己的改装,成了电动车,那么小明...

python连接mysql并提交mysql事务示例

复制代码 代码如下:# -*- coding: utf-8 -*-import sysimport MySQLdbreload(sys)sys.setdefaultencoding('u...

跟老齐学Python之玩转字符串(2)更新篇

上一章中已经讲到连接两个字符串的一种方法。复习一下: 复制代码 代码如下: >>> a= 'py' >>> b= 'thon' >>>...

python调用接口的4种方式代码实例

这篇文章主要介绍了python调用接口的4种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中调用API的几种...

pyqt5的QWebEngineView 使用模板的方法

说明1:关于QWebEngineView pyqt5 已经抛弃 QtWebKit和QtWebKitWidgets,而使用最新的QtWebEngineWidgets。 QtWebEng...