树莓派原python3.5+opencv3.3.1+tensorflow1.7.0安装
miniconda里装好opencv后import没有错误,使用时却会出现cv2.error:......re_build it......install libgtk2.0-dev cmake......巴拉巴拉巴拉。这我要你何用,先在自带的python3.5里编译好吧,顺便把tensorflow的安装附上,如有问题,感谢指正。
另附miniconda+python3.4+opencv3.3+tensorflow1.7安装教程(如果opencv是用conda install装的,那估计不能用,如果有生之年能在miniconda里配置好,再做更改)https://blog.csdn.net/tju_cc/article/details/80024721
0. 系统安装
参考 http://bbs.eeworld.com.cn/thread-503614-1-1.html?_t=t
远程桌面连接 https://blog.csdn.net/wsj_wsj_123/article/details/72353892
换国内软件源 https://blog.csdn.net/la9998372/article/details/77886806
dfrobot 3.5tft屏 http://wiki.dfrobot.com.cn/index.php?title=(SKU:DFR0428)3.5%22_TFT_Touchscreen_for_Raspberry_Pi
1. opencv安装
参考https://github.com/Tes3awy/OpenCV-3.2.0-Compiling-on-Raspberry-Pi
更新
- sudo apt-get update
- sudo apt-get upgrade
安装编译所需的依赖
- sudo apt-get install build-essential cmake pkg-config
安装处理图片的依赖
- sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
安装不知道是啥的依赖
- sudo apt-get install libgtk2.0-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libv4l-0 libv4l-dev
安装处理视频的依赖
- sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
安装矩阵计算优化依赖
- sudo apt-get install libatlas-base-dev gfortran
安装numpy,scipy,matplotlib
- sudo apt-get install python3-numpy python3-scipy python3-matplotlib
(注意,树莓派中scipy无法用pip直接安装,会卡住,如果有人知道原因或解决办法欢迎评论)
安装java依赖?(这里我出了一堆error,但是jdk没有影响编译)
- sudo apt-get install default-jdk ant
还有两个未知的依赖
- sudo apt-get install libgtkglext1-dev
- sudo apt-get install v4l-utils
依赖装完了!
找一个你喜欢的位置,下载并解压opencv源码包
- cd /yourpath
- wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
- unzip opencv.zip
下载opencv_contrib,并解压
- wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip
- unzip opencv_contrib.zip
关键处到了!!!
首先切换到opencv-3.3.1的目录创建build的目录并进入
- cd ./opencv-3.3.1
- mkdir build
- cd ./build
然后编译初始化设置(很重要!!)
OPENCV_EXTRA_MODULES一定要设置成刚才opencv_contrib/modules的位置
设置python3路径把opencv装进去
最后一定要加 ..
- cmake -D CMAKE_BUILD_TYPE=RELEASE\
- -D CMAKE_INSTALLPREFIX=/usr/local\
- -D INSTALL_PYTHON_EXAMPLES=ON\
- -D OPENCV_EXTRA_MODULES_PATH=~/yourpath/modules\ # 一定要设置成你opencv_contrib的路径
- -D BUILD_EXAMPLES=ON\
- -D ENABLE_NEON=ON\
- -D PYTHON3_EXECUTABLE=/usr/bin/python3\
- -D PYTHON_INCLUDE_DIR=/usr/include/python3.5\
- -D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so\
- -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include\
- ..
等待出现configration done,说明初始化成功!
编译:
- # 选择你喜欢的方式进行编译
- sudo make -j3 # 较慢,树莓派温度低,防烧
- sudo make -j4 # 快一点点点,内存占满,温度挺高,还烧死机了一次
安装
- sudo make install
- sudo ldconfig
- sudo nano /etc/ld.so.conf.d/opencv.conf
添加
- /usr/local/lib # enter this in opencv.conf, NOT at the command line # 号后注释可以不添加
- # 在结尾添加一行空行
ctrl+x退出,y+回车保存。
编辑下一个。
- sudo ldconfig
- sudo nano /etc/bash.bashrc
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
- export PKG_CONFIG_PATH
然后重启一下
- sudo shutdown -r now
重启后的python3已经可以正常使用opencv了。
2. tensorflow1.7的安装
tensorflow的安装同样需要一些依赖(实际上缺少的是numpy1.14需要的),如果你装了上面那些,那这里就不需要了,如果上面那些没有装。那至少要装
- sudo apt-get install libatlas-base-dev gfortran
然后到这里下载whl,https://github.com/lhelontra/tensorflow-on-arm/releases
tensorflow-1.7.0-cp5-none-linux-armv7l.whl。
然后cd到该目录,pip3 install 一下就ok了,注意是3。
- pip3 install tensorflow-1.7.0-cp5-none-linux-armv7l.whl
原文:https://blog.csdn.net/tju_cc/article/details/80031605