0

我在 hp touchsmart 600 上运行 windows 7 64 位(32 位 python)。不久前我卸载然后重新安装了 opencv 2.4.3。在卸载和重新安装之间,我卸载了一些我认为没有被使用的程序。现在 opencv 仅在 opencv 能够正确访问我的网络摄像头之前显示黑屏。

但是,如果我使用摄像头 2(即 cam = create_capture(2,...)),opencv 能够正确使用我的网络摄像头。为什么camera 0突然停止工作?它是否以某种方式变成了摄像头 2,或者我是否可以卸载 opencv 访问我的网络摄像头所需的依赖项?此外,即使我只有一个网络摄像头,使用摄像头 1 和 3 也可以。

4

1 回答 1

0

摄像头 0 指向您的默认摄像头驱动程序,摄像头 1 指向您的辅助驱动程序,摄像头 2 指向您的第三个驱动程序,依此类推。

这意味着即使使用单个相机硬件,您也可以拥有多个可以访问它的驱动程序。

假设您的主凸轮驱动程序(可能由 HP 提供)在卸载过程中损坏。这意味着当您调用相机 0 时,您正在实例化 HP 驱动程序(现在已损坏),这会给您一个黑屏。

但是,由于您的摄像头硬件不受影响,二级和三级摄像头驱动程序也不受影响,因此当您访问摄像头 1 时,您的辅助摄像头驱动程序会正确流式传输实时源。

如果您没有第三个摄像头驱动程序,则摄像头 2 将指向辅助驱动程序。因此,如果没有驱动程序与摄像头 2 关联,则摄像头 2 将调用与摄像头 1 对应的驱动程序

于 2016-10-18T06:43:25.117 回答