- 前言:做深度学习,常常需要自己制作数据集,因此如何将视频转化为图片,将图片制作成相应格式的数据集,是一个基础。
本文旨在解决将视频转成批量的图片,废话不多说,亲测完成的。
import cv2
video_path = 'F:/BaiduNetdiskDownload/video.mp4' # 视频地址
output_path = 'F:/BaiduNetdiskDownload/' # 输出文件夹
interval = 10 # 每间隔10帧取一张图片
if __name__ == '__main__':
num = 1
video = cv2.VideoCapture(video_path)
fps = video.get(cv2.CAP_PROP_FPS)#帧率
frames = video.get(cv2.CAP_PROP_FRAME_COUNT)#总的帧数
print("fps=",int(fps),"frames=",int(frames))#打印一下(以上三行可以不要,写在这里是为了大概知道视频会输出多少张图片来合理的取帧的间隔)
while video.isOpened():
is_read, frame = video.read()
if is_read:
if num % interval == 1:
file_name = '%d' % num
cv2.imwrite(output_path + str(file_name) + '.jpg', frame)#输出图片
cv2.waitKey(1)
num += 1
else:
break
如果觉得本文帮助到你,就点个赞吧。关注我之后会更新如何用labelme制作数据集,然后将.json转成.txt,可以用于yolo训练。