在树莓派3上为Docker安装OpenCV

问题描述 投票:1回答:1

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

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

[我发现原因是,我所做的一切都是试图在armv7拱门(我的Pi)上使用amd64拱门(我的笔记本电脑)图像,从而引起某种冲突。

[然后我在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吗?如果可以跟随一些文档,那就太好了,谢谢。

python docker opencv raspberry-pi3
1个回答
0
投票

基于https://www.piwheels.hostedpi.com/,它们支持python版本3.4、3.5和3.7。这是一个引号(强调是我的):

支持

提供的车轮支持所有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

可能会解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.