【发布时间】:2018-09-30 08:28:10
【问题描述】:
我正在使用运行 cortex A5 @500MHz 的 SOM,并试图最大化从 USB 摄像头接收的帧速率。我的相机支持使用 YUYV 和 MJPEG 进行视频拍摄。
其他帖子建议强制 opencv 从摄像头读取 MJPEG 帧,但这会减慢帧速率。
目前我可以在 640x480 下以大约 18 fps 的速度读取 YUYV 格式和大约 10 fps 的速度读取 MJPEG。目前我只是抓帧,没有做任何其他处理。我在每个循环中获取 CAP_PROP_FOURCC 格式,以确保 opencv 正确设置捕获格式。
我目前正在运行 opencv 4 和 python3.5
任何想法为什么会发生这种情况?
编辑:捕获代码:
# Repeatedly capture current image
while True:
ret, image = cap.read()
if image is None:
time.sleep(0.5)
continue
codec = cap.get(cv2.CAP_PROP_FOURCC)
print(codec)
# Print the framerate.
text = '{:.2f}, {:.2f}, {:.2f} fps'.format(*fps.tick())
print(text)
【问题讨论】:
-
mjpeg 需要更少的带宽,但需要更多的相机处理能力。尝试删除 CAP_PROP_FOURCC 读数,这可能会或可能不会很慢,具体取决于驱动程序。发布您的捕获代码。
-
opencv 4 是 alpha 状态 atm,最好使用 opencv 3.4.x atm。
标签: python python-3.x opencv