初期的計算機視覺領域大多數程序都是用C/C++編寫。隨著計算機硬件速度愈來愈快,開源平臺愈來愈多,開發者選擇計算機視覺算法的實現語言變得更加靈活,代碼編寫的效力和易用性成為選擇編寫語言時的斟酌因素,而不再僅僅只斟酌履行效力。
Python的跨平臺、開放性、易用性,加上豐富的資源使其成為最近幾年來愈來愈多開發者的選擇。國外出版了大量的Python編程、學習書籍,亞馬遜搜索Python圖書,結果列表長達100頁共5712本(截止2016年5月28日)。你也能夠從諸如Coursera或Edx等mooc平臺找到像MIT校長講授的Python入門等課程。國內也引進了許多優秀的學習資料和許多在線課程。除這些學習資料,更重要的是Python自帶很多可免費獲得的強大而便捷的圖象處理、數學計算和數據發掘模塊和豐富的其他網絡資源。
本文以windows平臺為例,介紹使用Python進行計算機視覺編程的開發環境搭建與基本配置,總結了軟件下載地址、安裝方法和開發環境搭建的基本方法,并提供了簡單的代碼示例。想說的是,Python安裝方法與系統、軟件版本等諸多因素有關,要想1步到位比較難,遇到問題多種方式可以混合嘗試。
Python機器視覺編程環境的經常使用配置以下:
選擇Python2還是Pyhton3這是1個問題,我們需要知道的:
對初學者,可以先學Pyhton2.7,等第3方庫支持較好了再學習Python3,也會比較快入手。
下載與操作系統對應的版本,運行安裝,這里選擇默許安裝路徑C:\Python27。
然后添加Python的安裝路徑到系統環境變量PATH中:計算機->右鍵->屬性->高級系統設置,系統環境變量后加“;”號,然后添加python2.7的路徑,肯定。
這樣,命令行便可直接運行Pyhton,并查看版本信息
pip是python中的1個包管理器,就是在電腦中自動安裝、配制、卸載和升級軟件包的工具組合。pip可以代替之前的easy_install,可方便的引入第3方庫。
目前最新版本為PIP⑻.1.2。
下載對pip⑻.1.2.tar.gz緊縮包,打開cmd,進入相應解壓目錄使用命令行安裝。
例如,下載的是PIP⑻.1.2.tar.gz緊縮包,解壓后得到pip⑻.1.2文件夾。將該拷貝到Python安裝目錄C:\Python27下(不拷貝到這個文件夾也能夠),打開cmd進入pip⑻.1.2目錄下運行:
然后再次編輯系統環境變量,將C:\Python27\Scripts也添加到Path,這樣可以方便的運行pip
有了pip可以在命令行使用 pip install xxx 的方法方便的安裝所需的第3方庫,例以下面的NumPy和SciPy等第3方庫了。
NumPy(Numeric Python)是Python的1種開源的數值計算擴大。這類工具可用來存儲和處理大型矩陣,比Python本身的嵌套列表(nested list structure)結構要高效的多(該結構也能夠用來表示矩陣(matrix))。提供了許多高級的數值編程工具,如:矩陣數據類型、矢量處理,和精密的運算庫。專為進行嚴格的數字處理而產生。
NumPy和SciPy都可以在http://www.scipy.org/scipylib/download.html下載。
下載源碼,打開cmd,進入相應目錄使用命令行安裝
方法2:
windows系統可以下載對應版本的.exe文件,如numpy⑴.9.2-win32-superpack-python2.7.exe安裝。
使用pip直接安裝NumPy
可能會由于網速等緣由安裝不成功,多試幾次。本機安裝時試了兩次裝成功。
SciPy (Scientific Computing Tools for Python) 是1款方便、易用的python的科學和工程計算工具包。它包括統計,優化,整合,線性代數模塊,傅里葉變換,信號和圖象處理,常微分方程求解器等。
一樣也能夠使用pip直接安裝scipy
PIL (Python Imaging Library) Python圖象處理類庫。提供了通用的圖象處理功能,和大量游泳的基本圖象操作,如圖象縮放、裁剪、色采空間轉換等。
下載源碼,打開cmd,進入相應目錄使用命令行安裝
windows系統可下載.exe文件,如PIL⑴.1.7.win32-py2.7.exe安裝。注意PIL目前免費版支持到Python2.7。
使用pip安裝
matplotlib是1個2維Pyhton跨平臺交互式繪圖庫。
安裝說明文檔http://matplotlib.org/users/installing.html 提示在windows平臺安裝matplot需要安裝相應版本的setuptools, numpy, python-dateutil, pytz, pyparsing, 和 cycler。具體下載地址在該頁面下方有。本機只預先裝了numpy,其他包可能在pip安裝時自動下載安裝了吧。大家可以先試試下面的方法2。
使用pip在線安裝
LIbSVM是臺灣同胞為世界機器學習的出色貢獻之1,目前支持Python, R, MATLAB, Perl, Ruby, Weka, CommonLISP, CLISP, Haskell, OCaml, LabVIEW, and PHP interfaces. C# .NET code and CUDA多種語言。
下載LIBSVM軟件包libsvm⑶.21.zip文件
windows下安裝python的LIBSVM模塊及其艱巨,請務必做好思想準備:windows下安裝LIBSVM最多見問題出在libsvm.dll文件上,關鍵是要用正確版本的libsvm.dll文件替換windows下的libsvm.dll文件。
在嘗試網上各種方法未果后,終究找到1個在本機環境下能用的方法,并且此方法比較簡便,僅供大家參考。本機環境為:
將libsvm⑶.21解壓到C:\libsvm⑶.21\
到以下網址下載與自己Python版本對應的LIBSVM的.whl文件:
拷貝到某目錄,例如:e:\教程\python\Libsvm
運行cmd,使用pip安裝上述.whl文件:
使用安裝生成的C:\Python27\Lib\site-packages\下的libsvm.dll替換C:\libsvm⑶.21\windows下的libsvm.dll。至此,libsvm.dll文件和你電腦的版本號完全對應,安裝完成,本文在第3節測試安裝。
本方法參考了下文:
OpenCV是業界最經常使用的開源機器視覺庫,無需多介紹。目前OpenCV僅支持到Python2.7。
下載文件opencv⑵.4.10.exe是1個自解緊縮文件,將解壓后的文件夾opencv->build->python->2.7->x86中的 cv2.pyd復制到:C:\Python27\Lib\site-packages 中便可。
Python IDLE GUI新建File,輸入以下代碼,保存后F5運行
windows7下PythonPIL庫show()函數顯示圖片有問題,解決方法是在將Python安裝目錄下的Lib/site-packages/PIL目錄下的 ImageShow.py 文件的第 99 行進行替換:
將原
替換為
替換后圖片將使用windows圖片查看器打開。
NumPy參考文檔:
PIL參考文檔:
打開Python,File->New File,輸入以下代碼,保存,F5運行
更多示例參考:
幫助文檔:
2.7節已安裝配置好了LIBSVM,打開IDLE (PythonGUI),新建1個文件,輸入以下代碼:
取個文件名(例如svmlib_test1.py)保存后,按F5運行,運行結果以下,說明安裝成功
===================== RESTART:D:\Python\svmlib_test1.py =====================
Accuracy = 84.2857%(59/70) (classification)
打開解壓后opencv文件夾中的source\samples\python
選擇drawing.py右鍵->Edit with IDLE
如果沒有問題應當看到變換的彩色條紋:
自己寫個顯示圖象的例子,新建文件,輸入代碼