Во-первых, я знаю, что этот вопрос задавался ранее, но ничего, что я нашел, не помогло.
Я просто хочу сделать видео из серии матриц, и я подумал, что написал его все правильно, но это не работает. Вот фрагмент кода, который я использую, чтобы попытаться отладить его:
import cv2
import numpy as np
print(cv2.__version__)
print(np.__version__)
gout = cv2.VideoWriter('temp.mp4', cv2.VideoWriter_fourcc(*'mp4v'), 100.0, (100, 100))
for i in range(100):
mat = np.uint8(np.random.rand(100,100)*256)
gout.write(mat)
gout.release()
Версия cv2 - 4.1.2, а версия numpy - 1.17.4
У меня есть пробовал разные четыре cc кода, и ничего не работает. Видео создается, и оно показывает, что у него есть данные (это не 0kb в проводнике), но когда я go открываю его с помощью VL C, программа сбрасывает. Строка заголовка очень быстро мигает назад и вперед от «temp.mp4 - VL C media player» до «VL C media player». (Другие видеоплееры, например приложение windows Фото, тоже не работают)
Похоже, что видео, которое я пишу, каким-то образом повреждено, но я действительно не уверен, насколько это возможно. Мне кажется, что этот фрагмент кода о самом простом из возможных вариантов использования cv2.VideoWriter, и я не вижу, какую часть я мог бы отладить на этом этапе.