numpy文档pdf,numpy使用手册

http://www.itjxue.com  2023-01-14 12:03  来源:未知  点击次数: 

python pdf二进制读取问题

可以使用numpy.fromfile(),也可以使用open(filename, 'rb'),其中的'b'就是二进制的意思,然后使用文件类型的read方法,读取一些字节,再用struct.unpack()方法来解析二进制。

第一种方法是一次性读入文件(或文件的前多少个连续字节)到一个数组中,因此,灵活性差。

第二种方法灵活性很高,可以读取任意位置(使用文件的seek()方法跳跃位置)的二进制数据,再使用struct.unpack()方法来进行各种二进制解析。

提示:二进制文件是不保留存储方式的数据格式,因此,读二进制文件时应该知道二进制文件的存储格式。

Numpy基础20问

一言以蔽之,numpy是python中基于数组对象的科学计算库。

提炼关键字,可以得出numpy以下三大特点:

因为numpy是一个python库,所以使用python包管理工具pip或者conda都可以安装。

安装python后,打开cmd命令行,输入:

即可完成安装。

n维数组(ndarray)对象,是一系列 同类数据 的集合,可以进行索引、切片、迭代操作。

numpy中可以使用 array 函数创建数组:

判断一个数组是几维,主要是看它有几个轴(axis)。

一个轴表示一维数组,两个轴表示二维数组,以此类推。

每个轴都代表一个一维数组。

比如说,二维数组第一个轴里的每个元素都是一个一维数组,也就是第二个轴。

一维数组一个轴:

二维数组两个轴:

三维数组三个轴:

以此类推n维数组。

numpy中常用 array 函数创建数组,传入列表或元组即可。

创建一维数组,并指定数组类型为 int :

创建二维数组:

还可以使用 arange 函数创建一维数字数组,用法类似python的 range 函数.

numpy的 random 模块用来创建随机数组。

random模块还有其他函数,这里不多说。

前面说到,数组维度即代表轴的数量。

我们可以通过数组(adarray)对象的ndim或shape属性,来查看轴的数量。

数组(ndarray)对象的 size 属性可以查看数组包含元素总数。

还可以通过 shape 属性返回元素的乘积,来计算数组元素数量。

Numpy支持的数据类型非常多,所以很适合做数值计算。

下面给出常见的数据类型:

数组(adarrry)对象提供 dtype 属性,用来查看数组类型。

前面说过,数组的 shape 属性返回一个元组,能够反映数组的形状,包括维度以及每个轴的元素数量。

那么如果给定一个数组,怎么改变其形状呢?

常用的方式有两种:

比如说我要将一个二维数组转换为三维数组。

reshape 方法可以传入整数或者元组形式的参数。

传入的参数和 shape 属性返回的元组的含义是一样的。

例如, x2.reshape(1,2,3) 是将二维数组转换成三维数组,参数个数代表要转换的维度,参数数字从左到右分别表示0轴、1轴、2轴的元素数量。

resize 方法和 reshape 方法使用形式一样,区别是 resize 方法改变了原始数组形状。

numpy一维数组的索引和切片操作类似python列表,这里不多讲。

比如说取一维数组前三个元素。

重点是对多维数组的索引和切片。

多维数组有多个轴,那么就需要对每个轴进行索引。

例如,三维数组形状为(x,y,z),分别代表:0轴有x个元素、1轴有y个元素,2轴有z个元素。

对0、1、2轴进行索引,如果取o轴第2个元素、1轴第0个元素、2轴第3个元素,那么索引形式就为[2,0,3]。

切片也是同样道理。

如果取o轴前2个元素、1轴前1个元素、2轴后2个元素,那么切片形式就为[:2,:1,-2:]。

说到迭代,大家很容易想到直接对数组直接使用 for 循环操作,对于一维数组来说,当然是可以的。

但对于多维数组,迭代是相对于0轴完成的,就是多维数组最外层的那一维。

你没有办法直接遍历数组里每一个元素,嵌套循环又太低效。

这个时候就需要用到 flat 方法,它可以将多维数组平铺为一维的迭代器。

数组(ndarray)对象提供了ravel方法,用来将多维数组展开为一维数组。

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对多个数组的算术运算通常在相应的元素上进行。

较小的数组在较大的数组上“广播”,以便它们具有兼容的形状。

比如说一个一维数组乘以一个数字,相当于一维数组里每个元素都乘以这个数。

如果相同维度的数组进行运算,其shape相同,那么广播就是两个数组相同位数的元素进行运算。

如果两个数组维度不同,进行运算,这里就触发了广播的两个规则。

这两个规则保证了不同维度数组进行运算时,其维度自动调整成一致。

numpy提供了 transpose 函数用以对数组进行维度的调换,也就是转置操作。

转置后返回一个新数组。

当然,可以用更简单的方法。

数组对象提供了 T 方法,用于转置,同样会返回一个新数组。

numpy的 concatenate 函数用于沿指定轴连接相同形状的两个或多个数组。

numpy的 unique 函数用于去除数组中的重复元素,返回一个新数组。

unique 函数还能返回重复元素的索引、计数等信息,可去查文档自定义参数。

numpy文档

菜鸟教程

python数据分析与应用-Python数据分析与应用 PDF 内部全资料版

给大家带来的一篇关于Python数据相关的电子书资源,介绍了关于Python方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小281 MB,黄红梅 张良均编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.8。

内容介绍

目录

第1章 Python数据分析概述 1

任务1.1 认识数据分析 1

1.1.1 掌握数据分析的概念 2

1.1.2 掌握数据分析的流程 2

1.1.3 了解数据分析应用场景 4

任务1.2 熟悉Python数据分析的工具 5

1.2.1 了解数据分析常用工具 6

1.2.2 了解Python数据分析的优势 7

1.2.3 了解Python数据分析常用类库 7

任务1.3 安装Python的Anaconda发行版 9

1.3.1 了解Python的Anaconda发行版 9

1.3.2 在Windows系统中安装Anaconda 9

1.3.3 在Linux系统中安装Anaconda 12

任务1.4 掌握Jupyter Notebook常用功能 14

1.4.1 掌握Jupyter Notebook的基本功能 14

1.4.2 掌握Jupyter Notebook的高 级功能 16

小结 19

课后习题 19

第2章 NumPy数值计算基础 21

任务2.1 掌握NumPy数组对象ndarray 21

2.1.1 创建数组对象 21

2.1.2 生成随机数 27

2.1.3 通过索引访问数组 29

2.1.4 变换数组的形态 31

任务2.2 掌握NumPy矩阵与通用函数 34

2.2.1 创建NumPy矩阵 34

2.2.2 掌握ufunc函数 37

任务2.3 利用NumPy进行统计分析 41

2.3.1 读/写文件 41

2.3.2 使用函数进行简单的统计分析 44

2.3.3 任务实现 48

小结 50

实训 50

实训1 创建数组并进行运算 50

实训2 创建一个国际象棋的棋盘 50

课后习题 51

第3章 Matplotlib数据可视化基础 52

任务3.1 掌握绘图基础语法与常用参数 52

3.1.1 掌握pyplot基础语法 53

3.1.2 设置pyplot的动态rc参数 56

任务3.2 分析特征间的关系 59

3.2.1 绘制散点图 59

3.2.2 绘制折线图 62

3.2.3 任务实现 65

任务3.3 分析特征内部数据分布与分散状况 68

3.3.1 绘制直方图 68

3.3.2 绘制饼图 70

3.3.3 绘制箱线图 71

3.3.4 任务实现 73

小结 77

实训 78

实训1 分析1996 2015年人口数据特征间的关系 78

实训2 分析1996 2015年人口数据各个特征的分布与分散状况 78

课后习题 79

第4章 pandas统计分析基础 80

任务4.1 读/写不同数据源的数据 80

4.1.1 读/写数据库数据 80

4.1.2 读/写文本文件 83

4.1.3 读/写Excel文件 87

4.1.4 任务实现 88

任务4.2 掌握DataFrame的常用操作 89

4.2.1 查看DataFrame的常用属性 89

4.2.2 查改增删DataFrame数据 91

4.2.3 描述分析DataFrame数据 101

4.2.4 任务实现 104

任务4.3 转换与处理时间序列数据 107

4.3.1 转换字符串时间为标准时间 107

4.3.2 提取时间序列数据信息 109

4.3.3 加减时间数据 110

4.3.4 任务实现 111

任务4.4 使用分组聚合进行组内计算 113

4.4.1 使用groupby方法拆分数据 114

4.4.2 使用agg方法聚合数据 116

4.4.3 使用apply方法聚合数据 119

4.4.4 使用transform方法聚合数据 121

