1. 程式人生 > >python、opencv以及第三方庫的安裝

python、opencv以及第三方庫的安裝

1.安裝python,這裡選擇2.7還是3.4都行,不過推薦使用2.7,畢竟現在的教程大部分還是基於2.7的,3.4跟2.7的語法還是略有不同,為了避免語法錯誤的麻煩,還是推薦大家使用2.7。安裝完成後,將安裝路徑新增到Path變數中,例如:C:\Python27

進入cmd命令列,輸入,python,輸出以下資訊證明python安裝成功

2.pip安裝
點選下載的pip-8.1.1.tar.gz,進行解壓,例如本人解壓到了E盤根目錄下。cmd命令進入解壓目錄,執行,python setup.py install
l將Pip的路徑新增到Path中,例如: C:\Python27\Scripts
使用 pip命令檢驗是否成功。

3.下載Numpy,SciPy,MatplotLib這三個庫的exe,注意,這裡用的是exe,因為MatplotLib的使用需要以Numpy的支援,所以最好先裝NumPy再裝MatplotLib。
其中NumPy和SciPy沒有32和64位的區別,MatPlotLib需要根據自己的系統選擇32位和64位的。再次提醒,這三個庫一定都要下載對應版本的exe。下載完成後一次安裝就是了,他們會自動找到你之前安裝好的Python所在的路徑的,一路Next到底就行了。

使用pip安裝matplotLib: python -m pip install matplotlib
在聯網的條件下,會自動下載 matplotlib-2.0.2-cp27-cp27m-win_amd64.whl檔案

4.opencv2安裝

點選下載的opencv-2.4.12.exe,一路next下去,例如本人安裝到E盤根目錄下。安裝完成後,將E:\opencv2_4_12\build\python\2.7\x64下的cv2.pyd拷貝到E:\Python27\Lib\site-packages下面。
在cmd下面輸入python進入python命令列,然後輸入import cv2,如沒有錯誤資訊證明安裝成功。

5.很多的時候,也許我們還會想用別的影象處理庫,像skimage,PIL等。這個時候就還需要繼續安裝這些影象處理的庫了。這裡我們將不在使用pip進行安裝,而是另外一種高效的安裝工具——anaconda,其官方連結為

https://www.continuum.io/downloads。該工具的強大之處在於可以將python及其使用的一切庫全部安裝。簡單的說,如果安裝之前你的電腦沒有安裝過任何和Python相關的元件,anaconda會幫你安裝所有你需要的一切。這裡下載安裝Python2.7 version即可。位數根據自己的計算機選擇。

安裝完成後cmd下面輸入conda list,就會出現安裝列表

然後在python命令列下,對上文提到的影象庫進行測試。如下所示,證明安裝成功。

同時,anaconda還會安裝一個簡單的python開發環境Spyder,下面我們對skimage庫進行簡單的測試。新建一個testio.py,程式如下,執行後就會在Console視窗顯示影象。
[python] view plain copy

print?

-- coding: utf-8 --

from skimage import io
img=io.imread(‘1.jpg’)
io.imshow(img)

為什麼要使用這個軟體來進行影象的顯示呢。簡單的說,cv的影象庫有對於命令列的介面,所以在命令列下面可以顯示影象,而skimage並沒有針對cmd命令列的介面,所以,如果在cmd下面執行的話,可以看到執行通過,但是不會有影象的顯示。如下所示

6.在第3步安裝完成後,可以在MatPlotLib的Examples頁面(http://matplotlib.org/examples/index.html)Copy程式碼執行,發現一定會出錯。這裡出的錯,大體有三個:
ImportError: matplotlib requires dateutil
ImportError: matplotlib requires pyparsing
No module name six
7.解決No module name six問題,解決辦法很簡單。把你的安裝路徑:Python27/Lib/site-packages/scipy/lib中的six.py,six.pyc,six.pyo三個檔案拷貝到 你的安裝路徑:Python27/Lib/site-packages,這個問題就解決了。如何還不行,請記住這個地址(非常重要):http://www.lfd.uci.edu/~gohlke/pythonlibs/
然後下載這個檔案:six‑1.9.0‑py2.py3‑none‑any.whl,下載後,利用CMD進入到該檔案所在的目錄(DOS命令為:cd /d XX:/XXX/six‑1.9.0‑py2.py3‑none‑any.whl 把你自己的six檔案的所在路徑按格式貼上進DOS然後回車就行了),然後輸入命令:pip install six-1.9.0-py2.py3-none-any.whl,等DOS命令跑完,six不存在的問題就解決了。
8.解決ImportError: matplotlib requires dateutil問題。下載python_dateutil‑2.4.2‑py2.py3‑none‑any.whl,然後pip install就可以解決該問題了。
9.解決ImportError: matplotlib requires pyparsing問題,還如同之前一樣,下載pyparsing‑2.0.3‑py2‑none‑any.whl(選擇對應的版本,這裡有2和3的區別)然後利用pip install安裝好就可以了。
10.到此,所有的配置就完成了,可以愉快地使用MatPlotLib進行科學畫圖和計算了。另外提醒一句,Python2.7和Python3.4不要共存,共存的時候安裝這幾個庫會出現莫名其妙地錯誤,怎麼也對不了,推薦只是用Python2.7,。最後,附帶一個來自MatPlotLib的畫圖程式碼:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm

fig = plt.figure()
ax = fig.gca(projection=’3d’)
X, Y, Z = axes3d.get_test_data(0.05)
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
cset = ax.contour(X, Y, Z, zdir=’z’, offset=-100, cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir=’x’, offset=-40, cmap=cm.coolwarm)
cset = ax.contour(X, Y, Z, zdir=’y’, offset=40, cmap=cm.coolwarm)

ax.set_xlabel(‘X’)
ax.set_xlim(-40, 40)
ax.set_ylabel(‘Y’)
ax.set_ylim(-40, 40)
ax.set_zlabel(‘Z’)
ax.set_zlim(-100, 100)

plt.show()