如何从OpenCV/Python/OSX中的PointGrey USB相机捕捉帧?

2024-10-06 06:48:04 发布

您现在位置:Python中文网/ 问答频道 /正文

PointGrey是机器视觉摄像头的领先制造商,但不幸的是,他们对Mac OS的支持非常有限。一次www搜索让我猜测我需要安装libusb和libdc1394才能识别摄像头,这是我用brew做的。这没用。在

我不明白libusb和libdc1394库到底是如何工作的,除了它们处理相机的握手和通过USB总线的数据传输。OpenCV通常使打开相机并开始处理帧变得非常容易,但不幸的是,当它不工作时,它不清楚如何调试。我找到了libusb和libdc1394的python包装器,并将它们包含在我的代码中,结果没有出现错误,但也没有抓到运气的帧。在

如果你没有一个确切的答案,建议解决这个问题的策略,即我应该如何系统地处理这个问题,诊断所有可能的故障模式。当OpenCV试图检测和读取摄像头时,有没有一种方法可以让我更清楚地看到发生了什么?在

我的python/opencv代码可以很好地使用一个简单的capture = cv2.VideoCapture(0) 但不适用于capture = cv2.VideoCapture(1),其输出如下:

Warning, camera failed to properly initialize!
Cleaned up camera.

通常,cv2.VideoCapture(0)会在我的macbook上提供内置摄像头,而据我所知,cv2.VideoCapture(1)将提供下一个可用的摄像头(即通过USB插入)。在

我知道摄像机在windows机器上(在windows影音制作中)效果很好。我是否需要进一步做些什么来让python和opencv在osx下识别摄像头?在


Tags: 代码机器windows视觉cv2opencvcamerausb