【问题标题】:Opencv Not displaying image inside dockerOpencv没有在docker内显示图像
【发布时间】:2018-12-08 05:45:18
【问题描述】:

我正在尝试从 docker 容器内使用 OpenCV imshow GUI。 我使用以下内容来启动我使用 nvidia-docker 的容器,因为该容器包含 GPU 版本的 Tensorflow

xhost +
nvidia-docker run \
--rm \
--name tf_keras \
--link mongodb_database:data_mongo \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $1:/abhijit_home \
-p 8888:8888 -p 6006:6006 \
tensorflow_gpu_v1

当我尝试使用 OpenCV 显示图像时,我只是得到一个空白屏幕。

我尝试显示的图像是使用 matplotlib 显示的。我该如何纠正?谢谢

【问题讨论】:

  • Jupyter 笔记本在显示带有 cv2.imshow() 的图像时存在已知问题。简而言之,不要在 Jupyter 笔记本中使用它。使用另一个绘图库在线显示图像。或者,您可以保存图像,然后将其与 HTML 或其他 Jupyter 笔记本功能内联显示。但是,使用cv2.startWindowThread() 有可能的解决方法。见here。
  • 你能解决这个问题吗?我在使用 OpenCV 和 Docker 时遇到了同样的问题。
  • 您找到解决方案了吗?我需要在线显示很多图像并且无法保存它,因为性能

标签: python opencv user-interface docker


【解决方案1】:

这可能与matplotlib 有关。试试

import matplotlib
matplotlib.use('Agg')

【讨论】:

  • 不是,因为OpenCV不使用matplotlib。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-05
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 2016-08-30
  • 2015-08-24
相关资源
最近更新 更多