Python机器视觉编程环境搭建方法

xiaoxiao2021-02-28  37

Python机器视觉编程环境搭建方法

1. Why Python

C/C++

早期的计算机视觉领域大多数程序都是用C/C++编写。随着计算机硬件速度越来越快,开源平台越来越多,开发者选择计算机视觉算法的实现语言变得更加灵活,代码编写的效率和易用性成为选择编写语言时的考虑因素,而不再仅仅只考虑执行效率。

Python

Python的跨平台、开放性、易用性,加之丰富的资源使其成为近年来越来越多开发者的选择。国外出版了大量的Python编程、学习书籍,亚马逊搜索Python图书,结果列表长达100页共5712本(截止2016年5月28日)。你也可以从诸如Coursera或Edx等mooc平台找到像MIT校长讲授的Python入门等课程。国内也引进了许多优秀的学习资料和许多在线课程。除了这些学习资料,更重要的是Python自带很多可免费获取的强大而便捷的图像处理、数学计算和数据挖掘模块和丰富的其他网络资源。

本文以windows平台为例,介绍使用Python进行计算机视觉编程的开发环境搭建与基本配置,总结了软件下载地址、安装方法和开发环境搭建的基本方法,并提供了简单的代码示例。想说的是,Python安装方法与系统、软件版本等诸多因素有关,要想一步到位比较难,遇到问题多种方式可以混合尝试。

2.下载安装软件包

Python机器视觉编程环境的常用配置如下:

  Python:Pyhton2.7或Python3.x  pip:python的一个包管理器,安装后可方便的引入第三方库  NumPy:该模块用于python计算机视觉编程时的向量、矩阵的表示与操作  SciPy:更高级的数学计算模块  Matplotlib:结果可视化模块  PIL:Python的图像处理类库,提供通用的图像处理功能及大量基本图像操作  LIBSVM:用于机器学习的开源库  OpenCV:流行的开源机器视觉算法库,提供越来越多的Python接口,目前支持到Python2.7

2.1 Python

下载地址:

https://www.python.org/downloads/

版本选择:

选择Python2还是Pyhton3这是一个问题,我们需要知道的:

Python2用的人多,坑少,大多数第三方库目前都支持。Python3重大改进,发展趋势。但有些第三方库目前还支持不到3.x。Python3Python2有很多语法差异,并且不兼容2.x版本。

对初学者,可以先学Pyhton2.7,等第三方库支持较好了再学习Python3,也会比较快入手。

安装并添加环境变量:

下载与操作系统对应的版本,运行安装,这里选择默认安装路径C:\Python27。

然后添加Python的安装路径到系统环境变量PATH中:计算机->右键->属性->高级系统设置,系统环境变量后加“;”号,然后添加python2.7的路径,确定。

这样,命令行即可直接运行Pyhton,并查看版本信息

2.2 安装pip

pip是python中的一个包管理器,就是在电脑中自动安装、配制、卸载和升级软件包的工具组合。pip可以代替之前的easy_install,可方便的引入第三方库。

下载地址:

https://pypi.python.org/pypi/pip

目前最新版本为PIP-8.1.2。

安装并添加系统环境变量:

下载对pip-8.1.2.tar.gz压缩包,打开cmd,进入相应解压目录使用命令行安装。

例如,下载的是PIP-8.1.2.tar.gz压缩包,解压后得到pip-8.1.2文件夹。将该拷贝到Python安装目录C:\Python27下(不拷贝到这个文件夹也可以),打开cmd进入pip-8.1.2目录下运行:

[python]  view plain  copy python setup.py install  

然后再次编辑系统环境变量,将C:\Python27\Scripts也添加到Path,这样可以方便的运行pip

有了pip可以在命令行使用 pip install  xxx 的方法方便的安装所需的第三方库,例如下面的NumPy和SciPy等第三方库了。

2.3 NumPy

