python、opencv以及第三方库的安装

来源:互联网 发布:滚动的天空矩阵浪潮 编辑:程序博客网 时间:2024/05/19 06:16

准备文件:
python2.7.12,下载链接https://www.python.org/downloads/
pip8.1.1,下载链接https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7
opencv2.4.12 http://opencv.org/downloads.html
NumPy: http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/
SciPy: http://sourceforge.net/projects/scipy/files/scipy/0.15.1/
MatPlotLib: http://matplotlib.org/downloads.html

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