繁体   English   中英

在树莓派 3 上为 docker 安装 OpenCV

[英]Installing OpenCV for docker on raspberry Pi3

最近我开始使用 Docker,我成功地构建了一些图像,用于运行使用 OpenCV 的 python 脚本。

现在进行下一步,我想在我的 Raspberry Pi3B+ 上部署这些映像,但我未能在 Pi 上构建它们。 我还尝试推送我在 Ubuntu 笔记本电脑上成功构建的映像,然后转到 Pi 并拉取映像以从中运行容器,但它也不起作用。

我发现原因是我所做的只是尝试在 armv7 arch(我的 Pi)上使用 amd64 arch(我的笔记本电脑)图像,因此会导致某种冲突。

然后我在 Docker Hub 上尝试了一些为 armv7 创建的基础镜像,例如: arm32v7/python:3.6 ,这是我的 Dockerfile:

FROM arm32v7/python:3.6

RUN apt-get -y update && apt-get -y upgrade \
        && apt-get install -y python3-pip \
        python3-numpy \
        libblas-dev \
        liblapack-dev \
        python3-dev \
        libatlas-base-dev \
        gfortran \
        python3-setuptools \
        python3-scipy \
        && apt-get -y update \
        && apt-get -y install python3-h5py \
        libsm6 \
        libxext6 \
        libxrender-dev 


RUN pip3 install scipy \
                cython \
                keras \
                opencv-python \
                scikit-image 

COPY cut.py detect.py c9_0_04_46_23_0.jpg /opt/
COPY MODEL /opt/MODEL
RUN mkdir -p /opt/anh_cut


WORKDIR /opt/

ENTRYPOINT ["python3", "cut.py"]

OpenCV 安装步骤发生错误:

找不到满足 opencv-python 要求的版本

我还尝试将pip config替换为:

[global]
extra-index-url=https://www.piwheels.org/simple

这是一个用于arm架构的预编译包的存储库,但仍然出现同样的问题。

我有什么办法可以解决这个问题吗? 如果没有,我可以在我的笔记本电脑上交叉编译 OpenCV 然后复制到 Dockerfile 吗? 如果我能有一些文件可以遵循,那就太好了,谢谢。

基于https://www.piwheels.hostedpi.com/ ,他们支持 python 版本 3.4、3.5 和 3.7。 这是一个报价(重点是我的):

支持

提供的 Wheels 支持所有 Raspberry Pi 型号(Pi 4、Pi 3、Pi 2、Pi 1 和 Pi Zero)。 为 Raspbian Jessie (Python 3.4) 、Raspbian Stretch (Python 3.5)和 Raspbian Buster (Python 3.7)提供了轮子。 有关可用车轮的信息,请参阅每个包的项目页面。


保留修改后的 pip 配置,并通过以下方式更改 Dockerfile 中的FROM子句:

FROM arm32v7/python:3.7-buster

可能会解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM