docker中使用matplotlib显示图片

在使用nvidia-docker和nvidia cloud的tensorflow镜像时,遇到matplotlib无法显示图片的问题。解决方法包括安装依赖库,修改matplotlib backend为'Tkagg',并保存镜像更改。通过设置--net=host,--env="DISPLAY"和-v /tmp/.X11-unix:/tmp/.X11-unix参数,实现与主机共享显示,利用X11的客户端/服务端模式让Docker容器与本地显示器协同工作。
摘要由CSDN通过智能技术生成

使用了的是nvidia-docker,nvidia cloud的tensorflow(python3)镜像,然后发现用matplotlib显示不了图片

  1. 需要安装几个依赖库并重新安装matplotlib
    sudo apt-get install tcl-dev tk-dev python3-tk
    pip uninstall matplotlib
    pip install matplotlib
    这样可以让matplotlib的backend为’Tkagg‘,具体参考Matplotlib无法显示图像的问题
  2. 这样对容器进行了修改,所以要保存更改到镜像(方便下次使用镜像)
    先用docker ps命令查看修改后的容器ID和对应的image。
    然后保存改动
    docker commit [CONTAINER ID] [IMAGE]
    具体参考docker保存对容器的修改
  3. 把图片显示到本地显示器
    sudo nvidia-docker run -it --shm-size=2g --ulimit memlock=-1 --ulimit stack=67108864 --net=host --rm --env="DISPLAY" -v /tmp/.X11-unix:/tmp/.X11-unix -v /media/asic/asic/tensorflow_docker20181227:/tf1228 tf/test
以下是使用Docker部署ORB-SLAM2的步骤: 1. 安装Docker 如果尚未安装Docker,请按照Docker官方文档的说明进行安装。 2. 下载ORB-SLAM2源代码 从ORB-SLAM2的GitHub存储库下载源代码。您可以使用以下命令: ``` git clone https://github.com/raulmur/ORB_SLAM2.git ``` 3. 构建Docker镜像 在ORB-SLAM2源代码目录,创建一个名为Dockerfile的文件,并将以下内容复制到其: ``` FROM ubuntu:16.04 RUN apt-get update && \ apt-get install -y \ build-essential \ cmake \ git \ libeigen3-dev \ libglew-dev \ libsuitesparse-dev \ libopencv-dev \ libboost-all-dev \ libvtk6-dev \ libjpeg-dev \ libpng-dev \ libtiff-dev \ libopenexr-dev \ freeglut3-dev \ libxi-dev \ libxmu-dev \ python3-dev \ python3-numpy \ python3-pip \ python3-scipy \ python3-matplotlib \ ipython3 && \ pip3 install --upgrade pip && \ pip3 install jupyter WORKDIR /ORB_SLAM2 COPY . /ORB_SLAM2 RUN chmod +x build.sh && \ ./build.sh CMD ["bash"] ``` 这个Dockerfile使用Ubuntu 16.04作为基础镜像,并安装了ORB-SLAM2所需的所有依赖项。它还将ORB-SLAM2源代码复制到容器,并运行build.sh脚本来编译ORB-SLAM2。 在ORB-SLAM2源代码目录使用以下命令构建Docker镜像: ``` docker build -t orbslam2 . ``` 此命令将使用名为orbslam2的标签构建Docker镜像。该过程可能需要一些时间来完成。 4. 运行ORB-SLAM2 现在,您可以使用以下命令在Docker容器运行ORB-SLAM2: ``` docker run -it --rm --device=/dev/video0 orbslam2 ``` 此命令将启动一个新的Docker容器,并将其与计算机上的摄像头设备(/dev/video0)连接。ORB-SLAM2将在容器运行,并且您将能够在控制台查看ORB-SLAM2输出。 这是一个简单的例子,您可以按照ORB-SLAM2的文档以及您自己的需要来配置和运行它。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值