Install OpenCV on Raspberry Pi

树莓派上OpenCV的安装

想在树莓派上链接手机摄像头作为IP摄像头在树莓派上实现人脸识别,于是开始了漫长的OpenCV安装之路。
参考资料:

Rasberry Pi(Python3) + OpenCV 3.0.0

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo apt-get install build-essential git cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.0.0
cd ~
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.0.0
sudo apt-get install python3-dev
sudo python3 get-pip.py
sudo pip3 install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip
nano ~/.profile
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source ~/.profile
mkvirtualenv p3cv
workon p3cv
pip3 install numpy
# 若报没有权限的错误执行sudo rm -rf ~/.cache/pip/
cd ~/opencv
mkdir build 
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
# 检查python环境是否正常,ImportError:No module named cv2则检查.profile加入export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH
make -j4
sudo make install
sudo ldconfig
cd ~/.virtualenvs/p3cv/lib/python3.4/site-packages/
ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so

有用的指令

  1. 更改管理员权限的密码:

    sudo passwd root
    sudo passwd –unlock root

  2. 设置代理服务器
    1)打开profile文件

    vi /etc/profile
    

    2) 添加如下语句

    http_proxy=1.1.1.1:8080
    no_proxy=10.2.44.44
    export http_proxy no_proxy
    

    3) 打开文件指令为vi,打开后按insert键开始编辑,编辑完成按esc键输入:wq保存(或输入:q!不保存直接关闭),执行文件指令为source

    source /etc/profile
    
  3. 进入虚拟环境

    source /usr/local/bin/virtualenvwrapper.sh
    workon p3cv

存在问题

  1. ImportError:No module named cv2:将cv2.so文件复制在各种文件夹内
  2. 忘记是什么问题,解决方法是把ffe…的文件复制到python文件夹内
  3. 目前仍然没有解决的问题是树莓派无法连接公司的代理服务器上外网
  4. 环境变量配置不成功,每次需要手动进入虚拟环境