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 enumerate遍历数组示例应用
Sep 06 Python
Python语言编写电脑时间自动同步小工具
Mar 08 Python
python遍历目录的方法小结
Apr 28 Python
利用python循环创建多个文件的方法
Oct 25 Python
python导入pandas具体步骤方法
Jun 23 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
python 两种方法删除空文件夹
Sep 29 Python
python 从list中随机取值的方法
Nov 16 Python
python中 .npy文件的读写操作实例
Apr 14 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
一个查看session内容的函数
2006/10/09 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
python 字典(dict)按键和值排序
2016/06/28 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
python 内置模块详解
2019/01/01 Python
python交换两个变量的值方法
2019/01/12 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
2013年高中生自我评价
2013/10/23 职场文书
建筑投标担保书
2014/05/20 职场文书
捐书倡议书
2014/08/29 职场文书
信访工作个人总结
2015/03/03 职场文书
诚实守信主题班会
2015/08/13 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书