如何使用docker和OpenCV打开网络摄像头并处理图像?

时间:2016-07-28 10:30:47

标签: python opencv docker dockerfile

我有一个使用OpenCV的python脚本,当有人运行我的脚本时,我想从他们的网络摄像头处理图像并返回结果。我该怎么做?

这是我尝试的方式:

我的简单测试python脚本:

import cv2
cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()

    print ret

这是我的dockerfile:

FROM gaborvecsei/opencvinstall

ADD testcode.py ./testcode.py

#Start sample app
CMD ["python", "testcode.py"]

在我构建它并运行它之后,它总是打印False,这意味着我没有来自网络摄像头的任何图像。

我如何获得图像?

2 个答案:

答案 0 :(得分:0)

要使用docker容器显示凸轮,应在启动容器时传递--device参数。

docker start --device /dev/video0 helloworld:1.0.0

答案 1 :(得分:-1)

你必须显示框架。使用cv2.imshow('Preview', frame)。在while loop之外你必须释放相机,所以你应该输入cap.release()