我正在尝试使用 cv2.VideoCapture 从 docker 容器中捕获图像。
导入cv2
vid = cv2.VideoCapture('路径\到\视频')
ret, frame = vid.read()
在视频文件方面,
我努力了
使用 docker -v
挂载文件
或 docker cp
将视频文件复制到容器中,
但都没有运气(ret 返回 False)。
我应该在启动容器时添加任何命令吗? 提前致谢。
最佳答案
可能有2个问题:
1) 在你的容器中 opencv 没有正确安装。检查打印(ret,frame)。如果他们来了(假,无)。那么opencv没有安装好。
2) 您正在使用的文件已损坏。要检查是否尝试将任何图像文件 (jpg) 复制到容器中并使用 cv2.imread 读取图像然后打印它。如果出现 numpy 数组,那么在复制文件时不会损坏。
最好的选择是拉取任何 opencv + python 图像,然后用它创建一个容器。更好的选择是使用这些图像的 dockerfiles 来创建容器。
关于python - cv2.VideoCapture 在 docker 容器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44242760/