NumPy(Numeric Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。

NumPy和SciPy都可以在http://www.scipy.org/scipylib/download.html下载。

下载地址:

https://sourceforge.net/projects/numpy/files/https://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win32-superpack-python2.7.exe/download

安装:

方法1:

下载源码,打开cmd,进入相应目录使用命令行安装

[python]  view plain  copy python setup.py install  

方法2:

windows系统可以下载对应版本的.exe文件,如numpy-1.9.2-win32-superpack-python2.7.exe安装。

方法3:

使用pip直接安装NumPy

[python]  view plain  copy pip install numpy  

可能会因为网速等原因安装不成功,多试几次。本机安装时试了两次装成功。

2.4 SciPy

SciPy (Scientific Computing Tools for Python) 是一款方便、易用的python的科学和工程计算工具包。它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等。

方法3:

同样也可以使用pip直接安装scipy

[python]  view plain  copy pip install scipy  

2.5 PIL

PIL (Python Imaging Library) Python图像处理类库。提供了通用的图像处理功能,以及大量游泳的基本图像操作,如图像缩放、裁剪、色彩空间转换等。

下载地址:

http://www.pythonware.com/products/pil/

安装:

方法1:

下载源码,打开cmd,进入相应目录使用命令行安装

[python]  view plain  copy python setup.py install   方法2:

windows系统可下载.exe文件,如PIL-1.1.7.win32-py2.7.exe安装。注意PIL目前免费版支持到Python2.7。

方法3:

使用pip安装

[python]  view plain  copy pip install PIL  

2.6 matplotlib

matplotlib是一个2维Pyhton跨平台交互式绘图库。

下载地址:

http://matplotlib.org/users/installing.htmlhttps://pypi.python.org/pypi/matplotlib/

安装说明文档http://matplotlib.org/users/installing.html 提示在windows平台安装matplot需要安装相应版本的setuptools, numpy, python-dateutil, pytz, pyparsing, 和 cycler。具体下载地址在该页面下方有。本机只预先装了numpy,其他包可能在pip安装时自动下载安装了吧。大家可以先试试下面的方法2。

安装:

方法1:
使用pip离线安装.whl文件。将上述下载地址下载好的matplotlib-1.5.1-cp27-none-win32.whl拷入某文件夹<dir> [python]  view plain  copy pip install  e:\教程\python\matplotlib \ matplotlib-1.5.1-cp27-none-win32.whl  

方法2:

使用pip在线安装

[python]  view plain  copy pip install matplotlib  

2.7 LIBSVM

LIbSVM是台湾同胞为世界机器学习的卓越贡献之一,目前支持Python, R, MATLAB, Perl, Ruby, Weka, CommonLISP, CLISP, Haskell, OCaml, LabVIEW, and PHP interfaces. C# .NET code and CUDA多种语言。

下载地址:

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

下载LIBSVM软件包libsvm-3.21.zip文件

安装:

windows下安装python的LIBSVM模块及其艰难,请务必做好思想准备:windows下安装LIBSVM最常见问题出在libsvm.dll文件上,关键是要用正确版本的libsvm.dll文件替换windows下的libsvm.dll文件。

在尝试网上各种方法未果后,终于找到一个在本机环境下能用的方法,并且此方法比较简便,仅供大家参考。本机环境为:

系统为win7 64位下载的LIBSVM版本是libsvm-3.21压缩包python安装路径C:\Python27Python版本:2.7.11 win32位

(1)将下载的libsvm-3.21压缩包解压到C盘根目录下(其他文件夹也可)

将libsvm-3.21解压到C:\libsvm-3.21\

(2)下载libsvm-3.21的.whl文件

到以下网址下载与自己Python版本对应的LIBSVM的.whl文件:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm

拷贝到某目录,例如:e:\教程\python\Libsvm

(3)使用pip安装libsvm-3.21-cp27-none-win32.whl

运行cmd,使用pip安装上述.whl文件:

[python]  view plain  copy pip install  e:\教程\python\libsvm\libsvm-3.21-cp27-none-win32.whl   现在,符合本机环境和软件版本的LIBSVM就被存放到你python安装目录下的Lib\site-packages文件夹中,其中有一个\libsvm-3.21.dist-info文件夹,里面都是说明文件。

(4)将安装生成的libsvm.dll替换C:\libsvm-3.21\windows下的libsvm.dll

使用安装生成的C:\Python27\Lib\site-packages\下的libsvm.dll替换C:\libsvm-3.21\windows下的libsvm.dll。至此,libsvm.dll文件和你电脑的版本号完全对应,安装完成,本文在第3节测试安装。

本方法参考了下文:

http://www.mamicode.com/info-detail-1289587.html

2.8 OpenCV

OpenCV是业界最常用的开源机器视觉库,无需多介绍。

下载地址:

http://opencv.org/downloads.html

安装:

下载文件opencv-2.4.10.exe是一个自解压缩文件,将解压后的文件夹opencv->build->python->2.7->x86中的 cv2.pyd复制到:C:\Python27\Lib\site-packages 中即可。

3. 测试安装:示例程序

3.1 NumPy+PIL

Python IDLE GUI新建File,输入如下代码,保存后F5运行

[python]  view plain  copy from PIL import Image  pil_im =Image.open("f:/images/Lena.jpg").convert('L')  pil_im.show()   值得注意的是:

windows7下PythonPIL库show()函数显示图片有问题,解决方法是在将Python安装目录下的Lib/site-packages/PIL目录下的 ImageShow.py 文件的第 99 行进行替换:

将原

[python]  view plain  copy return "start /wait %s && del/f %s" % (file, file)  

替换为

[python]  view plain  copy return "start /wait %s && PING127.0.0.1 -n 5 > NUL && del /f %s" % (file, file)    

替换后图片将使用windows图片查看器打开。

NumPy参考文档:

http://docs.scipy.org/doc/numpy/

PIL参考文档:

http://www.pythonware.com/library/pil/handbook/index.htmhttp://effbot.org/imagingbook/

3.2 NumPy+Matplotlib

打开Python,File->New File,输入如下代码,保存,F5运行

[python]  view plain  copy import numpy as np  import matplotlib.pyplot as plt  X = np.linspace(-np.pi, np.pi, 256, endpoint=True)  C,S = np.cos(X), np.sin(X)  plt.plot(X,C)  plt.plot(X,S)  plt.show()  

更多示例参考:

http://www.labri.fr/perso/nrougier/teaching/matplotlib/

帮助文档:

http://matplotlib.org/contents.htmlhttp://matplotlib.org/Matplotlib.pdf

3.3 LIBSVM

2.7节已经安装配置好了LIBSVM,打开IDLE (PythonGUI),新建一个文件,输入如下代码:

[python]  view plain  copy import os    os.chdir('C:\libsvm-3.21\python')  from svmutil import *    y, x = svm_read_problem('../heart_scale')  m = svm_train(y[:200], x[:200], '-c 4')  p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m)  

