1. 程式人生 > >我的AI之路(7)--安裝OpenCV3 Python 3.4.1 + Contrib以及PyCharm

我的AI之路(7)--安裝OpenCV3 Python 3.4.1 + Contrib以及PyCharm

      AI的一個重大應用領域是計算機視覺,OpenCV是著名的計算機視覺庫,由C/C++實現,同時支援Python和MATLAB等語言介面,雖然已經有了比OpenCV表現更好的視覺庫,但以OpenCV為入口熟悉計算機視覺工作原理大有裨益,Caffe等AI工具更是用到了OpenCV,所以個人感覺掌握OpenCV程式設計知識和相關演算法為AI關於影象處理這塊功能可以打下基礎。

  安裝Anaconda3後,確保/home/<user>/anaconda3和/home/<user>/anaconda3/Scripts在PATH路徑裡,然後安裝OpenCV3是很簡單的,到https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 下載安裝檔案(最好是帶contrib的)opencv_python-3.4.1+contrib-cp36-cp36m-win_amd64.whl,然後把這個檔案拷貝到 /home/<user>/anaconda3/lib/site-packages/,然後執行 

pip install opencv_python-3.4.1+contrib-cp36-cp36m-win_amd64.whl 

然後執行:

python

import cv2

沒有報任何錯誤就OK了。

順便說一句,這裡的cv2並不是指OpenCV2,而是指cv2模組,cv是面向過程程式設計實現的視覺庫模組,而cv2是面向物件程式設計實現的,相當於重新實現的升級版視覺庫,現在明白了吧,跟OpenCV的版本號沒關係 。

如果在Anaconda的命令列窗口裡工作或者使用Anaconda隨帶的Spyder作為python編碼和執行工具,那麼到此就可以使用OpenCV python程式設計和執行python程式碼了,如果使用其它專業Python程式設計工具,比如PyCharm,那麼還需要做一步:

前面當執行 pip install opencv_python-3.4.1+contrib-cp36-cp36m-win_amd64.whl後,anaconda3/lib/site-packages/下生成了個檔案cv2.cp36-win_amd64.pyd,在/home/<user>/anaconda3/lib/site-packages/建立個目錄叫cv2,然後把cv2.cp36-win_amd64.pyd 拷貝(或者移動)到/home/<user>/anaconda3/lib/site-packages/cv2/下,然後在此目錄下建立一個__init__.py檔案,輸入檔案內容如下:

import sys
import os
import importlib

# FFmpeg dll is not found on Windows without this
os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))

# make IDE's (PyCharm) autocompletion happy
from cv2 import *

# wildcard-import above does not import "private" variables like __version__, this makes them available

globals().update(importlib.import_module('cv2.cv2').__dict__)

如果不做這步,即使你在PyCharm的setting裡指定了Project Interpreter為/home/<user>/anaconda3/python,PyCharm在執行"import cv2"時仍然報錯找不到cv2模組,PyCharm似乎只解析/home/<user>/anaconda3/lib/site-packages/下子目錄裡的pyd檔案,而不解析/home/<user>/anaconda3/lib/site-packages/下的pyd檔案,因此單獨建立cv2子目錄並把pyd檔案移動到cv2子目錄裡去是必須的。

到https://www.jetbrains.com/pycharm/download/下載PyCharm免費的community版本安裝程式,安裝後使用時像Eclipse 和IntelliJ等開發工具一樣需要先建立一個專案(PyCharm需要JDK來支援執行,估計跟是在Eclipse基礎上修改而來的安靜),然後在專案裡建立原始碼檔案。

建立專案後需設定編譯執行環境,點選進入選單File->setting->Project <project_name>->Project Interpreter,點選空白路徑欄最右邊的齒輪圖示,選擇add,然後在彈出視窗中點選選擇"Conda Environment",在點選選擇"Existing environment",然後點選Interpreter路徑欄最右邊的browser圖示,選擇/home/<user>/anaconda3/python(我的Windows裡是C:\Anaconda3\python.exe),下圖以Windows環境為例:

點選OK,PyCharm立即開始解析/home/<user>/anaconda3/lib/site-packages/下面所有子目錄模組,解析完了點選OK關閉視窗,然後點選選單Run->Edit Configures,在彈出視窗中點左上方的+號,在彈出的小選單中選擇python,然後在右邊窗口裡的Python interpreter欄選擇剛才在setting裡設定好的python配置: Python 3.6(Cameo),下圖以Windows環境為例:

點選OK關閉視窗,然後就可以點選選單 Run->Run Cameo或者左下方工具欄裡的Run圖示執行python原始碼了:

如果報錯找不到cv2模組,那就是你忘了按上面說的辦法在/home/<user>/anaconda3/lib/site-packages/下建立cv2模組。