4.4.5 任务实现 121

任务4.5 创建透视表与交叉表 123

4.5.1 使用pivot_table函数创建透视表 123

4.5.2 使用crosstab函数创建交叉表 127

4.5.3 任务实现 128

小结 130

实训 130

实训1 读取并查看P2P网络贷款数据主表的基本信息 130

实训2 提取用户信息更新表和登录信息表的时间信息 130

实训3 使用分组聚合方法进一步分析用户信息更新表和登录信息表 131

实训4 对用户信息更新表和登录信息表进行长宽表转换 131

课后习题 131

第5章 使用pandas进行数据预处理 133

任务5.1 合并数据 133

5.1.1 堆叠合并数据 133

5.1.2 主键合并数据 136

5.1.3 重叠合并数据 139

5.1.4 任务实现 140

任务5.2 清洗数据 141

5.2.1 检测与处理重复值 141

5.2.2 检测与处理缺失值 146

5.2.3 检测与处理异常值 149

5.2.4 任务实现 152

任务5.3 标准化数据 154

5.3.1 离差标准化数据 154

5.3.2 标准差标准化数据 155

5.3.3 小数定标标准化数据 156

5.3.4 任务实现 157

任务5.4 转换数据 158

5.4.1 哑变量处理类别型数据 158

5.4.2 离散化连续型数据 160

5.4.3 任务实现 162

小结 163

实训 164

实训1 插补用户用电量数据缺失值 164

实训2 合并线损、用电量趋势与线路告警数据 164

实训3 标准化建模专家样本数据 164

课后习题 165

第6章 使用scikit-learn构建模型 167

任务6.1 使用sklearn转换器处理数据 167

6.1.1 加载datasets模块中的数据集 167

6.1.2 将数据集划分为训练集和测试集 170

6.1.3 使用sklearn转换器进行数据预处理与降维 172

6.1.4 任务实现 174

任务6.2 构建并评价聚类模型 176

6.2.1 使用sklearn估计器构建聚类模型 176

6.2.2 评价聚类模型 179

6.2.3 任务实现 182

任务6.3 构建并评价分类模型 183

6.3.1 使用sklearn估计器构建分类模型 183

6.3.2 评价分类模型 186

6.3.3 任务实现 188

任务6.4 构建并评价回归模型 190

6.4.1 使用sklearn估计器构建线性回归模型 190

6.4.2 评价回归模型 193

6.4.3 任务实现 194

小结 196

实训 196

实训1 使用sklearn处理wine和wine_quality数据集 196

实训2 构建基于wine数据集的K-Means聚类模型 196

实训3 构建基于wine数据集的SVM分类模型 197

实训4 构建基于wine_quality数据集的回归模型 197

课后习题 198

第7章 航空公司客户价值分析 199

任务7.1 了解航空公司现状与客户价值分析 199

7.1.1 了解航空公司现状 200

7.1.2 认识客户价值分析 201

7.1.3 熟悉航空客户价值分析的步骤与流程 201

任务7.2 预处理航空客户数据 202

7.2.1 处理数据缺失值与异常值 202

7.2.2 构建航空客户价值分析关键特征 202

7.2.3 标准化LRFMC模型的5个特征 206

7.2.4 任务实现 207

任务7.3 使用K-Means算法进行客户分群 209

7.3.1 了解K-Means聚类算法 209

7.3.2 分析聚类结果 210

7.3.3 模型应用 213

7.3.4 任务实现 214

小结 215

实训 215

实训1 处理信用卡数据异常值 215

实训2 构造信用卡客户风险评价关键特征 217

实训3 构建K-Means聚类模型 218

课后习题 218

第8章 财政收入预测分析 220

任务8.1 了解财政收入预测的背景与方法 220

8.1.1 分析财政收入预测背景 220

8.1.2 了解财政收入预测的方法 222

8.1.3 熟悉财政收入预测的步骤与流程 223

任务8.2 分析财政收入数据特征的相关性 223

8.2.1 了解相关性分析 223

8.2.2 分析计算结果 224

8.2.3 任务实现 225

任务8.3 使用Lasso回归选取财政收入预测的关键特征 225

8.3.1 了解Lasso回归方法 226

8.3.2 分析Lasso回归结果 227

8.3.3 任务实现 227

任务8.4 使用灰色预测和SVR构建财政收入预测模型 228

8.4.1 了解灰色预测算法 228

