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()

  

实现效果:

posted @ 2015-08-30 12:25  浩克匠心  阅读(4558)  评论(1编辑  收藏  举报