1. 程式人生 > >Raspbian搭建python + opencv環境

Raspbian搭建python + opencv環境

環境:raspberry 3b + raspbian jessie
結果:環境搭建完以後,執行如下命令,就會進入帶有opencv的python虛擬環境。

source ~/.profile
workon cv

1. 安裝依賴項

一些開發工具

sudo apt-get install build-essential git cmake pkg-config

安裝一些圖片的I/O包

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

安裝一些vedio的I/O包

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

安裝一些圖形工具庫GTK

sudo apt-get install libgtk2.0-dev

安裝一些opencv的內部庫,例如矩陣操作

sudo apt-get install libatlas-base-dev gfortran

安裝python2.7 和 python 3的一些開發工具

sudo apt-get install python2.7-dev python3-dev

2. 獲取opencv原始碼

獲取opencv原始碼

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

獲取opencv_contrib原始碼,務必保證與opencv的版本一致(opencv3.0.0 配 opencv_contrib3.0.0)

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

3. 創造 python 虛擬環境

3.1安裝和配置virtualenv 和 virtualenvwrapper

安裝pip

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

安裝virtualenv 和 virtualenvwrapper

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

設定virtualenv的啟動, 修改~/.profile檔案:

sudo vim ~/.profile

在最後加上這兩行

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

重新載入~/.profile

source ~/.profile

3.2建立env

建立env

mkvirtualenv cv  # python2.7的環境
或
mkvirtualenv cv -p python3  # python3的環境

進入·env環境:

source ~/.profile
workon cv

進入以後,命令列前面會多個(cv)

安裝numpy

pip install numpy

4. 編譯和安裝opencv

確保在虛擬cv環境中,如果不在請 workon cv

編譯opencv, 先build

cd ~/opencv-3.0.0/
mkdir build
cd build
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=~/opencv_contrib-3.0.0/modules \
-D BUILD_EXAMPLES=ON ..

開始編譯:

make -j4   # 樹莓派2以上有4個核

開始安裝

sudo make install
sudo ldconfig

5. 為python配置opencv

至此opencv基本安裝好,並且opencv也給系統的python添加了軟連線,用如下命令檢視

# for python2.7
ls -l /usr/local/lib/python2.7/site-packages/
total 1640
-rw-r--r-- 1 root staff 1677024 Oct 15 19:11 cv2.so

# for python3.4
ls -l /usr/local/lib/python3.4/site-packages/
total 1636
-rw-r--r-- 1 root staff 1674656 Oct 15 19:11 cv2.cpython-34m.so

但是我們要為virtualenv中的python引入軟連線,需要手動進行:

# for python2.7
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

# for python3.4
cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
ln-s/usr/local/lib/python3.4/site-packages/cv2.socv2.so

6.驗證是否安裝成功

在shell中

$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'3.0.0'

這就安裝成功了!

最後把安裝包刪了

cd ~/
rm opencv_contrib.zip opencv.zip get-pip.py
rm -r opencv_contrib-3.0.0/ opencv-3.0.0/