gpt4 book ai didi

python - 如何使VideoCapture返回错误而不是警告?

转载 作者:行者123 更新时间:2023-12-02 17:16:45 25 4
gpt4 key购买 nike

在Linux上尝试实现基本的try/except语句以从摄像机获取帧时,我注意到当摄像机丢失或设备索引错误时,OpenCV不会引发错误。而是显示警告。我怎么能抓到这个?
例:

import cv2

def foo(camera_index):
try:
cap = cv2.VideoCapture(camera_index)
except Exception:
print("Couldn't open camera at {}".format(camera_index))
使用在/dev/video/0上运行的摄像机运行foo(1)将打印: WARN:0] global /tmp/pip-req-build-kne9u3r2/opencv/modules/videoio/src/cap_v4l.cpp (893) open VIDEOIO(V4L2:/dev/video1): can't open camera by index然后,我的except是没有用的,因为cv2永远不会引发适当的异常(但是消息文本听起来像是错误)。

最佳答案

您无法捕获这些警告,但是可以检查是否已使用isOpened()方法成功创建了VideoCapture对象。
举个例子:

cap = cv2.VideoCapture(camera_index)
if not cap.isOpened():
raise Exception("Couldn't open camera {}".format(camera_index))
创建 VideoCapture对象后执行此检查是一种常见的模式。参见 here的另一个示例。

关于python - 如何使VideoCapture返回错误而不是警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64393215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com