午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python機器視覺編程環(huán)境搭建方法

 漓云齋 2017-08-12
“藍色字”


1. Why Python

C/C++
早期的計算機視覺領(lǐng)域大多數(shù)程序都是用C/C++編寫。隨著計算機硬件速度越來越快,開源平臺越來越多,開發(fā)者選擇計算機視覺算法的實現(xiàn)語言變得更加靈活,代碼編寫的效率和易用性成為選擇編寫語言時的考慮因素,而不再僅僅只考慮執(zhí)行效率。

Python
Python的跨平臺、開放性、易用性,加之豐富的資源使其成為近年來越來越多開發(fā)者的選擇。國外出版了大量的Python編程、學(xué)習(xí)書籍,亞馬遜搜索Python圖書,結(jié)果列表長達100頁共5712本(截止2016年5月28日)。你也可以從諸如Coursera或Edx等mooc平臺找到像MIT校長講授的Python入門等課程。國內(nèi)也引進了許多優(yōu)秀的學(xué)習(xí)資料和許多在線課程。除了這些學(xué)習(xí)資料,更重要的是Python自帶很多可免費獲取的強大而便捷的圖像處 理、數(shù)學(xué)計算和數(shù)據(jù)挖掘模塊和豐富的其他網(wǎng)絡(luò)資源。


本文以windows平臺為例,介紹使用Python進行計算機視覺編程的開發(fā)環(huán)境搭建與基本配置,總結(jié)了軟件下載地址、安裝方法和開發(fā)環(huán)境搭建的基本方法,并提供了簡單的代碼示例。想說的是,Python安裝方法與系統(tǒng)、軟件版本等諸多因素有關(guān),要想一步到位比較難,遇到問題多種方式可以混合嘗試。

