在Docker中使用OpenCV(Python)访问网络摄像头?

Gri*_*per 11 python opencv docker

我正在尝试将Docker用于我们的一个项目,该项目使用OpenCV来处理网络摄像头源(Python).但我似乎无法访问docker中的网络摄像头,这是我用来测试网络摄像头访问的代码:

python -c "import cv2;print(cv2.VideoCapture(0).isOpened())"
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所尝试的,

 docker run --device=/dev/video0 -it rec bash

 docker run --privileged --device=/dev/video0 -it rec bash

 sudo docker run --privileged --device=/dev/video0:/dev/video0 -it rec bash
Run Code Online (Sandbox Code Playgroud)

所有这些回归False,我做错了什么?

pal*_*one 7

您提供的链接中的 Dockerfile 没有指定 opencv 是如何安装的,您能提供您使用的 Dockerfile 吗?或者你是怎么安装opencv的?

如果您通过 pip 安装 opencv,则 VideoCapture(0) 将无法工作。

你使用--device=/dev/video0:/dev/video0正确。