OpenCV 4 Python高級配置—安裝setuptools,matplotlib,six,dateutil,pyparsing 完整過程


      Matplotib 是python 的一個繪圖庫,里頭有各種各樣的繪圖方法,可以用Matplotib 顯示圖像,放大圖像,保存圖像等等,對於OpenCV處理圖像具有非常大的幫助。但是,安裝Matplotib 會遇到一系列問題,因為matplotlib 需要依賴許多其他科學計算的第三方庫,就需要一個一個的安裝了。(OpenCV的基本配置請參見上一貼 http://www.cnblogs.com/sopic/p/4753413.html )

      下面就是基於win7 32/64位系統完整解決方案:

 

      Python第三方模塊中一般會自帶setup.py文件,在Windows環境下,我們只需要使用cmd命令:

      cd c:\python\..

      python setup.py install

      兩個命令就可以完成第三方模塊的安裝了。

      第一個cd命令將當前目前切換到待安裝的第三方模塊的目錄下(這里假設第三方模塊解壓后的目錄為c:\python278\..)若在其他盤符,例如G盤,則先執行D:,第二個命令就執行安裝了。

      安裝的過程中可能會出現“ImportError: No module named setuptools”的錯誤提示,這是新手很常遇見的錯誤提示。不用擔心,這是因為Windows環境下Python默認是沒有安裝setuptools這個模塊的,這也是一個第三方模塊。

1, 安裝setuptools

      官網直接下載:http://pypi.python.org/pypi/setuptools

      如果是Windows環境的話,下載setuptools-18.2.zip,解壓,進入目錄,雙擊ez_setup.py,即可完成安裝。

      安裝了setuptools之后,再運行“python setup.py install”就可以方便地安裝各種第三方模塊了。

2, 安裝matplotlib

      官網直接下載:http://matplotlib.sourceforge.net/

      找到對應版本的.exe文件安裝完畢之后,我用的是matplotlib-1.4.3-py2.7, 直接  import matplotlib,

      報錯如下:\

     

之后就是安裝 six了

3, 安裝six

      官網下載:http://www.pythonhosted.org/six/

我下載的是 six-1.9.0 的源碼壓縮包six-1.9.0.tar.gz, 解壓之后,進入解壓目錄,命令行執行 python setup.py install 就可以安裝完成。

      之后再次import matplotlib 還是缺少庫: dateutil

\

4, 安裝dateutil

      官網下載:https://pypi.python.org/pypi/python-dateutil/1.4.1

      我下載的是 python_dateutil-1.4.1-py2.7, 源碼安裝  同樣到解壓目錄下,執行 python  setup.py install 同樣可以安裝成功,

      繼續執行:import matplotlib  ;依舊報錯: 缺少 pyparsing庫

\

5, 安裝pyparsing

      官網下載: http://sourceforge.net/projects/pyparsing/files/pyparsing/pyparsing-2.0.3/
      下載pyparsing-2.0.3.win32-py2.6.exe,雙擊運行,安裝完成====
      仍然 import matplotlib,還是缺少: numpy:

 \

 

6, 安裝numpy

      官網下載:http://www.numpy.org/

      下載numpy-1.9.1-win32-superpack-python2.7.exe,安裝numpy 成功:

      執行 import  matplotlib  OK!可以愉快地在Python上使用openCV了!

 

測試代碼:

import cv2 
import numpy as np
from matplotlib import pyplot as plt


img = cv2.imread("finger.jpg")
cv2.imwrite('1gray.png',img)
cv2.namedWindow("Image") 
cv2.imshow("Image", img) 


plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()


k = cv2.waitKey(0)&0xFF
if k == 27: # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    cv2.imwrite('messigray.png',img)
    cv2.destroyAllWindows()

  

實現效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM