Изображения для видео с помощью OpenCV - PullRequest
0 голосов
/ 11 июня 2018

У меня есть корневая папка / train_images, в которой есть подпапки, такие как / train_images / 1, / train_images / 2 ... и т. Д.В каждой из подпапок есть изображения.Я хочу сделать видео, соответствующее каждой подпапке, если num (images)> 4.Ниже приведен код, который я написал для того же.это работает, если есть только 1 подпапка, и останавливается при создании 2-го объекта Videowriter.Пожалуйста, помогите

import cv2
import os

root_folder = 'train_images'
video_folder = 'output_video'
folders = [folder for folder in os.listdir(root_folder)]
for folder in folders:
 child = os.path.join(root_folder,folder)
 images = [img for img in os.listdir(child) if img.endswith(".jpg")]
 print('%d images in the path %s' % (len(images),child))
 if(len(images)>=4):
    video_path ='{}.avi'.format(folder)
    print(video_path)
    print(os.path.join(video_folder, video_path))
    video = cv2.VideoWriter(os.path.join(video_folder, video_path), -1, 5, (224, 320))
    for img in images:
     frame = cv2.imread(os.path.join(child, img))
     print('writing from %s' %(os.path.join(child, img)) )
     frame_new=cv2.resize(frame,(224,320))
     #print(frame_new.shape)
     video.write(frame_new)

cv2.destroyAllWindows()
video.release()
...