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将视频按帧读取并转换成图片的主要内容,如果未能解决你的问题,请参考以下文章

对图片中的表格进行识别,并转换成excel文件(python小软件)(批量)

Opencv:按帧数读取视频并保存图片

python+openCV (入门级)车道线检测 学习笔记

opencv python图片编码解码

从一段视频中按帧提取图片

27_将视频按帧率获取图片