Python小脚本:从视频中隔固定帧截取图像

从视频中隔固定帧截取图像

第三方库

cv2

安装命令:

pip install opencv-python

修改输入目录输出目录即可使用


import cv2
import os


def cap_picture(video_path,data_path,save_path):
	vc = cv2.VideoCapture(video_path)  # 读入视频文件,命名vc
	n = 1  # 计数
	if vc.isOpened():  # 判断是否正常打开
		rval, frame = vc.read()
	else:
		print("读取失败")
		rval = False
	timeF = 10  # 视频帧计数间隔频率,可自行设定

	i=0
	while rval:  # 循环读取视频帧
		rval, frame = vc.read()
		if (n % timeF == 0):  # 每隔timeF帧进行存储操作
			i += 1
			print(i)
			cv2.imshow("Video",frame)
			cv2.imwrite(r'{}/{}{}.jpg'.format(save_path,data_path[:-4],i), frame)  # 存储为图像

		n = n + 1
		cv2.waitKey(1)
	vc.release()

#将待处理视频存放到下面的目录中
filepath=r"C:/Users/Desktop/Dataset/video/"
#保存截取后的图片的文件目录
save_path=r"D:/Spyder/cap_picture/"
# cap_picture(r"C:/Users/Desktop/Dataset/video/VID_20210113_100638.mp4")

if __name__ == '__main__':
	for data_path in os.listdir(filepath):
		path=filepath+data_path
		print(path)
		cap_picture(path,data_path,save_path)

你可能感兴趣的:(Python脚本,python,opencv)