我正在尝试运行此https://github.com/xamyzhao/timecraft/blob/master/make_timelapse.py
而且colab不支持cv2.imshow,所以我更改了此部分
for i in range(n_samples):
pred_vid = video_predictor_model.predict(
[im[np.newaxis], np.ones((1,) + im.shape), np.zeros((1, 5))])
print(f'Predicted video shape: {pred_vid.shape}')
pred_vid_im = vis_utils.visualize_video(
pred_vid[0], normalized=True)
cv2.imshow(f'Video sample {i+1}', pred_vid_im)
cv2.waitKey()
到
from google.colab.patches import cv2_imshow
for i in range(n_samples):
pred_vid = video_predictor_model.predict(
[im[np.newaxis], np.ones((1,) + im.shape), np.zeros((1, 5))])
print(f'Predicted video shape: {pred_vid.shape}')
pred_vid_im = vis_utils.visualize_video(
pred_vid[0], normalized=True)
#cv2.imshow(f'Video sample {i+1}', pred_vid_im)
cv2_imshow(pred_vid_im)
cv2.imwrite(f'Video sample {i+1}.jpg', pred_vid_im)
cv2.waitKey(0)
cv2.destroyAllWindows()
但是保存的帧只是黑色的,我不确定为什么
答案 0 :(得分:1)
这不是google colab问题。 pred_vid_im保留标准化值。因此所有值都将在0到1之间。这就是保存的图像为黑色的原因。 因此,您需要将pred_vid_im乘以255.0。将代码更改为此,
pred_vid_im = vis_utils.visualize_video(pred_vid[0], normalized=True) * 255.0
现在保存的图像将是正确的。