2017-02-10 45 views

回答

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是你所期望的帧率(单位为fps)
  • -i表示您的图像格式为格式img001.pngimg002.png等...
  • 和output.mp4是输出文件

更多信息here

+0

我有一个图像目录我想陷入一个单一的mp4,这只是一个,我问它在Python中。 –

+1

这种方法将尽可能多的图像,如果你打算做任何研究,你会发现这个答案:http://stackoverflow.com/questions/14440400/creating-a-video-using -opencv-2-4-0-in-python –

+0

对不起,03d是什么意思? –

相关问题