[英]Installing opencv2 in Docker for Raspberry Pi (new OS image Bullseye)
[英]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.