取个文件名(例如svmlib_test1.py)保存后,按F5运行,运行结果如下,说明安装成功

===================== RESTART:D:\Python\svmlib_test1.py =====================

Accuracy = 84.2857%(59/70) (classification)

3.4 OpenCV

打开解压后opencv文件夹中的source\samples\python

选择drawing.py右键->Edit with IDLE

如果没有问题应该看到变换的彩色条纹:

自己写个显示图像的例子,新建文件,输入代码

[python]  view plain  copy import cv2  im = cv2.imread("f:/images/Lena.jpg")  imGray = cv2.imread('f:/images/Lena.jpg',cv2.CV_LOAD_IMAGE_GRAYSCALE)  cv2.imshow("WinName",im)  cv2.imshow("Gray WinName",imGray)  cv2.waitKey()   保存,F5运行,结果如下

Python机器视觉编程环境搭建过程比较繁琐,每一步可能都有多种方法,也可能有各种问题,本文总结的是书上和网友给出的部分方法,难免疏漏,仅供参考。 转载请注明出处(本文更新链接): http://blog.csdn.net/iracer/article/details/51537020

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iracer/article/details/51537020

Python机器视觉编程环境搭建方法

1. Why Python

C/C++

早期的计算机视觉领域大多数程序都是用C/C++编写。随着计算机硬件速度越来越快,开源平台越来越多,开发者选择计算机视觉算法的实现语言变得更加灵活,代码编写的效率和易用性成为选择编写语言时的考虑因素,而不再仅仅只考虑执行效率。

