Raspberry Pi 树莓派 4B 安装python3 + Opencv 完整过程记录(超级详细)【教程】
2021/11/1 22:11:46
本文主要是介绍Raspberry Pi 树莓派 4B 安装python3 + Opencv 完整过程记录(超级详细)【教程】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、安装工具的准备
- 1.更换软件源
- 2.安装aptitude
- 二、安装berryconda
- 三、安装Opencv
- 1.安装numpy
- 2.在树莓派设置中把根目录扩大到整个SD卡
- 3.安装OpenCV所需的库
- 4.下载Opencv
- 5.设置编译参数
- 6.编译安装
- 7.在Python3上测试OpenCV
- 总结
前言
树莓派使用ARM CPU架构 不同于 PC的 X86 CPU 架构,由于二者平台能力不同,不是所有的架构上软件包相同(个别软件包因为能力等原因,可能没有arm平台等版本),即二者软件包量不同。树莓派无法直接使用指令安装anaconda以及Opencv 。下面记录了博主安装python3以及Opencv的过程。
感谢这位博主
我参考的这位知乎答主张子豪的文章
《子豪兄教你在树莓派上安装OpenCV》
https://zhuanlan.zhihu.com/p/46032511
一、安装工具的准备
1.更换软件源
注意!!!先检查体统版本!!cat /etc/debian_version
Debian 发行版本
Debian 一直维护着至少三个发行版本:稳定版(stable),测试版(testing)和不稳定版(unstable)。
稳定版(stable)
稳定版包含了 Debian 官方最近一次发行的软件包。
当前 Debian 的稳定版版本号是 11,开发代号为 bullseye。最初版本为 11.0,于 2021年08月14日 发布,其更新 11.1 已于 2021年10月09日 发布。
测试版(testing)
测试版包含了那些暂时未被收录进入稳定版的软件包,但它们已经进入了候选队列。使用这个版本的最大益处在于它拥有更多版本较新的软件。
当前的测试版版本代号是 bookworm。
不稳定版(unstable)
不稳定版存放了 Debian 现行的开发工作。通常,只有开发者和那些喜欢过惊险刺激生活的人选用该版本。
不稳定版的版本代号永远都被称为 sid。
我的版本是10.11,所以这样更换
sudo -s echo -e "deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi \n deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi" > /etc/apt/sources.list echo -e "deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/ buster main ui" > /etc/apt/sources.list.d/raspi.list exit sudo apt update && sudo apt -y upgrade
2.安装aptitude
aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
sudo apt-get install aptitude
二、安装berryconda
下载:Berryconda3-2.0.0-Linux-armv7l.sh
在下载路径下
chmod +x Berryconda3-2.0.0-Linux-armv7l.sh ./Berryconda3-2.0.0-Linux-armv7l.sh
三、安装Opencv
不同于其他其他linux系统可以通过指令一键式安装opencv,raspberry 需要安装它的依赖库后编译安装
1.安装numpy
打开命令行界面,输入以下命令,安装Python科学计算库numpy
sudo pip3 install numpy
2.在树莓派设置中把根目录扩大到整个SD卡
命令行界面输入命令,进入树莓派配置界面。
用上下键和左右键切换光标位置。
3.安装OpenCV所需的库
sudo aptitude install build-essential git cmake pkg-config -y sudo aptitude install libjpeg8-dev -y sudo aptitude install libtiff5-dev -y sudo aptitude install libjasper-dev -y sudo aptitude install libpng12-dev -y sudo aptitude install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y sudo aptitude install libgtk2.0-dev -y sudo aptitude install libatlas-base-dev gfortran -y
如果安装依赖是报错:
下列软件包有未满足的依赖关系,依赖:XXXX 但是正要被安装,用aptitude安装或解决即可。
sudo aptitude install aptitude
对于aptitude推荐的未安装的方案,选择no,然后选择对所依赖库降级后就可以安装啦。
4.下载Opencv
在命令行输入以下三条命令,下载两个压缩包到树莓派的/home/pi/Downloads目录下。
如果你的树莓派不可以访问外网,可以在PC中下载后拷贝进来。
cd /home/pi/Downloads wget https://github.com/Itseez/opencv/archive/3.4.0.zip wget https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
解压这两个压缩包
cd /home/pi/Downloads unzip opencv-3.4.0.zip unzip opencv_contrib-3.4.0.zip
5.设置编译参数
设置编译参数
cd /home/pi/Downloads/opencv-3.4.0 mkdir build cd build
设置CMAKE参数
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..
如果显示:
Build files have been written to /home/pi/Downloads/opencv-3.4.0/build
那么恭喜你配置成功
6.编译安装
确保树莓派供电充足,并且有足够的内存空间后,就可以进行编译了
cd /home/pi/Downloads/opencv-3.4.0/build make
若编译失败报错
可以查看 build 文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i 关键词 (不是在文件夹中搜索),
发现这个文件下载失败了。日志文件里就有它的下载地址,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生存同名文件,放在 报错的cpp文件路径下即可。
可以去这位博主的文章中下载缺失文件
编译OpenCV 以及 openc_contrib 提示缺少boostdesc_bgm.i文件出错的解决
然后就可以继续编译了
编译成功
执行安装
sudo make insall
7.在Python3上测试OpenCV
python
import cv2
总结
装完以后发现清华源可以直接apt-get ,呜呜呜 ,我可太难了。
这篇关于Raspberry Pi 树莓派 4B 安装python3 + Opencv 完整过程记录(超级详细)【教程】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30Python中''') 是什么?-icode9专业技术文章分享
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程