8.4.2 了解SVR算法 229

8.4.3 分析预测结果 232

8.4.4 任务实现 234

小结 236

实训 236

实训1 求取企业所得税各特征间的相关系数 236

实训2 选取企业所得税预测关键特征 237

实训3 构建企业所得税预测模型 237

课后习题 237

第9章 家用热水器用户行为分析与事件识别 239

任务9.1 了解家用热水器用户行为分析的背景与步骤 239

9.1.1 分析家用热水器行业现状 240

9.1.2 了解热水器采集数据基本情况 240

9.1.3 熟悉家用热水器用户行为分析的步骤与流程 241

任务9.2 预处理热水器用户用水数据 242

9.2.1 删除冗余特征 242

9.2.2 划分用水事件 243

9.2.3 确定单次用水事件时长阈值 244

9.2.4 任务实现 246

任务9.3 构建用水行为特征并筛选用水事件 247

9.3.1 构建用水时长与频率特征 248

9.3.2 构建用水量与波动特征 249

9.3.3 筛选候选洗浴事件 250

9.3.4 任务实现 251

任务9.4 构建行为事件分析的BP神经网络模型 255

9.4.1 了解BP神经网络算法原理 255

9.4.2 构建模型 259

9.4.3 评估模型 260

9.4.4 任务实现 260

小结 263

实训 263

实训1 清洗运营商客户数据 263

实训2 筛选客户运营商数据 264

实训3 构建神经网络预测模型 265

课后习题 265

附录A 267

附录B 270

参考文献 295

学习笔记

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。 定义 (推荐学习:Python视频教程) 用户可以通过电子邮件,Dropbox,GitHub 和 Jupyter Notebook Viewer,将 Jupyter Notebook 分享给其他人。 在Jupyter Notebook 中,代码可以实时的生成图像,视频,LaTeX和JavaScript。 使用 数据挖掘领域中最热门的比赛 Kaggle 里的资料都是Jupyter 格式 。 架构 Jupyter组件 Jupyter包含以下组件: Jupyter Notebook 和 ……

本文实例讲述了Python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下: 这里主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为 itchat , pandas , pyecharts 等 1、安装itchat 微信的python sdk,用来获取个人好友关系。获取的代码 如下: import itchatimport pandas as pdfrom pyecharts import Geo, Baritchat.login()friends = itchat.get_friends(update=True)[0:]def User2dict(User): User_dict = {} User_dict["NickName"] = User["NickName"] if User["NickName"] else "NaN" User_dict["City"] = User["City"] if User["City"] else "NaN" User_dict["Sex"] = User["Sex"] if User["Sex"] else 0 User_dict["Signature"] = User["Signature"] if User["Signature"] else "NaN" ……

基于微信开放的个人号接口python库itchat,实现对微信好友的获取,并对省份、性别、微信签名做数据分析。 效果: 直接上代码,建三个空文本文件stopwords.txt,newdit.txt、unionWords.txt,下载字体simhei.ttf或删除字体要求的代码,就可以直接运行。 #wxfriends.py 2018-07-09import itchatimport sysimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#绘图时可以显示中文plt.rcParams['axes.unicode_minus']=False#绘图时可以显示中文import jiebaimport jieba.posseg as psegfrom scipy.misc import imreadfrom wordcloud import WordCloudfrom os import path#解决编码问题non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd) #获取好友信息def getFriends():……

Python数据分析之双色球基于线性回归算法预测下期中奖结果示例

本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果。分享给大家供大家参考,具体如下: 前面讲述了关于双色球的各种算法,这里将进行下期双色球号码的预测,想想有些小激动啊。 代码中使用了线性回归算法,这个场景使用这个算法,预测效果一般,各位可以考虑使用其他算法尝试结果。 发现之前有很多代码都是重复的工作,为了让代码看的更优雅,定义了函数,去调用,顿时高大上了 #!/usr/bin/python# -*- coding:UTF-8 -*-#导入需要的包import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport operatorfrom sklearn import datasets,linear_modelfrom sklearn.linear_model import LogisticRegression#读取文件d……

以上就是本次介绍的Python数据电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对鬼鬼的支持。

注·获取方式:私信(666)

python基础2:随机数生成—random模块、numpy中的random函数

在Python中可以用于随机数生成的有两种主要途径,一是random模块,另一个是numpy库中random函数。

