功能如标题,代码如下:
import os
import numpy as np
from tqdm import tqdm
import time
from PIL import Image
from moviepy.editor import VideoFileClip,ImageClip
def convert_video_to_image(video_file_path,output_folder_path,every_n_frames):
if not os.path.exists(output_folder_path):
os.makedirs(output_folder_path)
video = VideoFileClip(video_file_path)
video_name = os.path.splitext(os.path.basename(video_file_path))[0]
for i,frame in tqdm(enumerate(video.iter_frames()),total=int(video.fps*video.duration),desc="deal single video"):
if i%%every_n_frames==0:
savename = os.path.join(output_folder_path,video_name+'_'+time.strfmate("%Y%m%d%H%M%S")+f"_{i}.jpg")
frame=frame[20:30,50:60,:]
img= Image.fromarray(frame)
img.save(savename)
frame_image = ImageClip(frame)
frame_image.save_frame(savename)
video.reader.close()
video.audio.reader.close_proc()
使用PIL可以对图片进行额外的处理。以上代码显然要比用opencv来做这个操作简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)