一、视频分帧
处理视频也像处理文字or图片一样,化整为零。
#首先还是导入包,以及修改目录
import cv2
import os
os.chdir('当前目录')
print(os.getcwd())
#将指定mp4文件分帧到指定文件夹
os.mkdir('./pic') #创建一个新的文件夹
v_path='ghz.mp4' #要进行分帧的mp4文件
image_save=r'C:\Users\81244\Desktop\Python practice\pic' #指定文件夹的路径
cap=cv2.VideoCapture(v_path) #读取视频或摄像头,并进行保存帧图像或视频(参数0则默认为内置的第一个摄像头,需要读取已有视频的话就是视频所在路径)
frame_count=cap.get(cv2.CAP_PROP_FRAME_COUNT) #计算视频的总帧数
for i in range(int(frame_count)):
_,img = cap.read() #前面为True或者False,代表有没有读取到图片;第二个参数代表截取到一帧的图片
#img=cv2.cvtColor(img,cv2.cv2.COLOR_BGR2GRAY) #修改为灰度图
cv2.imwrite('./pic/image{}.jpg'.format(i),img) #前面是路径,{}里面是命名时加上分帧图片的排序i
问题① 视频分帧的文件夹
一开始程序正常运行没有报错,但是并没有看到处理后的视频帧文件。
因为需要提前创建需要写入的pic文件夹,或者也可以直接用os.mkdir()进行创建。
注意:使用os.mkdir()时不能创建与已存在的文件夹同名的文件夹。
二、FFMpeg
是很好用的一个视频软件