Python - 使用 OpenCV 如何将 .png 粘贴到单个 mp4 中?

Python - Using OpenCV how to stick .png's into a single mp4?

我有一个 .png 图像目录,我想将其粘贴到单个 mp4 中? 我相信 OpenCV 可以用来这样做,但我找不到任何关于如何做到这一点的资源?有任何想法吗?或教程?

谢谢。

最好的方法是使用 ffmpeg,您可以这样做:

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

其中:

  • -framerate 是您想要的帧率(以 fps 为单位)
  • -i 表示您的图像格式为 img001.pngimg002.png 等等...
  • output.mp4 是输出文件

更多信息here

你可以先用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()