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