抽帧只需要opencv-python即可实现
此处代码还将抽到的帧进行了灰度处理,以便实现将彩色视频转变为黑白视频
代码:
import os import cv2 os.chdir('视频文件根目录')#例如f:/video v_path='ghz.mp4' image_save='./pic' cap=cv2.VideoCapture(v_path) frame_count=cap.get(cv2.CAP_PROP_FRAME_COUNT) for i in range(int(frame_count)): _,img=cap.read() img=cv2.cvtColor(img,cv2.cv2.COLOR_BGR2GRAY) #cv2.COLOR_RGB2HSV cv2.COLOR_BGR2GRAY cv2.imwrite('./pic/image{}.jpg'.format(i),img)
运行结果:
此处需要用到FFmpeg,请自行百度下载
代码:
import os import cv2 import subprocess v_path='ghz.mp4' image_save='./pic' images_path = image_save+'/image%d.jpg' fps = str(24) str_cmd = '"exe文件所在根目录/ffmpeg.exe" -f image2 -i ' + images_path + ' -r '+fps+' output_new.mp4' p = subprocess.Popen(str_cmd, shell=True, stdout=None, stderr=None) stdout, stderror = p.communicate()
运行结果: