Opencv python 图片生成视频的方法示例


Posted in Python onNovember 18, 2020

本文主要介绍了Opencv图片生成视频,分享给大家,具体如下:

Opencv python 图片生成视频的方法示例

生成视频

import random as rd
import cv2 as cv
import numpy as np


# 保存视频
class RecordMovie(object):

  def __init__(self, img_width, img_height):
    self.video_writer = None # 视频对象
    self.is_end = False # 结束保存视频
    self.img_width = img_width # 宽度
    self.img_height = img_height # 高度

  # 创建 视频写入对象
  def start(self, file_name, freq):
    # 创建视频格式
    four_cc = cv.VideoWriter_fourcc(*'mp4v')
    img_size = (self.img_width, self.img_height) # 视频尺寸

    # 创建视频写入对象
    self.video_writer = cv.VideoWriter()
    self.video_writer.open(file_name, four_cc, freq, img_size, True)

  # 写入图片帧
  def record(self, img):
    if self.is_end is False:
      self.video_writer.write(img)

  # 完成视频 释放资源
  def end(self):
    self.is_end = True
    self.video_writer.release()


def move_image(img_src):
  img_height, img_width = img_src.shape[:2]

  # 随机 xy平移方向与大小设置
  x_size = rd.randint(-3, 3)
  y_size = rd.randint(-3, 3)

  # 自定义转换矩阵
  transform_matrix = np.float32([[1, 0, x_size], [0, 1, y_size]])

  # 执行平移
  return cv.warpAffine(img_src, transform_matrix, (img_width, img_height))


def main():
  # 1.读取图片
  img_org = cv.imread("img.png", cv.IMREAD_GRAYSCALE)

  # 2.显示图片
  cv.imshow("org", img_org)
  cv.namedWindow("shift")

  # 3.视频文件生成
  height, width = img_org.shape[:2]
  print(height, width)
  rm = RecordMovie(width, height)

  # 设置视频文件名称 频率
  rm.start("test.mp4", 20)

  # 4.图片写入视频
  for i in range(300):
    # 图片微调调整
    img_move = move_image(img_org)
    img_move = cv.cvtColor(img_move, cv.COLOR_GRAY2RGB)

    rm.record(img_move)
    cv.imshow("shift", img_move)
    key = cv.waitKey(10)
    if key == 27: # esc 按键
      break

  # 5.关闭视频文件
  rm.end()


if __name__ == '__main__':
  main()

Opencv python 图片生成视频的方法示例

Opencv python 图片生成视频的方法示例

到此这篇关于Opencv python 图片生成视频的方法示例的文章就介绍到这了,更多相关Opencv图片生成视频内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的词法分析与语法分析
May 18 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
python3中zip()函数使用详解
Jun 29 Python
Python基于百度云文字识别API
Dec 13 Python
Python单元测试工具doctest和unittest使用解析
Sep 02 Python
Matplotlib scatter绘制散点图的方法实现
Jan 02 Python
django正续或者倒序查库实例
May 19 Python
python用分数表示矩阵的方法实例
Jan 11 Python
python生成word合同的实例方法
Jan 12 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
calendar在python3时间中常用函数举例详解
Nov 18 #Python
Python 远程开关机的方法
Nov 18 #Python
python 元组和列表的区别
Dec 30 #Python
基于Python爬取搜狐证券股票过程解析
Nov 18 #Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 #Python
Anaconda的安装与虚拟环境建立
Nov 18 #Python
如何基于Python pygame实现动画跑马灯
Nov 18 #Python
You might like
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
javascript 数组排序函数
2009/08/20 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python中的rfind()方法使用详解
2015/05/19 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
计算机维护专业推荐信
2014/02/27 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
学生保证书范文
2014/04/28 职场文书
美术学专业求职信
2014/07/23 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
整改通知书格式
2015/04/22 职场文书