python数字图像处理环境安装与配置过程示例

目录
  • 引言
  • 一、需要的安装包
  • 二、下载并安装 anaconda
  • 三、简单测试
  • 四、skimage包的子模块

引言

一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点:

1、不开源,价格贵

2、软件容量大。一般3G以上,高版本甚至达5G以上。

3、只能做研究,不易转化成软件。

因此,我们这里使用python这个脚本语言来进行数字图像处理。

要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的。

要使用python进行各种开发和科学计算,还需要安装对应的包。这和matlab非常相似,只是matlab里面叫工具箱(toolbox),而python里面叫库或包。基于python脚本语言开发的数字图片处理包,其实很多,比如PIL,Pillow, opencv, scikit-image等。

对比这些包,PIL和Pillow只提供最基础的数字图像处理,功能有限;

opencv实际上是一个c++库,只是提供了python接口,更新速度非常慢。到现在python都发展到了3.5版本,而opencv只支持到python 2.7版本;

scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,正好与matlab一样,因此,我们最终选择scikit-image进行数字图像处理。

一、需要的安装包

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

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

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

但是不用怕,我们选择一款集成安装环境就行了,在此推荐Anaconda, 它把以上需要的包都集成在了一起,因此我们实际上从头到尾只需要安装Anaconda软件就行了,其它什么都不用装。

二、下载并安装 anaconda

先到https://www.anaconda.com/products/distribution下载anaconda, 现在的版本有python2.7版本和python3.5版本,下载好对应版本、对应系统的anaconda,它实际上是一个sh脚本文件,大约280M左右。

本系列以windows7+python3.5为例,因此我们下载如下图红框里的版本:

名称为:Anaconda3-2.4.1-Windows-x86_64.exe

是一个可执行的exe文件,下载完成好,直接双击就可以安装了。

在安装的时候,假设我们安装在D盘根目录,如:

并且将两个选项都选上,将安装路径写入环境变量。

然后等待安装完成就可以了。

安装完成后,打开windows的命令提示符:

输入conda list 就可以查询现在安装了哪些库,常用的numpy, scipy名列其中。如果你还有什么包没有安装上,可以运行

conda install *** 来进行安装。(***为需要的包的名称)

如果某个包版本不是最新的,运行 conda update *** 就可以更新了。

三、简单测试

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

spyder.exe放在安装目录下的Scripts里面,如我的是 D:/Anaconda3/Scripts/spyder.exe, 直接双击就能运行。我们可以右键发送到桌面快捷方式,以后运行就比较方便了。

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

from skimage import io
img=io.imread('d:/dog.jpg')
io.imshow(img)

将其中的d:/dog.jpg 改成你的图片位置

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

如果右下角“ Ipython console" 能显示出图片,说明我们的运行环境安装成功。

我们可以选择右上角的 ” variable explorer" 来查看图片信息,如

我们可以把这个程序保存起来,注意python脚本文件的后缀名为py.

四、skimage包的子模块

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

子模块名称  主要实现功能
io 读取、保存和显示图片或视频
data 提供一些测试图片和样本数据
color 颜色空间变换
filters 图像增强、边缘检测、排序滤波器、自动阈值等
draw 操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等
transform 几何变换或其它变换,如旋转、拉伸和拉东变换等
morphology 形态学操作,如开闭运算、骨架提取等
exposure 图片强度调整,如亮度调整、直方图均衡等
feature 特征检测与提取等
measure 图像属性的测量,如相似性或等高线等
segmentation 图像分割
restoration 图像恢复
util 通用函数

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

from skimage import io,data,color

