Автор оригинала: Python Examples.
Python Opencv CV2 – Создать видео из изображений
В этом руководстве мы узнаем, как создать видео из изображения Numpy массивы.
Мы пройдем два примера. Первый читает изображения из файловой системы и создает видео. Второй пример создает видео непосредственно от программно сгенерированных Numpy массивов.
Чтобы создать видео из массивов изображений, выполните следующую последовательность шагов.
- Инициализировать писатель видео со следующими указанными элементами.
- Выходное видео имя файла
Fourcc
код, который определяет кодек- Количество кадров в секунду
- Размер видеокадра
- Напишите каждый массив изображений в объект Video Writer.
- Отпустите видео писателя.
Пример 1: Создание видео из изображений в папке
В этом примере мы будем читать изображения, представленные в папке, один за другим. Затем мы будем использовать Video Writer для записи каждого изображения в цикле, в файл выходных видео.
Python Program
import cv2 import numpy as np import glob frameSize = (500, 500) out = cv2.VideoWriter('output_video.avi',cv2.VideoWriter_fourcc(*'DIVX'), 60, frameSize) for filename in glob.glob('D:/images/*.jpg'): img = cv2.imread(filename) out.write(img) out.release()
'appy_video.avi'
это имя видеовыхода видео.cv2.videowriter_fourcc (* 'divx')
это кодек.60
это количество кадров в секунду. Таким образом, 60 изображений должны использоваться для создания видео длительности в одну секунду. Вы можете изменить это значение согласно требованию.Framesize = (500, 500)
Определяет ширину и высоту выходного видео.
В вышеупомянутой программе «Для» цикла «Для» прочитывает все файлы .jpg по одному на номерного массива, используя cv2.imread (). И изображение Numpy записано в видеофайл с помощью видеосигнала.
Обратите внимание, что приказ изображений, записанных в видеофайл, зависит от того, насколько глотч читает файлы из папки.
Вы можете контролировать заказ файлов, которые вы читаете в цикле для CONOR, контролируя порядок изображений в видео.
Пример 2: Создать видео из Numpy Armays
В этом примере мы создадим массив Python Of Numpy. Затем мы будем использовать это
Python Program
import cv2 import numpy as np frameSize = (500, 500) out = cv2.VideoWriter('output_video.avi',cv2.VideoWriter_fourcc(*'DIVX'), 60, frameSize) for i in range(0,255): img = np.ones((500, 500, 3), dtype=np.uint8)*i out.write(img) out.release()
Резюме
В этом учете примеров Python мы узнали, как писать изображения в видеофайл с использованием библиотеки Python OpenCV CV2.