Skip to content

搭建OpenCV3环境

ShenHengheng edited this page Dec 10, 2017 · 1 revision

4.1 扩大文件系统

由于编译安装OpenCV需要的空间很大,所以应该做的第一件事是扩展文件系统,以包括micro-SD卡上的所有可用空间:

sudo raspi-config

4.2 安装依赖

sudo apt-get install build-essential cmake pkg-config -y
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev -y

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y 
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y 
sudo apt-get install python2.7-dev python3-dev -y

4.3 下载OpenCV源代码

cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip opencv.zip

OpenCV 3.1.0 地址:https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip

wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip

4.4 Python2.7还是Python3.5

  1. pip包管理器
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile

source ~/.profile

4.4.1 安装Numpy

pip install numpy

如果正在为Python 2.7编译OpenCV 3,请确保Python 2部分包含Interpreter ,Libraries ,numpy和packages path :

4.5 编译安装OpenCV

cd ~/opencv-3.1.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
    -D BUILD_EXAMPLES=ON ..


make -j4

很容易出错,因为树莓派不一定CPU的资源不一定够用,使用

make clean
make

sudo make install
sudo ldconfig

然后检查是否存在层cv2.so或者cv2.cpython-34m.so

对于Python27说,

ls -l /usr/local/lib/python2.7/site-packages/

如果存在,则说明在python2的环境下能够使用OpenCV。

对于Python3.4说:

ls -l /usr/local/lib/python3.4/site-packages/

如果存在,则表明在Python3的环境下能够使用OpenCV

但是对于Python3说需要将cv2.cpython-34m.so重命名为cv2.so才能使用。

安装完成后,需要将编译生成的文件和解压后的文件删除。

rm -rf opencv-3.1.0 opencv_contrib-3.1.0