Добавьте эффекты перехода и аудио к видео, которое создается неподвижными изображениями в opencv - PullRequest
1 голос
/ 13 декабря 2011

Я использую opencv и успешно создал видео файл, используя количество изображений.Теперь я хочу добавить некоторые эффекты к изображениям, эффекты перехода, которые мы обычно используем в слайд-шоу, например, FadeIn или FadeOut.И фоновое аудио тоже.Можно ли это сделать с opencv ??

Также я хочу показать одно изображение с задержкой в ​​одну секунду?код ниже показывает четыре изображения в одну секунду.Я новичок в opencv, поэтому, пожалуйста, помогите с этим.

import cv

im1 = cv.LoadImage("Sunset.jpg")
im2 = cv.LoadImage("Blue hills.jpg")
im3 = cv.LoadImage("Water lilies.jpg")
im4 = cv.LoadImage("Winter.jpg")

fps = 4.0
frame_size = cv.GetSize(im1)

writer = cv.CreateVideoWriter("out.avi", -1, fps, frame_size, True)

for i in range(4):
    print cv.WriteFrame(writer, eval('im' + str(i+1)))

del writer

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Также я хочу показать одно изображение с задержкой в ​​одну секунду?

Установка видеокадра поможет вам, если вы установите кадр на 24, то вам следует

for i in range(len(frame)):
    videoWriter.write(frame)

затем вы получите изображение, показывающее со второй задержкой, так что вы также можете установить свой видеокадр на 1, и это уменьшит размер видео

videoWriter = cv2.VideoWriter('sample.mp4', 
                               fourcc,
                               1,  # set your Frame-Per-Second here
                              (567, 756))

Как добавить аудио в фильмfile?

В opencv не очень хороший способ сделать это, поэтому я использую moviepy для этого:

import moviepy.editor as mpe
my_clip = mpe.VideoFileClip('orginal_video.mp4')
audio_background = mpe.AudioFileClip('music.mp3')
final_audio = mpe.CompositeAudioClip([audio_background])
final_clip = my_clip.set_audio(final_audio)
# audio_codec="aac" could make final_clip played in iPhone/Android/PC
final_clip.write_videofile("final_clip.mp4", audio_codec="aac")
0 голосов
/ 13 декабря 2011

Да и нет.

OpenCV не предназначен для редактирования видео. Я имею в виду, вы можете сделать это, но это не фокус библиотеки .Тем не менее, OpenCV предлагает методы обработки изображений, которые могут помочь вам достичь тех интересных эффектов , которые вы ищете, но вы сами должны их написать.

Для паузы между кадрами проверьте * 1011Функция * sleep (из библиотеки времени Python).

OpenCV нацелена на компьютерное зрение (обработка аудио / видео), а не на аудио. Возможно, вы захотите взглянуть на ffmpegдля этого.Некоторое время назад я опубликовал ответ с общим кодом C для воспроизведения аудио / видео в окне SDL, используя комбинацию OpenCV для работы с изображениями и FFmpeg для загрузки аудиопотока из видеофайла .

...