2.下載安裝軟件包
Python機器視覺編程環(huán)境的常用配置如下:

  • Python:Pyhton2.7或Python3.x

  • pip:python的一個包管理器,安裝后可方便的引入第三方庫

  • NumPy:該模塊用于python計算機視覺編程時的向量、矩陣的表示與操作

  • SciPy:更高級的數(shù)學(xué)計算模塊

  • Matplotlib:結(jié)果可視化模塊

  • PIL:Python的圖像處理類庫,提供通用的圖像處理功能及大量基本圖像操作

  • LIBSVM:用于機器學(xué)習(xí)的開源庫

  • OpenCV:流行的開源機器視覺算法庫,提供越來越多的Python接口,目前支持到Python2.7


  • 2.1 Python

    下載地址:
    https://www./downloads/


    版本選擇:
    選擇Python2還是Pyhton3這是一個問題,我們需要知道的:

  • Python2:用的人多,坑少,大多數(shù)第三方庫目前都支持。

  • Python3:重大改進,發(fā)展趨勢。但有些第三方庫目前還支持不到3.x。

  • Python3與Python2有很多語法差異,并且不兼容2.x版本。

  • 對初學(xué)者,可以先學(xué)Pyhton2.7,等第三方庫支持較好了再學(xué)習(xí)Python3,也會比較快入手。

    安裝并添加環(huán)境變量:
    下載與操作系統(tǒng)對應(yīng)的版本,運行安裝,這里選擇默認安裝路徑C:\Python27。

    然后添加Python的安裝路徑到系統(tǒng)環(huán)境變量PATH中:計算機->右鍵->屬性->高級系統(tǒng)設(shè)置,系統(tǒng)環(huán)境變量后加“;”號,然后添加python2.7的路徑,確定。


    這樣,命令行即可直接運行Pyhton,并查看版本信息


    2.2 安裝pip
    pip是python中的一個包管理器,就是在電腦中自動安裝、配制、卸載和升級軟件包的工具組合。pip可以代替之前的easy_install,可方便的引入第三方庫。

    下載地址:
    https://pypi./pypi/pip

    目前最新版本為PIP-8.1.2。

    安裝并添加系統(tǒng)環(huán)境變量:
    下載對pip-8.1.2.tar.gz壓縮包,打開cmd,進入相應(yīng)解壓目錄使用命令行安裝。

    例如,下載的是PIP-8.1.2.tar.gz壓縮包,解壓后得到pip-8.1.2文件夾。將該拷貝到Python安裝目錄C:\Python27下(不拷貝到這個文件夾也可以),打開cmd進入pip-8.1.2目錄下運行:
    python setup.py install



    然后再次編輯系統(tǒng)環(huán)境變量,將C:\Python27\Scripts也添加到Path,這樣可以方便的運行pip



    有了pip可以在命令行使用 pip install xxx 的方法方便的安裝所需的第三方庫,例如下面的NumPy和SciPy等第三方庫了。


    2.3 NumPy
    NumPy(Numeric Python)是Python的一種開源的數(shù)值計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結(jié)構(gòu)要高效的多(該結(jié)構(gòu)也可以用來表示矩陣(matrix))。提供了許多高級的數(shù)值編程工具,如:矩陣數(shù)據(jù)類型、矢量處理,以及精密的運算庫。專為進行嚴格的數(shù)字處理而產(chǎn)生。

    NumPy和SciPy都可以在 http://www./scipylib/download.html 下載。

    下載地址:
    https:///projects/numpy/files/
    https:///projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win...

    安裝:
    方法1:

    下載源碼,打開cmd,進入相應(yīng)目錄使用命令行安裝
    python setup.py install

    方法2:

    windows系統(tǒng)可以下載對應(yīng)版本的.exe文件,如numpy-1.9.2-win32-superpack-python2.7.exe安裝。


    方法3:

    使用pip直接安裝NumPy
    pip install numpy


    可能會因為網(wǎng)速等原因安裝不成功,多試幾次。本機安裝時試了兩次裝成功。

    2.4 SciPy
    SciPy (Scientific Computing Tools for Python) 是一款方便、易用的python的科學(xué)和工程計算工具包。它包括統(tǒng)計,優(yōu)化,整合,線性代數(shù)模塊,傅里葉變換,信號和圖像處理,常微分方程求解器等。


    方法3:

    同樣也可以使用pip直接安裝scipy
    pip install scipy


    2.5 PIL
    PIL (Python Imaging Library) Python圖像處理類庫。提供了通用的圖像處理功能,以及大量游泳的基本圖像操作,如圖像縮放、裁剪、色彩空間轉(zhuǎn)換等。

    下載地址:
    http://www./products/pil/

    安裝:
    方法1:

    下載源碼,打開cmd,進入相應(yīng)目錄使用命令行安裝
    python setup.py install

    方法2:
    windows系統(tǒng)可下載.exe文件,如PIL-1.1.7.win32-py2.7.exe安裝。注意PIL目前免費版支持到Python2.7。


    方法3:

    使用pip安裝
    pip install PIL


    2.6 matplotlib
    matplotlib是一個2維Pyhton跨平臺交互式繪圖庫。

    下載地址:
    http:///users/installing.html
    https://pypi./pypi/matplotlib/

    安裝說明文檔 http:///users/installing.html 提示在windows平臺安裝matplot需要安裝相應(yīng)版本的setuptools, numpy, python-dateutil, pytz, pyparsing, 和 cycler。具體下載地址在該頁面下方有。本機只預(yù)先裝了numpy,其他包可能在pip安裝時自動下載安裝了吧。大家可以先試試下面的方法2。

    安裝:
    方法1:
    使用pip離線安裝.whl文件。將上述下載地址下載好的matplotlib-1.5.1-cp27-none-win32.whl拷入某文件夾


    pip install e:\教程\python\matplotlib \ matplotlib-1.5.1-cp27-none-win32.whl


    方法2:

    使用pip在線安裝
    pip install matplotlib


    2.7 LIBSVM
    LIbSVM是臺灣同胞為世界機器學(xué)習(xí)的卓越貢獻之一,目前支持Python, R, MATLAB, Perl, Ruby, Weka, CommonLISP, CLISP, Haskell, OCaml, LabVIEW, and PHP interfaces. C# .NET code and CUDA多種語言。

    下載地址:
    http://www.csie./~cjlin/libsvm/
    下載LIBSVM軟件包libsvm-3.21.zip文件

    安裝:
    windows下安裝python的LIBSVM模塊及其艱難,請務(wù)必做好思想準備:windows下安裝LIBSVM最常見問題出在libsvm.dll文件上,關(guān)鍵是要用正確版本的libsvm.dll文件替換windows下的libsvm.dll文件。

    在嘗試網(wǎng)上各種方法未果后,終于找到一個在本機環(huán)境下能用的方法,并且此方法比較簡便,僅供大家參考。本機環(huán)境為:

  • 系統(tǒng)為win7 64位

  • 下載的LIBSVM版本是libsvm-3.21壓縮包

  • python安裝路徑C:\Python27

  • Python版本:2.7.11 win32位

  • (1)將下載的libsvm-3.21壓縮包解壓到C盤根目錄下(其他文件夾也可)

    將libsvm-3.21解壓到C:\libsvm-3.21\


    (2)下載libsvm-3.21的.whl文件

    到以下網(wǎng)址下載與自己Python版本對應(yīng)的LIBSVM的.whl文件:

    http://www.lfd./~gohlke/pythonlibs/#libsvm


    拷貝到某目錄,例如:e:\教程\python\Libsvm


    (3)使用pip安裝libsvm-3.21-cp27-none-win32.whl

    運行cmd,使用pip安裝上述.whl文件:
    pip install e:\教程\python\libsvm\libsvm-3.21-cp27-none-win32.whl


    現(xiàn)在,符合本機環(huán)境和軟件版本的LIBSVM就被存放到你python安裝目錄下的Lib\site-packages文件夾中,其中有一個\libsvm-3.21.dist-info文件夾,里面都是說明文件。
    (4)將安裝生成的libsvm.dll替換C:\libsvm-3.21\windows下的libsvm.dll

    使用安裝生成的C:\Python27\Lib\site-packages\下的libsvm.dll替換C:\libsvm-3.21\windows下的libsvm.dll。至此,libsvm.dll文件和你電腦的版本號完全對應(yīng),安裝完成,本文在第3節(jié)測試安裝。


    本方法參考了下文:
    http://www./info-detail-1289587.html

    2.8 OpenCV
    OpenCV是業(yè)界最常用的開源機器視覺庫,無需多介紹。目前OpenCV僅支持到Python2.7。

    下載地址:
    http:///downloads.html

    安裝:
    下載文件opencv-2.4.10.exe是一個自解壓縮文件,將解壓后的文件夾opencv->build->python->2.7->x86中的 cv2.pyd復(fù)制到:C:\Python27\Lib\site-packages 中即可。


    3. 測試安裝:示例程序

    3.1 NumPy+PIL
    Python IDLE GUI新建File,輸入如下代碼,保存后F5運行
    from PIL import Image
    pil_im =Image.open('f:/images/Lena.jpg').convert('L')
    pil_im.show()

    值得注意的是:
    windows7下PythonPIL庫show()函數(shù)顯示圖片有問題,解決方法是在將Python安裝目錄下的Lib/site-packages/PIL目錄下的 ImageShow.py 文件的第 99 行進行替換:

    將原
    return 'start /wait %s && del/f %s' % (file, file)

    替換為
    return 'start /wait %s && PING127.0.0.1 -n 5 > NUL && del /f %s' % (file, file)


    替換后圖片將使用windows圖片查看器打開。


    NumPy參考文檔:
    http://docs./doc/numpy/

    PIL參考文檔:
    http://www./library/pil/handbook/index.htm
    http:///imagingbook/


    3.2 NumPy+Matplotlib
    打開Python,F(xiàn)ile->New File,輸入如下代碼,保存,F(xiàn)5運行
    import numpy as np
    import matplotlib.pyplot as plt
    X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
    C,S = np.cos(X), np.sin(X)
    plt.plot(X,C)
    plt.plot(X,S)
    plt.show()


    更多示例參考:
    http://www./perso/nrougier/teaching/matplotlib/

    幫助文檔:
    http:///contents.html
    http:///Matplotlib.pdf


    3.3 LIBSVM
    2.7節(jié)已經(jīng)安裝配置好了LIBSVM,打開IDLE (PythonGUI),新建一個文件,輸入如下代碼:
    import os

    os.chdir('C:\libsvm-3.21\python')
    from svmutil import *

    y, x = svm_read_problem('../heart_scale')
    m = svm_train(y[:200], x[:200], '-c 4')
    p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m)

    取個文件名(例如svmlib_test1.py)保存后,按F5運行,運行結(jié)果如下,說明安裝成功

    ===================== RESTART:D:\Python\svmlib_test1.py =====================

    Accuracy = 84.2857%(59/70) (classification)


    3.4 OpenCV
    打開解壓后opencv文件夾中的source\samples\python
    選擇drawing.py右鍵->Edit with IDLE


    如果沒有問題應(yīng)該看到變換的彩色條紋:


    自己寫個顯示圖像的例子,新建文件,輸入代碼
    import cv2
    im = cv2.imread('f:/images/Lena.jpg')
    imGray = cv2.imread('f:/images/Lena.jpg',cv2.CV_LOAD_IMAGE_GRAYSCALE)
    cv2.imshow('WinName',im)
    cv2.imshow('Gray WinName',imGray)
    cv2.waitKey()

    保存,F(xiàn)5運行,結(jié)果如下


    Python機器視覺編程環(huán)境搭建過程比較繁瑣,每一步可能都有多種方法,也可能有各種問題,本文總結(jié)的是書上和網(wǎng)友給出的部分方法,難免疏漏,僅供參考。

    原文鏈接: http://blog.csdn.net/iracer/article/details/51537020



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多