使用OpenCV截取视频指定帧数存储成图片

本文介绍了如何使用Python将视频中的帧转换为图片,存储在特定目录下,适用于自动化处理大量视频素材。通过cv2库操作,实现视频文件读取、帧截取并按设定间隔保存图片。

import cv2 as cv
import os.path

# 1.存储图片文件夹
path = './VideoToImage'         # 存放视频图片的主目录
if not os.path.exists(path):    # 如果不存在就创建文件夹
	os.mkdir(path)

# 2.读取视频文件夹
filepath = './video'            # 需要读取的视频的路径
pathDir = os.listdir(filepath)  # 获取文件夹中文件名称

# 3.截视频帧数
for allDir in pathDir:          # 逐个读取视频文件
	a = 1  # 图片计数-不改
	c = 1  # 帧数计数-不改
	videopath = r'./video/'+allDir  # 视频文件路径
	vc = cv.VideoCapture(videopath) # 读入视频文件
	# 存储视频的子目录
	path = './VideoToImage/'+allDir.split('.')[0]
	if not os.path.exists(path):    # 如果不存在就创建文件夹
		os.mkdir(path)

	if vc.isOpened():
		rval , frame = vc.read()
	else:
		rval = False

	timeF = 4                       # 帧数间隔
	while rval:
		rval,frame = vc.read()      # 分帧读取视频
		if rval==False:
			break
		if(c%timeF==0):
			cv.imwrite(path+'/'+str(a)+'.jpg',frame)    # 保存路径
			a = a+1
		c = c+1
		cv.waitKey(1)
	vc.release()

目录结构:

 

video中存放视频,VideoToImage存放截取的图片。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值