大家好,又见面了,我是你们的朋友全栈君。
本人一直在做opencv的项目,需要入手一块树莓派来在移动端跑opencv,所以买了一块树莓派4B,然后安装上了系统,开启了曲折的opencv安装之旅。 首先有幸看到子豪兄的视频,还是很好的,所以直接跟着它子豪兄教你在树莓派上安装OpenCV教程安装opencv,但是后来发现各种不可名状的错误,最后发现他的是基于树莓派3B ,环境是python3.5,但是树莓派4B的环境是python4B,所以不能完全使用他的教程。
开始我们的教程:
一,更换源
如果你是安装的树莓派原装系统,你就需要换源,更换成清华源或者是中科大源 在树莓派命令指令行中输入
代码语言:javascript复制sudo nano /etc/apt/sources.list
用#注释掉原文件内容,用以下内容取代:
代码语言:javascript复制deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ contrib main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ contribmain contrib non-free rpi
然后ctrl o保存,点回车确认保存,然后ctrl x退出 再输入
代码语言:javascript复制 sudo nano /etc/apt/sources.list.d/raspi.list
同样的
代码语言:javascript复制deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
然后ctrl o保存,点回车确认保存,然后ctrl x退出 最后输入
代码语言:javascript复制 sudo apt-get update
sudo apt-get upgrade
使用命令更新软件源列表,同时检查编辑是否正确。再更新软件
二,存储空间的一些说明和操作
必须使用16G以上的卡,最好是class10以上,实测8G class6卡安装到35%就爆满了,推算安装完成要4.6G左右。 然后扩大文件系统。因为,用SD卡安装完系统后一大部分空间实际是未被分配的 使用命令
代码语言:javascript复制sudo raspi-config
然后选择第七个
然后选择第一个回车,会让你重启树莓派,选择立即重启
重启命令
代码语言:javascript复制sudo reboot
三,opencv相关库的下载
代码语言:javascript复制sudo pip3 install numpy
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -ysudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
四、下载opencv安装包 下载OpenCV4.1
代码语言:javascript复制git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git
本人等他下了一万年,总是各种断流,最后选择到官网下载 安装包解压
代码语言:javascript复制cd /home/pi/Downloads
unzip opencv-3.4.0.zip
unzip opencv_contrib-3.4.0.zip
五,设置编译参数
代码语言:javascript复制cd /home/pi/Downloads/opencv-4.1.0
mkdir build
cd build
Cmake 经过配置,可输出适配于树莓派平台的Makefile
代码语言:javascript复制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-4.1.0/modules #本行需根据自己安装的路径修改
-D BUILD_EXAMPLES=ON
-D WITH_LIBV4L=ON
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include
..
需要比较长的时间,慢不要紧,不报错就行
配置成功界面
六,编译 输入
代码语言:javascript复制make
然后开始各种坑总结
第一个大坑 可以在一个大佬的百度云盘里下载然后将所有带i结尾的文件全部都拷贝到 opencv_contrib/modules/xfeatures2d/src/ 路径下即可 树莓派安装opencv时丢失的文件: 链接:https://pan.baidu.com/s/1xi6_5NuTFiP4SD649FgIJw 提取码:mbsj 原文链接:https://blog.csdn.net/weixin_43308627/article/details/97814927 继续输入make
第二个大坑 这两幅图属于同一错误,同样参考了以为大神的操作 这个一看是头文件有点问题哈,再把下面文件夹里的两个文件拷贝到/home/pi/…/opencv_contrib/modules/xfeatures2d/test
在打开这个文件,修改下头文件。
如果是连续在这个地方出错,都是这一操作
完成哈哈哈哈哈
七,安装 基本无意外
代码语言:javascript复制sudo make install
成功,最后测试一下
代码语言:javascript复制python3
import cv2
不报错即完成
最后总结一下,就是要多思考多总结,不要盲目相信各种操作 要看自己的错误到底是什么,感谢各位大佬的帮助
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131742.html原文链接:https://javaforall.cn