辅助工具:ffmpeg
一、python-opencv将视频每一帧转图片
代码如下:
#!/usr/bin/env python
# coding: utf-8
# In[1]:
import os
import cv2
import subprocess
os.chdir('C:\\Users\\86181\\Documents\\Tencent Files\\1403293421\\FileRecv')
v_path='ghz.mp4'
image_save="C:\\Users\\86181\\Desktop\\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('C:\\Users\\86181\\Desktop\\pic\\image{}.jpg'.format(i),img)
images_path = image_save+'/image%d.jpg'
fps = str(24)
str_cmd = '"ffmpeg/bin/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()
# In[8]:
print(dir(cv2))
# In[ ]:
结果如下:
二、借助ffmpeg生成视频
下载ffmpeg
在命令行运行
"./ffmpeg/bin/ffmpeg.exe" -f image2 -i ./imgs/image%d.jpg -r 24 output.mp4