Python

Python的跨平台、开放性、易用性,加之丰富的资源使其成为近年来越来越多开发者的选择。国外出版了大量的Python编程、学习书籍,亚马逊搜索Python图书,结果列表长达100页共5712本(截止2016年5月28日)。你也可以从诸如Coursera或Edx等mooc平台找到像MIT校长讲授的Python入门等课程。国内也引进了许多优秀的学习资料和许多在线课程。除了这些学习资料,更重要的是Python自带很多可免费获取的强大而便捷的图像处理、数学计算和数据挖掘模块和丰富的其他网络资源。

本文以windows平台为例,介绍使用Python进行计算机视觉编程的开发环境搭建与基本配置,总结了软件下载地址、安装方法和开发环境搭建的基本方法,并提供了简单的代码示例。想说的是,Python安装方法与系统、软件版本等诸多因素有关,要想一步到位比较难,遇到问题多种方式可以混合尝试。

2.下载安装软件包

Python机器视觉编程环境的常用配置如下:

  Python:Pyhton2.7或Python3.x  pip:python的一个包管理器,安装后可方便的引入第三方库  NumPy:该模块用于python计算机视觉编程时的向量、矩阵的表示与操作  SciPy:更高级的数学计算模块  Matplotlib:结果可视化模块  PIL:Python的图像处理类库,提供通用的图像处理功能及大量基本图像操作  LIBSVM:用于机器学习的开源库  OpenCV:流行的开源机器视觉算法库,提供越来越多的Python接口,目前支持到Python2.7

2.1 Python

下载地址:

https://www.python.org/downloads/

版本选择:

选择Python2还是Pyhton3这是一个问题,我们需要知道的:

Python2用的人多,坑少,大多数第三方库目前都支持。Python3重大改进,发展趋势。但有些第三方库目前还支持不到3.x。Python3Python2有很多语法差异,并且不兼容2.x版本。

对初学者,可以先学Pyhton2.7,等第三方库支持较好了再学习Python3,也会比较快入手。

安装并添加环境变量:

下载与操作系统对应的版本,运行安装,这里选择默认安装路径C:\Python27。

然后添加Python的安装路径到系统环境变量PATH中:计算机->右键->属性->高级系统设置,系统环境变量后加“;”号,然后添加python2.7的路径,确定。

这样,命令行即可直接运行Pyhton,并查看版本信息

2.2 安装pip

pip是python中的一个包管理器,就是在电脑中自动安装、配制、卸载和升级软件包的工具组合。pip可以代替之前的easy_install,可方便的引入第三方库。

下载地址:

https://pypi.python.org/pypi/pip

目前最新版本为PIP-8.1.2。

安装并添加系统环境变量:

下载对pip-8.1.2.tar.gz压缩包,打开cmd,进入相应解压目录使用命令行安装。

例如,下载的是PIP-8.1.2.tar.gz压缩包,解压后得到pip-8.1.2文件夹。将该拷贝到Python安装目录C:\Python27下(不拷贝到这个文件夹也可以),打开cmd进入pip-8.1.2目录下运行:

[python]  view plain  copy python setup.py install  

然后再次编辑系统环境变量,将C:\Python27\Scripts也添加到Path,这样可以方便的运行pip

有了pip可以在命令行使用 pip install  xxx 的方法方便的安装所需的第三方库,例如下面的NumPy和SciPy等第三方库了。

2.3 NumPy

NumPy(Numeric Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。

NumPy和SciPy都可以在http://www.scipy.org/scipylib/download.html下载。

下载地址:

https://sourceforge.net/projects/numpy/files/https://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win32-superpack-python2.7.exe/download

安装:

方法1:

下载源码,打开cmd,进入相应目录使用命令行安装

[python]  view plain  copy python setup.py install  

方法2:

windows系统可以下载对应版本的.exe文件,如numpy-1.9.2-win32-superpack-python2.7.exe安装。

方法3:

使用pip直接安装NumPy

[python]  view plain  copy pip install numpy  

可能会因为网速等原因安装不成功,多试几次。本机安装时试了两次装成功。

2.4 SciPy

SciPy (Scientific Computing Tools for Python) 是一款方便、易用的python的科学和工程计算工具包。它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等。

方法3:

同样也可以使用pip直接安装scipy

[python]  view plain  copy pip install scipy  

2.5 PIL

PIL (Python Imaging Library) Python图像处理类库。提供了通用的图像处理功能,以及大量游泳的基本图像操作,如图像缩放、裁剪、色彩空间转换等。

下载地址:

http://www.pythonware.com/products/pil/

安装:

方法1:

下载源码,打开cmd,进入相应目录使用命令行安装

[python]  view plain  copy python setup.py install   方法2:

windows系统可下载.exe文件,如PIL-1.1.7.win32-py2.7.exe安装。注意PIL目前免费版支持到Python2.7。

方法3:

使用pip安装

[python]  view plain  copy pip install PIL  

2.6 matplotlib

matplotlib是一个2维Pyhton跨平台交互式绘图库。

下载地址:

http://matplotlib.org/users/installing.htmlhttps://pypi.python.org/pypi/matplotlib/

安装说明文档http://matplotlib.org/users/installing.html 提示在windows平台安装matplot需要安装相应版本的setuptools, numpy, python-dateutil, pytz, pyparsing, 和 cycler。具体下载地址在该页面下方有。本机只预先装了numpy,其他包可能在pip安装时自动下载安装了吧。大家可以先试试下面的方法2。

安装:

方法1:
使用pip离线安装.whl文件。将上述下载地址下载好的matplotlib-1.5.1-cp27-none-win32.whl拷入某文件夹<dir> [python]  view plain  copy pip install  e:\教程\python\matplotlib \ matplotlib-1.5.1-cp27-none-win32.whl  

方法2:

使用pip在线安装

[python]  view plain  copy pip install matplotlib  

2.7 LIBSVM

LIbSVM是台湾同胞为世界机器学习的卓越贡献之一,目前支持Python, R, MATLAB, Perl, Ruby, Weka, CommonLISP, CLISP, Haskell, OCaml, LabVIEW, and PHP interfaces. C# .NET code and CUDA多种语言。

下载地址:

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

下载LIBSVM软件包libsvm-3.21.zip文件

安装:

windows下安装python的LIBSVM模块及其艰难,请务必做好思想准备:windows下安装LIBSVM最常见问题出在libsvm.dll文件上,关键是要用正确版本的libsvm.dll文件替换windows下的libsvm.dll文件。

在尝试网上各种方法未果后,终于找到一个在本机环境下能用的方法,并且此方法比较简便,仅供大家参考。本机环境为:

系统为win7 64位下载的LIBSVM版本是libsvm-3.21压缩包python安装路径C:\Python27Python版本:2.7.11 win32位

(1)将下载的libsvm-3.21压缩包解压到C盘根目录下(其他文件夹也可)

将libsvm-3.21解压到C:\libsvm-3.21\

(2)下载libsvm-3.21的.whl文件

到以下网址下载与自己Python版本对应的LIBSVM的.whl文件:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#libsvm

拷贝到某目录,例如:e:\教程\python\Libsvm

(3)使用pip安装libsvm-3.21-cp27-none-win32.whl

运行cmd,使用pip安装上述.whl文件:

[python]  view plain  copy pip install  e:\教程\python\libsvm\libsvm-3.21-cp27-none-win32.whl   现在,符合本机环境和软件版本的LIBSVM就被存放到你python安装目录下的Lib\site-packages文件夹中,其中有一个\libsvm-3.21.dist-info文件夹,里面都是说明文件。

(4)将安装生成的libsvm.dll替换C:\libsvm-3.21\windows下的libsvm.dll

使用安装生成的C:\Python27\Lib\site-packages\下的libsvm.dll替换C:\libsvm-3.21\windows下的libsvm.dll。至此,libsvm.dll文件和你电脑的版本号完全对应,安装完成,本文在第3节测试安装。

本方法参考了下文:

http://www.mamicode.com/info-detail-1289587.html

2.8 OpenCV

OpenCV是业界最常用的开源机器视觉库,无需多介绍。

下载地址:

http://opencv.org/downloads.html

安装:

下载文件opencv-2.4.10.exe是一个自解压缩文件,将解压后的文件夹opencv->build->python->2.7->x86中的 cv2.pyd复制到:C:\Python27\Lib\site-packages 中即可。

3. 测试安装:示例程序

3.1 NumPy+PIL

Python IDLE GUI新建File,输入如下代码,保存后F5运行

[python]  view plain  copy from PIL import Image  pil_im =Image.open("f:/images/Lena.jpg").convert('L')  pil_im.show()   值得注意的是:

windows7下PythonPIL库show()函数显示图片有问题,解决方法是在将Python安装目录下的Lib/site-packages/PIL目录下的 ImageShow.py 文件的第 99 行进行替换:

将原

[python]  view plain  copy return "start /wait %s && del/f %s" % (file, file)  

替换为

[python]  view plain  copy return "start /wait %s && PING127.0.0.1 -n 5 > NUL && del /f %s" % (file, file)    

替换后图片将使用windows图片查看器打开。

NumPy参考文档:

http://docs.scipy.org/doc/numpy/

PIL参考文档:

http://www.pythonware.com/library/pil/handbook/index.htmhttp://effbot.org/imagingbook/

3.2 NumPy+Matplotlib

打开Python,File->New File,输入如下代码,保存,F5运行

[python]  view plain  copy import numpy as np  import matplotlib.pyplot as plt  X = np.linspace(-np.pi, np.pi, 256, endpoint=True)  C,S = np.cos(X), np.sin(X)  plt.plot(X,C)  plt.plot(X,S)  plt.show()  

更多示例参考:

http://www.labri.fr/perso/nrougier/teaching/matplotlib/

帮助文档:

http://matplotlib.org/contents.htmlhttp://matplotlib.org/Matplotlib.pdf

3.3 LIBSVM

2.7节已经安装配置好了LIBSVM,打开IDLE (PythonGUI),新建一个文件,输入如下代码:

[python]  view plain  copy import os    os.chdir('C:\libsvm-3.21\python')  from svmutil import *    y, x = svm_read_problem('../heart_scale')  m = svm_train(y[:200], x[:200], '-c 4')  p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m)  

取个文件名(例如svmlib_test1.py)保存后,按F5运行,运行结果如下,说明安装成功

===================== RESTART:D:\Python\svmlib_test1.py =====================

Accuracy = 84.2857%(59/70) (classification)

3.4 OpenCV

打开解压后opencv文件夹中的source\samples\python

选择drawing.py右键->Edit with IDLE

如果没有问题应该看到变换的彩色条纹:

自己写个显示图像的例子,新建文件,输入代码

[python]  view plain  copy import cv2  im = cv2.imread("f:/images/Lena.jpg")  imGray = cv2.imread('f:/images/Lena.jpg',cv2.CV_LOAD_IMAGE_GRAYSCALE)  cv2.imshow("WinName",im)  cv2.imshow("Gray WinName",imGray)  cv2.waitKey()   保存,F5运行,结果如下

Python机器视觉编程环境搭建过程比较繁琐,每一步可能都有多种方法,也可能有各种问题,本文总结的是书上和网友给出的部分方法,难免疏漏,仅供参考。 转载请注明出处(本文更新链接): http://blog.csdn.net/iracer/article/details/51537020

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iracer/article/details/51537020
转载请注明原文地址: https://www.6miu.com/read-1950203.html

最新回复(0)