在 opencv 中放入 waitkey 需要多少毫秒 python
how much miliseconds to put in waitkey in opencv python
我想用 OpenCV 在 python 中显示视频,我知道该怎么做,但我就是这样做的
import cv2
cap = cv2.VideoCapture("Resorces/test.mp4")
while True:
success, img = cap.read()
cv2.imshow("video", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
但问题是在第 2 行有一个 cv2.waitKey 那里我插入了 1 英里但是视频的长度是 30 秒通过这样做视频非常快并且很快结束
所以我希望视频是 30 秒,所以我应该放什么
这是我的视频
https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_640_3MG.mp4
请帮帮我
谢谢
使用fps = cap.get(cv2.CAP_PROP_FPS)
得到每秒的帧数然后你可以除以1000 / fps
也就是每秒1000毫秒并转换为int
得到帧延迟以获得真实的回放。
注意:图像中有一些开销读取,所以这只是近似值,但在实践中我发现只要您不在 while
循环中进行任何繁重的处理就足够了。
完整代码清单,
import cv2
cap = cv2.VideoCapture("Resorces/test.mp4")
fps = cap.get(cv2.CAP_PROP_FPS)
frm_delay = int(1000 / fps)
while True:
success, img = cap.read()
cv2.imshow("video", img)
if cv2.waitKey(frm_delay) & 0xFF == ord('q'):
break
我想用 OpenCV 在 python 中显示视频,我知道该怎么做,但我就是这样做的
import cv2
cap = cv2.VideoCapture("Resorces/test.mp4")
while True:
success, img = cap.read()
cv2.imshow("video", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
但问题是在第 2 行有一个 cv2.waitKey 那里我插入了 1 英里但是视频的长度是 30 秒通过这样做视频非常快并且很快结束
所以我希望视频是 30 秒,所以我应该放什么
这是我的视频 https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_640_3MG.mp4
请帮帮我 谢谢
使用fps = cap.get(cv2.CAP_PROP_FPS)
得到每秒的帧数然后你可以除以1000 / fps
也就是每秒1000毫秒并转换为int
得到帧延迟以获得真实的回放。
注意:图像中有一些开销读取,所以这只是近似值,但在实践中我发现只要您不在 while
循环中进行任何繁重的处理就足够了。
完整代码清单,
import cv2
cap = cv2.VideoCapture("Resorces/test.mp4")
fps = cap.get(cv2.CAP_PROP_FPS)
frm_delay = int(1000 / fps)
while True:
success, img = cap.read()
cv2.imshow("video", img)
if cv2.waitKey(frm_delay) & 0xFF == ord('q'):
break