python简易图片处理(2):环境配置以及Anaconda相关知识

来源:互联网 发布:淘宝美工前景怎么样 编辑:程序博客网 时间:2024/05/29 03:04

基于python脚本语言开发的数字图像处理包很多,比如说PIL,Pillow,openCV,scikit-image等。

对这些包进行一个简单的比较,PIL和Pillow只提供最基础的数字图像处理,功能有限;openCV实际上是一个C++库,只是提供了python的接口,更新速度非常慢。
scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,正好与matlab一样,因此,我们最终选择scikit-image进行数字图像处理。

因为scikit-image是基于scipy进行运算的,因此安装numpy和scipy是必须的。要进行图片的显示,还需要安装matplotlib包,综合起来,需要的包有:

python>=2.6Numpy>=1.6.1Cython>=0.21Six>=1.4Scipy>=0.9Matplotlib>=1.1.0NetworkX>=1.8Pillow>=1.7.8dask[array]>=0.5.0

安装起来非常费事,尤其是scipy,在windows上基本安装不上。

这里推荐安装Anaconda,它把以上需要的包都集成在一起,因此我们实际上从头到尾只需要安装Anaconda软件就好。其他什么都不用装。
Anaconda的安装非常简单,到官网下载相应的版本即可。

安装完成后,打开windows的命令提示符:
输入conda list就可以查询现在安装了哪些库,常用的numpy,scipy名列其中。如果我们还有什么包没有安装上,可以运行conda install 来进行安装。(是我们需要安装的包的名称)
如果某个包的版本不是最新的,运行conda update *就可以更新了。

三.简单测试
anaconda自带了一款编辑器spyder,我们以后就可以用这款编辑器来编写代码。

我们编写一个程序来测试一下安装是否成功,改程序用来打开一张图片并显示。首先准备一张图片,然后打开spyder,编写如下代码:

from skimage import ioimg = io.imread('e:/bear.jpg')io.imshow(img)

然后点击上面工具栏的绿色三角进行运行,最终显示。

四skimage包的子模块
skimage包的全称为scikit-image SciKit(toolkit for SciPy),ta是对scipy.ndimage进行了扩展,提供了更多的图片处理功能。ta是由python语言编写,由scipy社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要的子模块列表:

  1. io 读取、保存、显示图片和视频
  2. data 提供一些测试图片和样本数据
  3. color 颜色空间变换
  4. filters 图像增强、边缘检测、排序滤波器、自动阈值等
  5. draw 操作与numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等。
  6. transform 几何变换或者其他变换,如旋转、拉伸和拉东变换
  7. morphology 形态学操作,如开闭运算和骨架提取。
  8. exposure 图片强度调整,如亮度的调整和直方图均衡等。
  9. feature 特征检测与提取。
  10. measure 图像属性的测量,如相似性或者等高线等。
  11. segmentation 图像分割
  12. restoration 图像恢复
  13. util 通用函数

用到一些图片处理的操作函数时,需要导入对应的子模块,如果需要导入多个模块,则用逗号隔开。eg:

from skimage import io,data.color
0 0