在做计算机视觉的时候,经常会使用到对视频的处理。
对于将视频分解成一帧帧的图片,代码如下:
import cv2
vidcap = cv2.VideoCapture(r'C:\Users\Win To Go\Desktop\training_lib_KTH\boxing\MyVideo_5.mp4')
success,image = vidcap.read()
count = 0
success = True
while success:
success,image = vidcap.read()
cv2.imwrite(r"C:\Users\Win To Go\Desktop\wavezhen1\frame%d.jpg" % count, image) # save frame as JPEG file
if cv2.waitKey(10) == 27:
break
count += 1
然后使用moviepy库进行合成视频,或许会有帧错乱的情况出现,这个我也没太搞懂。
最好使用pip install moviepy 命令安装,我在使用pycharm直接安装的时候,总是出现超时。
代码如下:
import os
#pip install moviepy
import moviepy.video.io.ImageSequenceClip
image_folder=r'C:/Users/Win To Go/Desktop/wave2'#open the image location
fps=10
image_files = [image_folder+'/'+img for img in os.listdir(image_folder) if img.endswith(".jpg")]
clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)
clip.write_videofile(r'C:\Users\Win To Go\Desktop\wave.mp4')
# r'C:\Users\Win To Go\Desktop\runzhen1\\'