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 实现堆排序算法代码
Jun 05 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
python递归函数绘制分形树的方法
Jun 22 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
Python创建数字列表的示例
Nov 28 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
jupyter notebook 参数传递给shell命令行实例
Apr 10 Python
Python urllib3软件包的使用说明
Nov 18 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 Python
关于python类SortedList详解
Sep 04 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
php读取xml实例代码
2010/01/28 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
PDO::getAttribute讲解
2019/01/28 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
python zip()函数使用方法解析
2019/10/31 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
会计与审计专业自荐信范文
2014/03/15 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
卫生标语大全
2014/06/21 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
工程部经理岗位职责
2015/02/02 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
微信搭讪开场白
2015/05/28 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书