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 相关文章推荐
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
python实现贪吃蛇游戏
Mar 21 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
python opencv实现图像边缘检测
Apr 29 Python
Django REST framework 视图和路由详解
Jul 19 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
python的scipy实现插值的示例代码
Nov 12 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
基于Python下载网络图片方法汇总代码实例
Jun 24 Python
python如何对链表操作
Oct 10 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
分享php邮件管理器源码
2016/01/06 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
动手学习无线电
2021/03/10 无线电
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python基于http下载视频或音频
2018/06/20 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
python函数定义和调用过程详解
2020/02/09 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
幼儿园教研活动方案
2014/01/19 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
个人求职信范文
2014/05/24 职场文书
关于美容院的活动方案
2014/08/14 职场文书
早读课迟到检讨书
2014/09/25 职场文书
商务邀请函
2015/01/30 职场文书
三十年同学聚会感言
2015/07/30 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python