微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python opencv - 如何加速我的电影

如何解决Python opencv - 如何加速我的电影

我想将我的电影速度提高 2 倍,这意味着每一帧都会出现原始时间的一半。我的代码目前没有这样做,我不明白为什么。我目前得到的错误在这一行 (if cv2.waitKey(0.5) & 0xFF == ord('q'):) 并且错误是:TypeError:参数“delay”必须是整数

这是我的代码

import cv2

cap = cv2.VideoCapture('video.mp4')

while cap.isOpened():

    ret,frame = cap.read()
    cv2.imshow('video',frame)
   
    if cv2.waitKey(0.5) & 0xFF == ord('q'): # if I understand correctly the number in the bracket which is currently 0.5 shoud speed up the proces but it doesn't
        break

cap.release()
cv2.destroyAllWindows()

解决方法

cv2.waitKey(0.5) 需要一个整数(毫秒),而您提供一个浮点数(可能以秒为单位)。

the doc

函数waitKey无限等待一个按键事件(当delay≤0时) 或延迟毫秒,...

您应该输入 500 而不是 0.5


这将修复您的错误,但不会加速您的视频。
要加快视频播放速度,您应该get the frame rate 并以两倍的速度播放。

,

首先,waitkey 只接受 int 类型的输入。该整数代表每帧毫秒数,增加该数字会减慢视频速度,而不会加快视频速度。

其次,我在stackoverflow中发现了一个类似的问题,希望对您有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。