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

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

生成视频

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图片生成视频内容请搜索随便开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持随便开发网!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值