2016年3月17日 星期四

在 El Capitan 安裝 OpenCV 3.1 及 Python 3.5

參考了 http://www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/ 的指引進行 OpenCV 3 及 Python 3 的安裝。當中加入了自己修改的部份:

1. 到 App Store 安裝 Xcode
   我們會使用到它附帶的開發工具。

2. 安裝 Homebrew
   由於發現更新 Homebrew 失敗,所以先把 Homebrew 移除後再重新安裝。我們會用它來安裝 Python 3 及 OpenCV 用到的程式庫。
$ cd ~
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update

3. 安裝 Python 3
   Mac OS X 跟機的是 Python 2.7。以下安裝的是 Python 3,並把 Python Launcher 3 及 IDLE 3 加到應用程式選單。
$ brew install python3
$ brew linkapps

   檢查 Python 3 路徑。如果輸出是「/usr/local/bin/python」代表安裝路徑正確。
$ which python3
/usr/local/bin/python

   檢查 Python 3 是否順利安裝。如果是「Python 3.x.x」代表成功。
$ python3 --version
Python 3.5.1

4. 升級 PIP
   我們需要用 PIP 來安裝不同的程式庫,所以先確保 PIP 是最新版本。
$ pip3 install --upgrade pip

5. 設定 Python 3.5 開發環境
   這樣做是把開發環境按項目分開,讓不同項目可使用不同版本的 Python。
$ pip3 install virtualenv virtualenvwrapper

   之後需要修改 .bash_profile 內容。
$ vi ~/.bash_profile

   按「i」後加入以下設定:
   ## Virtualenv/VirtualenvWrapper
   export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
   source /usr/local/bin/virtualenvwrapper.sh

   按「Esc」及「:wq」儲存並離開。
$ source ~/.bash_profile

   接著是建立虛擬開發環境。
$ mkvirtualenv cv3 -p python3

之後如要使用建立了的虛擬開發環境,只要:
$ workon cv3

   安裝 Python 另一常用的程式庫 Numpy。
$ pip3 install numpy
$ pip3 install imutils

6. 安裝編譯 OpenCV 的所需軟件
$ brew install cmake pkg-config
$ brew install jpeg libpng libtiff openexr
$ brew install eigen tbb
$ brew install freetype

7. 編譯 OpenCV
$ git clone https://github.com/Itseez/opencv.git
$ git clone https://github.com/Itseez/opencv_contrib
$ cd ~/opencv
$ mkdir build
$ cd build

   留意 Python 3 也有不同的版本,下面使用的路徑需要配合本機的目錄。如果以下一項發生錯誤,在處理後需要由 cmake 來過。
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_PACKAGES_PATH=~/.virtualenvs/cv3/lib/python3.5/site-packages -D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib -D PYTHON3_INCLUDE_DIR=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/include/python3.5m -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D BUILD_opencv_python3=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
$ make -j4
$ sudo make install

8. 檢查 OpenCV 是否順利安裝
   最後,在 Python 3.5 內載入 OpenCV 3.1。
$ python3
   Python 3.5.1 (default, Mar 16 2016, 19:55:24)
   [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.1.76)] on darwin
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import cv2
   >>> cv2.__version__
   '3.1.0'
   >>>

沒有留言: