栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 图像和视频互相转换

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 图像和视频互相转换

python 图像和视频互相转换
  • 预备条件
  • 视频转图像
  • 图像转视频
  • 完整代码

预备条件

创建两个文件夹
我拍的视频,视频链接
提取码:t1zj

视频转图像
import cv2
import os

def video2image():
	cap = cv2.VideoCapture("video/test.mp4")  # 
	count = 1
	while True:
		success, frame = cap.read()
		if success == False:
			break
		cv2.imwrite("images/%d.jpg"%count, frame)
		count +=1
图像转视频

MP4格式

import cv2
import os

def image2video():
	# 得到图像路径
	files = os.listdir("images/")
	# 对图像排序
	files.sort(key = lambda x: int(x.split(".")[0]))
	# 获取图像宽高
	h, w, _ = cv2.imread("images/" + files[0]).shape	
	# 设置帧数
	fps = 30
	vid = []
	# 保存视频路径和名称
	save_path = "video/video.mp4"		# 保存视频路径和名称 MP4格式

	# 准备写入视频
	vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))

	# 写入
	for file in files:
		img = cv2.imread("images/" + file)
		vid.write(img)

AVI格式

import cv2
import os

def image2video():
	# 得到图像路径
	files = os.listdir("images/")
	# 对图像排序
	files.sort(key = lambda x: int(x.split(".")[0]))
	# 获取图像宽高
	h, w, _ = cv2.imread("images/" + files[0]).shape	
	# 设置帧数
	fps = 30
	vid = []
	# 保存视频路径和名称
	save_path = "video/video.avi"	# 保存视频路径和名称 av格式

	# 准备写入视频    两种 不清楚具体区别
	vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'xvid'), fps, (w, h))
	# vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'i420'), fps, (w, h))
	
	# 写入
	for file in files:
		img = cv2.imread("images/" + file)
		vid.write(img)
完整代码
import cv2
import os

def video2image():
	cap = cv2.VideoCapture("video/test.mp4")  
	count = 1
	while True:
		success, frame = cap.read()
		if success == False:
			break
		cv2.imwrite("images/%d.jpg"%count, frame)
		count +=1


def image2video():
	# 得到图像路径
	files = os.listdir("images/")
	# 对图像排序
	files.sort(key = lambda x: int(x.split(".")[0]))
	# 获取图像宽高
	h, w, _ = cv2.imread("images/" + files[0]).shape	
	# 设置帧数
	fps = 30

	vid = []
	'''
	设置要保存的格式
	mp4:
		mp4v 
	avi:
		xvid
		i420
	'''

	# 保存视频路径和名称
	#save_path = "video/video.mp4"		# 保存视频路径和名称 MP4格式
	save_path = "video/video.avi"		# 保存视频路径和名称 av格式

	# 准备写入视频
	vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
	# vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'xvid'), fps, (w, h))
	# vid = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'i420'), fps, (w, h))
	
	# 写入
	for file in files:
		img = cv2.imread("images/" + file)
		vid.write(img)

if __name__ == '__main__':
	print("start...")
	video2image()
	image2video()
	print("OK!")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/982342.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号