python将视频按帧读取并转换成图片
Posted 每天睡不醒。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python将视频按帧读取并转换成图片相关的知识,希望对你有一定的参考价值。
python将视频按帧读取并转换成图片
代码如下
from glob import glob
import cv2
import tqdm
import os
video_path = glob(r’F:\\my_demo\\file_operation\\video_files\\*.mp4’)#视频所在路径
for videos in video_path:
vc = cv2.VideoCapture(videos)
name = videos.split(‘\\’)[-1].split(‘.’)[0]
# print(name)
save_path = os.path.join(os.getcwd(), name+‘_file’)#多个视频文件,创建对应的文件夹
if not os.path.exists(save_path):
file = os.mkdir(save_path) # 如果不存在这个path,就自动创建一个
# n = 0 #计数
# print(vc)
if vc.isOpened(): #判断是否打开
rval,frame = vc.read()
else:
rval = False
FPS = 1
i = 0
while rval : #循环读取视频
rval,frame = vc.read()
if (i % FPS == 0):
i += 1
print(f’第i张图片已经生成’)
try:
save = save_path + f’/imagei.jpg’
cv2.imwrite(save,frame)
except:
break
vc.release()
Opencv:按帧数读取视频并保存图片
import cv2 videoFile = ‘data/最强大脑.mp4‘ cap = cv2.VideoCapture(videoFile) frameNum = 0 while (cap.isOpened()): ret, frame = cap.read() frameNum = frameNum + 1 if frameNum % 2 == 0: # 调整帧数 cv2.imwrite(‘image/output/vieo1_‘ + str(frameNum) + ".jpg", frame) # 保存图片 cv2.namedWindow("resized", 0) # 0可以改变窗口大小了 # cv2.resizeWindow("resized", 640, 480) # 设置固定大小不能该,上面和一起使用 cv2.imshow("resized", frame) # 显示视频 if cv2.waitKey(1) & 0xFF == ord(‘q‘): break cap.release cv2.destroyAllWindows()
以上是关于python将视频按帧读取并转换成图片的主要内容,如果未能解决你的问题,请参考以下文章