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实现的扫雷游戏实例代码
Aug 01 Python
九步学会Python装饰器
May 09 Python
Python科学计算之NumPy入门教程
Jan 15 Python
详解 Python 读写XML文件的实例
Aug 02 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
Python清空文件并替换内容的实例
Oct 22 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
python的dict判断key是否存在的方法
Dec 09 Python
利用Python实现学生信息管理系统的完整实例
Dec 30 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 Python
Python中使用Lambda函数的5种用法
Apr 01 Python
详解Django中 render() 函数的使用方法
Apr 22 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脚本加密专家php解密算法
2020/09/13 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
python实现在字符串中查找子字符串的方法
2015/07/11 Python
Python中datetime模块参考手册
2017/01/13 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
浅谈Python中的私有变量
2018/02/28 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
大学生毕业自我评价范文分享
2013/11/11 职场文书
商业项目策划方案
2014/06/05 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript