def convert_video(self, video_path, output_directory, skip=0, resize=400):
video = cv2.VideoCapture(video_path)
video_output = None
i = 0
img_init = None
while video.get(cv2.cv.CV_CAP_PROP_POS_AVI_RATIO) < 1.0:
i += 1
for _ in range(skip+1):
status, bgr_img = video.read()
img = PIL.Image.fromarray(cv2.cvtColor(
bgr_img,
cv2.COLOR_BGR2RGB
))
img = neural_art.utility.resize_img(img, resize)
if video_output is None:
video_output = cv2.VideoWriter(
"{}/out.avi".format(output_directory),
fourcc=0, #raw
fps=video.get(cv2.cv.CV_CAP_PROP_FPS) / (skip + 1),
frameSize=img.size,
isColor=True
)
if(not video_output.isOpened()):
raise(Exception("Cannot Open VideoWriter"))
if img_init is None:
img_init = img
converted_img = self.frame_converter.convert(img, init_img=img_init, iteration=self.iteration)
converted_img.save("{}/converted_{:05d}.png".format(output_directory, i))
img_init = converted_img
video_output.write(cv2.cvtColor(
numpy.asarray(converted_img),
cv2.COLOR_RGB2BGR
))
video_output.release()
评论列表
文章目录