进行本文配置之前,请完成系统安装(参考链接)
1.更换apt镜像源
- 打开命令行,安装vim(也可以安装nano)
sudo apt-get install vim
- 编辑apt的配置文件
sudo vim /etc/apt/sources.list
- 按Insert键进入编辑模式,保存为Ctrl+C,然后输入" :wq "
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
- 保存后在命令行输入
sudo vim /etc/apt/sources.list.d/raspi.list
- 变更文件内容为
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
2.更新apt
在命令行输入
sudo apt-get update
sudo apt-get upgrade
3.更换pip源
系统已内置pip3,本人用的是python3.5(推荐python3.4以上版本)
- 命令行输入
sudo vim /etc/pip.conf
- 变更文件内容为(这里使用的是阿里云源,也可以使用清华源,豆瓣源等源地址)
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
4.安装numpy(我的默认有,如果没有直接安装就好)
sudo pip3 install numpy
5.扩大TF卡的空间
我的16G直接就是默认全部,如果你的不是,按照下面的扩展就行
- 命令行输入
sudo raspi-config
- 选择 " Advanced Options " 然后选择" Expand Filesystem "然后重启树莓派
增大swap空间
修改/etc/dphys-swapfile文件,增大交换空间,以免编译ROS源码时出现内存不足现象。将CONF_SWAPSIZE 修改为 2048
CONF_SWAPSIZE=2048
6.安装Opencv配置所需依赖库
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 -y
sudo 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
7.下载OpenCV库和Contrib库(建议在其他环境下载然后拷贝过来,在线下载特别慢)
我用的是opencv3.4,可以自行下载其他版本
https://github.com/Itseez/opencv/archive/3.4.0.zip
https://github.com/Itseez/opencv_contrib/archive/3.4.0.zip
8.cmake源码
解压后在opencv-3.4.0文件夹里创建build文件夹,然后在命令行里面cd到此文件夹
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 ..
- 此处注意几点!!!
- 这个你要去替换成你自己的相对的路径
OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules
- " WITH_LIBV4L=ON " 这个依我个人经验,有地方有用,有地方也有点bug(网络摄像头cap的image会有error,xx bytes的溢出,但是不影响程序运行),具体我也很懵逼。。。
9. 编译安装
有说不要使用make -j4加速方法的,非常容易报错。我用了没错,可以试试~~
make && sudo make install
在这里你会发现会编译失败,提示fatal error: boostdesc_bgm.i: No such file or directory的错误。这是因为前面cmake时因为网络等原因无法下载 boostdesc 和 vgg_generated 下的 boostdesc_lbgm 和 vgg_generated 文件导致找不到文件而编译失败。
可以自行下载https://github.com/opencv/opencv_3rdparty/branches/stale?page=1
下载: “contrib_xfeatures2d_vgg_20160317” and "contrib_xfeatures2d_boostdesc_20161012"两个文件并将解压后的文件中的所有.i文件复制到opencv_contrib-3.4.0/modules/xfeatures2d/src目录下。
然后重新make,执行
sudo ldconfig
10.最后
因编译后的库文件cv2.so被输出为cv2.cpython-35m-arm-linux-gnueabihf.so,这将导致该模块在Python3中无法import进来
我们到该库文件的安装目录/usr/local/lib/python3.5/site-packages/下,将其重命名为cv2.so:
主要参考下面的大神们
https://www.cnblogs.com/Pyrokine/p/8921285.html
https://www.jianshu.com/p/3180a253fe3c
网友评论