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版本。这里有一句话(重点是我的(:

支持

提供的轮子支持所有树莓派型号(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

可能会解决问题。

最新更新