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
下载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() |
实现效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?