Я использую cv2 для создания видео из разных имеющихся у меня кадров. Когда я создаю видео, я не могу изменить частоту кадров (кадров в секунду). Я хочу, чтобы видео было медленным в начале, но быстрым к концу, то есть с небольшими кадрами в секунду в начале и с большими к концу. Однако, когда я создаю экземпляр cv2.VideoWriter, я больше не могу изменить частоту кадров. Что мне делать?
Воспроизводимый код
import numpy as np
import cv2, os
import matplotlib
image_size = 200
def create_image_array(image_size):
image_array = np.random.randn(image_size, image_size)
row = np.random.randint(0, image_size)
image_array[row, :] = 100
return image_array
frame_numbers = 200
for i in range(frame_numbers):
image_array = create_image_array(image_size)
matplotlib.image.imsave(f'./shots/frame_{i:03d}.png', image_array)
def make_a_video(shots_folder, video_path):
shots_folder = 'shots'
fps = 25
images = [img for img in os.listdir(shots_folder) if img.endswith(".png")]
images = sorted(images)[:]
frame = cv2.imread(os.path.join(shots_folder, images[0]))
height, width, layers = frame.shape
video = cv2.VideoWriter(video_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (width, height))
for image in images:
video.write(cv2.imread(os.path.join(shots_folder, image)))
cv2.destroyAllWindows()
video.release()
shots_folder = 'shots'
video_path = 'video.mp4'
make_a_video(shots_folder, video_path)
Переменный fps (кадр в секунду) в cv2 ⇐ Python
Программы на Python
1774274561
Anonymous
Я использую cv2 для создания видео из разных имеющихся у меня кадров. Когда я создаю видео, я не могу изменить частоту кадров (кадров в секунду). Я хочу, чтобы видео было медленным в начале, но быстрым к концу, то есть с небольшими кадрами в секунду в начале и с большими к концу. Однако, когда я создаю экземпляр cv2.VideoWriter, я больше не могу изменить частоту кадров. Что мне делать?
[b]Воспроизводимый код[/b]
import numpy as np
import cv2, os
import matplotlib
image_size = 200
def create_image_array(image_size):
image_array = np.random.randn(image_size, image_size)
row = np.random.randint(0, image_size)
image_array[row, :] = 100
return image_array
frame_numbers = 200
for i in range(frame_numbers):
image_array = create_image_array(image_size)
matplotlib.image.imsave(f'./shots/frame_{i:03d}.png', image_array)
def make_a_video(shots_folder, video_path):
shots_folder = 'shots'
fps = 25
images = [img for img in os.listdir(shots_folder) if img.endswith(".png")]
images = sorted(images)[:]
frame = cv2.imread(os.path.join(shots_folder, images[0]))
height, width, layers = frame.shape
video = cv2.VideoWriter(video_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (width, height))
for image in images:
video.write(cv2.imread(os.path.join(shots_folder, image)))
cv2.destroyAllWindows()
video.release()
shots_folder = 'shots'
video_path = 'video.mp4'
make_a_video(shots_folder, video_path)
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия