深知网络上树莓派安装 OpenCV的教程层出不穷,但是基本上都是从其他地方copy的,而且copy的不完全,而且树莓派下用lena.jpg 测试opencv的教程很难找到。虽然互联网的共享精神值得肯定,但是不负责任的共享对于急于使用树莓派+opencv的童鞋是极为不负责任的,最近帮学弟在树莓派3上配opencv3.0,本着科学需要负责和专业,希望大家能不再走弯路,毕竟一次编译opencv短则10分钟,长则几小时,加快编译速度对初学者来说也是个相对冷门的技术,本文作如下总结。为没有摄像头的同学提供一个我们500w摄像头,售价30RMB: https://item.taobao.com/item.htm ... p;scene=taobao_shop本文以树莓派2/3安装opencv3.0附加python2.7为例,介绍完整流程,请一次就执行完这些流程,期间可能有些步骤耗时很长,所以可以拿本书看看,或者用手机看个剧,整体耗时应该在一部电影的时间左右。 首先进入Raspberry Pi系统,确保树莓派连上网络,然后Ctrl + Alt +t打开命令终端(直接点击终端图标可能会卡),如果终端窗口没有出现的话,从顶部任务栏可以找到,点开就好。 ”~” 符号树莓派键盘打不出来 用笔记本SSH连上去操作 首先是以下这几条更新命令,每次单独执行: 1. sudo apt-get update 2. sudo apt-get upgrade 3. sudo rpi-update
然后执行安装opencv的构建相关命令: 1. sudo apt-get install build-essential git cmake pkg-config
然后是以下这几条命令安装图片工具包,每次单独执行(网上有很多一起执行的,但是经常出现问题) 1. sudo apt-get install libjpeg8-dev 2. sudo apt-get install libtiff5-dev 3. sudo apt-get install libjasper-dev 4. sudo apt-get install libpng12-dev
然后是视频I/O包: 1. sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
下面安装GTK: 1. sudo apt-get install libgtk2.0-dev
然后安装优化函数的包: 1. sudo apt-get install libatlas-base-dev gfortran
然后执行以下命令下载opencv3.0: 1. cd /home/pi 3. cd opencv 4. git checkout 3.0.0
然后安装opencv_contrib: 1. cd /home/pi 3. cd opencv_contrib 4. git checkout 3.0.0
1. sudo apt-get install python2.7-dev
2. sudo python get-pip.py
然后安装virtualenv virtualenvwrapper: 1. sudo pip install virtualenv virtualenvwrapper 2. sudo rm -rf ~/.cache/pip
下面这个步骤不仅仅是命令了,打开~/.profile文件,我是使用vim打开的: 1. sudo nano ~/.profile(”~”符号树莓派键盘打不出来 用笔记本SSH连上去)
打开profile后,在这个文件最后,添加以下内容后保存退出: 1. # virtualenv and virtualenvwrapper 2. export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 3. export WORKON_HOME=$HOME/.virtualenvs 4. source /usr/local/bin/virtualenvwrapper.sh
然后执行下面这个命令: 1. source ~/.profile
然后创建虚拟工作环境并进入: 1. sudo mkvirtualenv LC 2. workon LC
一定要确保进去刚刚创建的虚拟环境了,进入虚拟环境的标志是进去后命令的最前面(绿字前面)都会增加“(LC)”。 下面在虚拟环境中安装numpy: 1. pip install numpy 2. sudo rm -rf ~/.cache/pip/ 3. pip install numpy
一定确保在刚刚的虚拟环境下进行以下操作,如果新开了一个命令行窗口,那么就依次执行 source~/.profile 命令和 workon LC 命令进入虚拟环境再执行以下操作。 执行以下命令来设置编译: 1. cd ~/opencv 2. mkdir build 3. cd build 4. cmake -D CMAKE_BUILD_TYPE=RELEASE \ 5. -D CMAKE_INSTALL_PREFIX=/usr/local \ 6. -D INSTALL_C_EXAMPLES=ON \ 7. -D INSTALL_PYTHON_EXAMPLES=ON \ 8. -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ 9. -D BUILD_EXAMPLES=ON ..
执行以下命令开始正式编译opencv3.0: 1. make -j56(这个如果报错就别写-j56了,写-j4,主要是为了强行加快opencv编译速度)我建议直接写成make -j4
编译完后进行安装: 1. sudo make install
安装后进行相关配置: 1. sudo ldconfig
整个流程严格走下来就应该已经成功了,可以关掉这个命令行窗口了。 网上很多 OpenCV打开摄像头的实例都是基于USB 摄像头的,很少介绍原装CSI摄像头的,我们需要做一下如下修改 打开/etc/下面的modules-load.d/rpi-camera.conf sudo nano /etc/modules-load.d/ modules.conf 在最后添加一行 bcm2835-v4l2 意思是在系统启动之后加载bcm2835-v4l2这个模块 然后重启,会发现/dev/下面发现video0设备节点,opencv就能正常调用了 ××××××××××××××××××××××××下面是测试opencv的流程××××××××××××××××××××××××××××××× cd opencv/samples/python2/ sudo python video.py 出现视频框 完美结束 接下来 就可以跟我一起学做人脸识别门禁系统 人脸追踪 等等
|