在我们日常使用中,如果是为了得到随机的单个数,多考虑random模块;如果是为了得到随机小数或者整数的矩阵,就多考虑numpy中的random函数,当然numpy也可以的到随机的单个数

一、random模块

二、numpy库中random函数

random模块中将近有7个函数都是可以用来生成随机数的:

作用:随机生成一个 [0,1) 的浮点数

作用:随机生成一个 [a,b) 的浮点数

作用:随机生成一个 [a,b] 的整数

作用:从列表,元组,字符串、集合(可用于for循环的数据类型)中随机选择一个元素

作用:在生成的以a为始,每step递增,以b为终这样的一个整数序列中随机选择一个数

作用:打乱一个列表的元素顺序

从序列population中随机取出k个数;population的类型可以是列表、元组、集合、字符串;

在Numpy库中,常用使用np.random.rand()、np.random.randn()和np.random.randint()随机函数。

作用:返回一个或一组服从标准正态分布的随机样本值

备注:标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)。对应的正态分布曲线如下所示,即

作用:使用方法与np.random.randn()函数相同 ,通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1

numpy.random.randint(low, high=None, size=None, dtype='l')

输入:

low—–为最小值

high—-为最大值

size—–为数组维度大小

dtype—为数据类型,默认的数据类型是np.int。

