如何在 cv2.VideoWriter 中使用 FPS 参数?

Tom*_*Tom 6 python video opencv windows-xp python-2.5

好的,所以我正在制作视频。我想确切地知道如何使用 FPS 参数。它是一个浮点数,所以我认为这是我想要的每帧之间的间隔。能给我举个例子吗?我只想知道视频会如何随着 FPS 参数值的变化而变化。,因为我制作的视频现在太快了。谢谢!

hjw*_*ide 12

真的是这样—— frames per second。换句话说,你想每秒显示多少帧?

下面是一个例子:

writer = cv2.VideoWriter(filename="my_video.avi",  #Provide a file to write the video to
fourcc=cv2.cv.CV_FOURCC('i','Y', 'U', 'V'),            #Use whichever codec works for you...
fps=15,                                        #How many frames do you want to display per second in your video?
frameSize=(width, height))                     #The size of the frames you are writing
Run Code Online (Sandbox Code Playgroud)

用法示例:

while True:
    flag, frame = capture.read()
    cv2.imshow("Camera", frame)
    key_pressed = cv2.waitKey(10)
    if key_pressed == 27:                           #Escape key
        break
    writer.write(frame)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

因此,您将拥有一个视频文件,其中包含您的相机捕获的所有静止帧,这些帧拼接在一起作为单个视频。每秒显示的帧数将与您使用fps参数设置的一样。(如果你的视频太快,我建议设置一个较低的fps

我写了这段代码,所以我还没有测试它,但它应该可以工作。如果您有任何疑问或问题,请告诉我。我希望这可以帮助你!