cv2.VideoCapture在Docker容器中不起作用

我正在尝试使用cv2.VideoCapture从Docker容器中捕获图像。

import cv2 vid = cv2.VideoCapture('path\to\video') ret, frame = vid.read()

在video文件方面,我试图用docker -v或者docker cp来装载文件,把video文件复制到容器中,但都没有运气(ret返回False)。

我应该在启动容器时添加任何命令吗? 提前致谢。

可能有两个问题:

1)在你的容器opencv安装不正确。 检查打印(ret,frame)。 如果他们来(假,无)。 然后opencv没有正确安装。

2)您正在使用的文件已损坏。 要检查试图将任何图像文件(jpg)复制到容器中,并使用cv2.imread来读取图像,然后打印它。 如果numpy数组来的时候,而复制您的文件没有被损坏。

最好的select是拉任何opencv + python图像,然后创build一个容器。 更好的select是使用这些图像的dockerfiles来创build容器。