作用: 返回随机整数或整型数组,范围区间为[low,high),包含low,不包含high; high没有填写时,默认生成随机数的范围是[0,low

np.random.random([size])

作用:生成[0,1)之间的浮点数,与np.random.rand()功能类似

np.random.choice(a,[ size, replace, p])

参考文档1: 【python】numpy之random库简单的随机数据生成.rand()、.randint()、.randn()、.random()等(一)

参考文档2: Python中随机数的生成

参考文档3: numpy.random模块常用函数

终于写完了,我以为它很简单的………………预计1小时,结果写了2.5小时

谁有利用python进行数据分析 pdf 的中文 完整版的,求发一下

《Wes-McKinney-利用Python进行数据分析.epub》百度网盘免费下载:

链接:

?pwd=r77v 提取码: r77v

10 个 Python 图像编辑工具

以下提到的这些 Python 工具在编辑图像、操作图像底层数据方面都提供了简单直接的方法。

-- Parul Pandey

当今的世界充满了数据,而图像数据就是其中很重要的一部分。但只有经过处理和分析,提高图像的质量,从中提取出有效地信息,才能利用到这些图像数据。

常见的图像处理操作包括显示图像,基本的图像操作,如裁剪、翻转、旋转;图像的分割、分类、特征提取;图像恢复;以及图像识别等等。Python 作为一种日益风靡的科学编程语言,是这些图像处理操作的最佳选择。同时,在 Python 生态当中也有很多可以免费使用的优秀的图像处理工具。

下文将介绍 10 个可以用于图像处理任务的 Python 库,它们在编辑图像、查看图像底层数据方面都提供了简单直接的方法。

scikit-image 是一个结合 NumPy 数组使用的开源 Python 工具,它实现了可用于研究、教育、工业应用的算法和应用程序。即使是对于刚刚接触 Python 生态圈的新手来说,它也是一个在使用上足够简单的库。同时它的代码质量也很高,因为它是由一个活跃的志愿者社区开发的,并且通过了 同行评审(peer review)。

scikit-image 的 文档 非常完善,其中包含了丰富的用例。

可以通过导入 skimage 使用,大部分的功能都可以在它的子模块中找到。

图像滤波(image filtering):

使用 match_template() 方法实现 模板匹配(template matching):

在 展示页面 可以看到更多相关的例子。

NumPy 提供了对数组的支持,是 Python 编程的一个核心库。图像的本质其实也是一个包含像素数据点的标准 NumPy 数组,因此可以通过一些基本的 NumPy 操作(例如切片、 掩膜(mask)、 花式索引(fancy indexing)等),就可以从像素级别对图像进行编辑。通过 NumPy 数组存储的图像也可以被 skimage 加载并使用 matplotlib 显示。

在 NumPy 的 官方文档 中提供了完整的代码文档和资源列表。

使用 NumPy 对图像进行 掩膜(mask)操作:

像 NumPy 一样, SciPy 是 Python 的一个核心科学计算模块,也可以用于图像的基本操作和处理。尤其是 SciPy v1.1.0 中的 scipy.ndimage 子模块,它提供了在 n 维 NumPy 数组上的运行的函数。SciPy 目前还提供了 线性和非线性滤波(linear and non-linear filtering)、 二值形态学(binary morphology)、 B 样条插值(B-spline interpolation)、 对象测量(object measurements)等方面的函数。

在 官方文档 中可以查阅到 scipy.ndimage 的完整函数列表。

使用 SciPy 的 高斯滤波 对图像进行模糊处理:

PIL (Python Imaging Library) 是一个免费 Python 编程库,它提供了对多种格式图像文件的打开、编辑、保存的支持。但在 2009 年之后 PIL 就停止发布新版本了。幸运的是,还有一个 PIL 的积极开发的分支 Pillow ,它的安装过程比 PIL 更加简单,支持大部分主流的操作系统,并且还支持 Python 3。Pillow 包含了图像的基础处理功能,包括像素点操作、使用内置卷积内核进行滤波、颜色空间转换等等。

Pillow 的 官方文档 提供了 Pillow 的安装说明自己代码库中每一个模块的示例。

使用 Pillow 中的 ImageFilter 模块实现图像增强:

OpenCV(Open Source Computer Vision 库)是计算机视觉领域最广泛使用的库之一, OpenCV-Python 则是 OpenCV 的 Python API。OpenCV-Python 的运行速度很快,这归功于它使用 C/C++ 编写的后台代码,同时由于它使用了 Python 进行封装,因此调用和部署的难度也不大。这些优点让 OpenCV-Python 成为了计算密集型计算机视觉应用程序的一个不错的选择。

入门之前最好先阅读 OpenCV2-Python-Guide 这份文档。

使用 OpenCV-Python 中的 金字塔融合(Pyramid Blending)将苹果和橘子融合到一起:

SimpleCV 是一个开源的计算机视觉框架。它支持包括 OpenCV 在内的一些高性能计算机视觉库,同时不需要去了解 位深度(bit depth)、文件格式、 色彩空间(color space)之类的概念,因此 SimpleCV 的学习曲线要比 OpenCV 平缓得多,正如它的口号所说,“将计算机视觉变得更简单”。SimpleCV 的优点还有:

官方文档 简单易懂,同时也附有大量的学习用例。

文档 包含了安装介绍、示例以及一些 Mahotas 的入门教程

Mahotas 力求使用少量的代码来实现功能。例如这个 Finding Wally 游戏 :

ITK (Insight Segmentation and Registration Toolkit)是一个为开发者提供普适性图像分析功能的开源、跨平台工具套件, SimpleITK 则是基于 ITK 构建出来的一个简化层,旨在促进 ITK 在快速原型设计、教育、解释语言中的应用。SimpleITK 作为一个图像分析工具包,它也带有 大量的组件 ,可以支持常规的滤波、图像分割、 图像配准(registration)功能。尽管 SimpleITK 使用 C++ 编写,但它也支持包括 Python 在内的大部分编程语言。

有很多 Jupyter Notebooks 用例可以展示 SimpleITK 在教育和科研领域中的应用,通过这些用例可以看到如何使用 Python 和 R 利用 SimpleITK 来实现交互式图像分析。

使用 Python + SimpleITK 实现的 CT/MR 图像配准过程:

pgmagick 是使用 Python 封装的 GraphicsMagick 库。 GraphicsMagick 通常被认为是图像处理界的瑞士军刀,因为它强大而又高效的工具包支持对多达 88 种主流格式图像文件的读写操作,包括 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF 等等。

pgmagick 的 GitHub 仓库 中有相关的安装说明、依赖列表,以及详细的 使用指引 。

图像缩放:

边缘提取:

Cairo 是一个用于绘制矢量图的二维图形库,而 Pycairo 是用于 Cairo 的一组 Python 绑定。矢量图的优点在于做大小缩放的过程中不会丢失图像的清晰度。使用 Pycairo 可以在 Python 中调用 Cairo 的相关命令。

Pycairo 的 GitHub 仓库 提供了关于安装和使用的详细说明,以及一份简要介绍 Pycairo 的 入门指南 。

使用 Pycairo 绘制线段、基本图形、 径向渐变(radial gradients):

以上就是 Python 中的一些有用的图像处理库,无论你有没有听说过、有没有使用过,都值得试用一下并了解它们。

via:

作者: Parul Pandey 选题: lujun9972 译者: HankChow 校对: wxy

(责任编辑:IT教学网)

更多

推荐广告特效文章