以上就是python数字图像处理环境安装与配置过程示例的详细内容,更多关于python数字图像处理环境安装配置的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python OpenCV图像处理之图像滤波特效详解

    目录 1分类 2邻域滤波 2.1线性滤波 2.2非线性滤波 3频域滤波 3.1低通滤波 3.2高通滤波 1 分类 图像滤波按图像域可分为两种类型: 邻域滤波(Spatial Domain Filter),其本质是数字窗口上的数学运算.一般用于图像平滑.图像锐化.特征提取(如纹理测量.边缘检测)等,邻域滤波使用邻域算子——利用给定像素周围像素值以决定此像素最终输出的一种算子 频域滤波(Frequency Domain Filter),其本质是对像素频率的修改.一般用于降噪.重采样.图像压缩等. 按

  • python skimage图像处理

    目录 引言 scikit-image进行数字图像处理 图片信息 skimage包的子模块 从外部读取图片并显示 程序自带图片 保存图片 图像像素的访问与裁剪 color模块的rgb2gray()函数 结果 图像数据类型及颜色空间转换 1.unit8转float 2.float转uint8 其它的转换 图像的绘制 其它方法绘图并显示 图像的批量处理 图像的形变与缩放 1.改变图片尺寸resize 2.按比例缩放rescale 3.旋转 rotate 4.图像金字塔 对比度与亮度调整 1.gamma

  • Python+OpenCV数字图像处理之ROI区域的提取

    目录 1.实现原理 2.使用的函数简述 3.代码实现过程 (1)读入原始图像 (2)获取mask (3)获取人物mask (4)获取人物 (5)新建一张与原始图一样大小的蓝色的背景图 (6)得到蓝色背景的mask 4.整体代码  利用mask(掩模)技术提取纯色背景图像ROI区域中的人和物,并将提取出来的人或物添加在其他图像上. 1.实现原理 先通过cv.cvtColor()函数,将原RGB彩色图像转换为hsv色彩空间的图像,然后通过cv.inRange()函数获得ROI区域的Mask,最后利用

  • Python图像处理库PIL详细使用说明

    一. 简介 1. 基本介绍 Pillow 是 Python 中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像.调整图像大小和图像颜色处理等.与 Pillow 相比,OpenCV 和 Scikit-image 的功能更为丰富,所以使用起来也更为复杂,主要应用于机器视觉.图像分析等领域,比如众所周知的“人脸识别”应用 . 2. 特点 支持格式繁多 Pillow 支持广泛的图像格式,比如 "jpeg","png","bmp","g

  • Python图像处理之图像量化处理详解

    目录 一.图像量化处理原理 二.图像量化实现 三.图像量化等级对比 四.K-Means聚类实现量化处理 五.总结 一.图像量化处理原理 量化(Quantization)旨在将图像像素点对应亮度的连续变化区间转换为单个特定值的过程,即将原始灰度图像的空间坐标幅度值离散化.量化等级越多,图像层次越丰富,灰度分辨率越高,图像的质量也越好:量化等级越少,图像层次欠丰富,灰度分辨率越低,会出现图像轮廓分层的现象,降低了图像的质量.图8-1是将图像的连续灰度值转换为0至255的灰度级的过程[1-3]. 如果

  • Python+OpenCV图像处理之直方图统计

    目录 1. 直方图概述 (1)基本概念 (2)直方图中的术语 2. 直方图绘制 (1)读取图像信息 (2)绘制直方图 3. 掩膜直方图 (1)基本概念 (2)实现代码 4. H-S 直方图 (1)基本概念 (2)绘制二维H-S直方图 1. 直方图概述 (1)基本概念 直方图就是对图像的另外一种解释,它描述了整幅图像的灰度分布.直方图的 x 轴代表灰度值(0~255),y 轴代表图片中同一种灰度值的像素点的数目,所以通过直方图我们可以对图像的亮度.灰度分布.对比度等有了一个直观的认识 (2)直方图

  • python数字图像处理环境安装与配置过程示例

    目录 引言 一.需要的安装包 二.下载并安装 anaconda 三.简单测试 四.skimage包的子模块 引言 一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因此,我们这里使用python这个脚本语言来进行数字图像处理. 要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非

  • python数字图像处理像素的访问与裁剪示例

    目录 引言 引言 图片读入程序中后,是以numpy数组存在的.因此对numpy数组的一切功能,对图片也适用.对数组元素的访问,实际上就是对图片像素点的访问. 彩色图片访问方式为: img[i,j,c] i表示图片的行数,j表示图片的列数,c表示图片的通道数(RGB三通道分别对应0,1,2).坐标是从左上角开始. 灰度图片访问方式为: gray[i,j] 例1:输出小猫图片的G通道中的第20行30列的像素值 from skimage import io,data img=data.chelsea(

  • python数字图像处理之图像自动阈值分割示例

    目录 引言 1.threshold_otsu 2.threshold_yen 3.threshold_li 4.threshold_isodata 5.threshold_adaptive 引言 图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像. 在skimage库中,阈值分割的功能是放在fi

  • Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程

    以此文记录Python与Tensorflow及其开发环境的安装与配置过程,以备以后参考. 1 硬件与系统条件 Win7 64位系统,显卡为NVIDIA GeforeGT 635M 2 安装策略 a.由于以上原因,选择在win7下安装cpu版的tensorflow,使用anconda安装,总结下来,这么做是代价最小的. b. 首先,不要急于下载Python,因为最新的版本可能会与Anaconda中的Python版本发生冲突.以目前(截止2017-06-17日)的情况,Anaconda选择Anaco

  • Python 中的pygame安装与配置教程详解

    安装软件环境及版本说明 OS: Win10 x 64 专业版 Python: 2.7 IDE: PyCharm Community 2018 1. 安装python 1)下载并安装python python官网下载需要的版本,并安装(安装过程很简单,步骤略) https://www.python.org/downloads/windows/ 这里下载的是python2.7 2)配置环境变量 如果安装python时,没有勾选添加python到环境变量PATH,则需要手动添加 3)验证是否安装+配置

  • python数字图像处理图像的绘制详解

    目录 正文 一.用figure函数和subplot函数分别创建主窗口与子图 二.用subplots来创建显示窗口与划分子图 三.其它方法绘图并显示 正文 实际上前面我们就已经用到了图像的绘制,如: io.imshow(img) 这一行代码的实质是利用matplotlib包对图片进行绘制,绘制成功后,返回一个matplotlib类型的数据.因此,我们也可以这样写: import matplotlib.pyplot as plt plt.imshow(img) imshow()函数格式为: matp

  • Python selenium模块的安装和配置教程

    目录 一.selenium的安装以及简单应用 二.selenium的简单使用 三.selenium提取数据 1.driver对象常用的属性和方法 2.driver对象定位标签元素获取标签对象的方法 3.标签对象提取文本内容和属性值 四.selenium无头模式 一.selenium的安装以及简单应用 我们以谷歌浏览器的chromedriver为例 1.在Python虚拟环境中安装selenium模块 pip/pip3 install selenium 2.下载版本符合的webdriver 以ch

  • MySql 5.7.17压缩包免安装的配置过程图解

    MySQL数据库管理软件有两种版本,一种是企业版,一种是社区版,其中,前者是收费的,如果是个人使用的,社区版足矣.下载mysql-5.7.17-winx64.zip,并将之解压于自己选定的目录后,如图1,会在文件夹里看到配置文件my-default.ini,此时,需将其复制,并粘贴进bin文件夹里,并将其重新命名为my.ini,如图2.至此准备工作完成,下面将详说具体的配置过程. 工具/原料 (1)电脑:Lenovo B460e:  (2)操作系统:windows 7,64位:  (3)mysq

  • Python远程开发环境部署与调试过程图解

    这篇文章主要介绍了Python远程开发环境部署与调试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.下载相应开发工具 Pycharm :下载地址 二.部署开发机 一般在工作过程中,开发环境并不是本地环境,而是指在开发机:因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务 三.代码自动化部署 由于我们在本地进行代码编辑.在开发机中进行代码的运行及调试,因此,需要一种很方便的方式进行代码的远程自动化部署Pycharm 基

  • python数字图像处理skimage读取显示与保存图片

    目录 引言 一.从外部读取图片并显示 二.程序自带图片 三.保存图片 四.图片信息 引言 skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的.为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用. 引入skimage模块可用: from skimage import io 一.从外部读取图片并显示 读取单张彩色rgb图片,使用skimage.io.imread(fname)函数,带一个参数,表示需要读取的文件路径.显示图片使用skimage.io.

随机推荐