2017-02-10 18 views
0

У меня есть каталог изображений .png, которые я хочу вставить в один mp4? Я уверен, что OpenCV можно использовать для этого, но я не могу найти какие-либо ресурсы о том, как именно? Есть идеи? или учебники?Python - Используя OpenCV, как вставить .png в один mp4?

Спасибо.

ответ

0

Вы можете использовать VideoWriter сначала написать mp4 в новый файл, а затем записать изображения в хвосте этого файла, как показано на рисунке :

import cv2 
import cv 
cap = cv2.VideoCapture("your_mp4.mp4") 
ret,img=cap.read() 
frame1=cv2.imread("your_img1.jpg") 
frame2=cv2.imread("your_img2.jpg") 
height , width , layers = img.shape  
fps=20 
video = cv2.VideoWriter("rec_out.avi", cv.CV_FOURCC(*'DIVX'), fps, (img.shape[1], img.shape[0])) 
while True: 

    ret,img=cap.read() 
    height , width , layers = img.shape 
     video.write(img) 
    cv2.imshow('Video', img) 
    video.write(img) 
    if(cv2.waitKey(10) & 0xFF == ord('b')): 
      break 

#stick your images here 
video.write(frame1) 
video.write(frame2) 
cv2.destroyAllWindows() 
video.release() 
2

Лучший способ сделать это было бы с ffmpeg, вы могли бы сделать это следующим образом:

ffmpeg -framerate 24 -i img%03d.png output.mp4 

где:

  • -framerate Ваш желаемый фреймрейт (в кадрах в секунду)
  • -i указывает, что ваши изображения отформатированы в формате img001.png, img002.png ect ...
  • и output.mp4 является выходной файл

Дополнительная информация here

+0

У меня есть каталог изображений, которые я хочу застрять в одном mp4, это просто делает это для одного, и я попросил его в Python. –

+1

Этот метод будет делать это как можно больше изображений, и если бы вы потрудились провести какое-либо исследование, вы бы нашли этот ответ: http://stackoverflow.com/questions/14440400/creating-a-video-using -opencv-2-4-0-in-python –

+0

Извините, что означает 03d? –

 Смежные вопросы

  • Нет связанных вопросов^_^