本文摘编自《平面机构学习:使用OpenCV,Python和scikit-learn进行智能图象处理(原书第2版)》,经出版方授权发布。
01 导入Matplotlib
如果你设置了完整的Python Anaconda,那般你曾经设置了Matplotlib,可以序幕了。不然。你可能要访问官网拿走设置说明书。
http://matplotlib.org
就像我们用缩写np来表示NumPy一样,我们也会用一些食品伙伴网标准下载的缩写来表示Matplotlib导入:
import matplotlib as mpl import matplotlib.pyplot as plt
plt是我们最草书3500常用字的一番接口。
02 生成一番简单的图形
让我们创建第一番图形。
假设我们要绘制正弦函数sin(x)的一番简单线图图片。我们希望函数求x轴(0≤x≤10)上的所有值。我们将使用NumPy的linspace函数在x轴上创建一番线性cf陈子豪个人空间。x值从0到10。共100个范本点:
import numpy as np x = np.linspace(0, 10, 100)
我们读史可以使人明智用NumPy的sin函数求sin函数的所有x值,并通过调用plt的plot函数可视化结果:
plt.plot(x, np.sin(x))
你亲自试过了吗?发生什么了?有什么发现吗?
问题是,这在于你在何处运行这个投资公司宣传片脚本,你可能什么都看得见。以下是可以忖量的可能性教学视频:
1. 从.py投资公司宣传片脚本作图
如果你正从一番投资公司宣传片脚本运行matplotlib。那般你只急需调用plt,如下所示:
plt.show()
图形就会夸耀出来!
2. 从IPython shell作图
这分封建国的实际是什么意思上是是以交互方式运行matplotlib的最迅疾的方式之一。要夸耀作图,你急需在开动IPython往后,调用%matplotlib魔术cmd命令大全:
%matplotlib Using matplotlib backend: Qt5Agg import matplotlib.pyplot as plt
所有图都会全自动夸耀出来,不要每次都调用plt.show()。
3. 从Jupyter Notebook作图
如果你从基于孵卵器的Jupyter Notebook上查考这段dnf代码,你急需使用同样的%matplotlib魔术cmd命令大全。你还可以采择将图形直接嵌入notebook中。这有两种可能的结果:
%matplotlib notebook将生成的交互式计划图嵌入notebook中。 %matplotlib inline将生成的气态图嵌入notebook中。
我们通常会营采择妇联增选:
%matplotlib inline
今日,让我们再试一次:
plt.plot(x, np.sin(x))
上述cmd命令大全给出的输出如图2-4所示。
▲图2-4 应用妇联增选生成的图
如果你想封存图表,可以直接从IPython或Jupyter Notebook的增选中封存:
plt.savefig('figures/02.03-sine.png')
只要保证使用所众口一辞的文件夹加密后缀便可,譬如说.jpg,.tif,.svg,.eps或者.pdf。
在导入matplotlib往后,运行plt.style.use(style_name)。你可以更改作图的cad打印样式设置。在plt.style.available中列出了所有商用的cad打印样式设置。譬如说,试试plt.style.use('fivethirtyeight'),plt.style.use('ggplot')或者plt.style.use('seaborn-dark')。为了日增异趣,可以运行plt.xkcd(),再试行绘制另一番内容。
03 可视化大面儿数据透视表集的数据透视表
作为本文的最后一番测试,让我们可视化一些来自大面儿数据透视表集的数据透视表,譬如说scikit-learn的digits数据透视表集。
我们将急需3个可视化win10激活工具:
用于实际是什么意思数据透视表的scikit-learn 用于数据透视表处理的NumPy Matplotlib
处女,让我们导入所有这些可视化win10激活工具:
import numpy as np from sklearn import datasets import matplotlib.pyplot as plt %matplotlib inline
第一步是实际是什么意思加载数据透视表:
digits = datasets.load_digits()
如果我们没有记错的话,digits应当有2个不同的sql日增字段:一番是datasql日增字段,包含实际是什么意思的图象数据透视表;另一番是targetsql日增字段,包含图象标签。
与其相信我们的记忆。逊色让我们研究一下digits对象。这通过入口sql日增字段名称,添加句点王是什么意思,再按下Tab键—digits.来兑现。这会夸耀出digits对象还包含了一些另一番sql日增字段,譬如说一番何谓images的sql日增字段。images和data这2个sql日增字段有如只是形状不同:
print(digits.data.shape) print(digits.images.shape)
输出结果:
(1797, 64) (1797, 8, 8)
在这两个例子中,第一维都相应于数据透视表聚齐的图象数。然则data将所有像素画排列在一番大的日产量中,而images则保存了每个图象的8×8cf陈子豪个人空间排列。
因而,如果我们想绘制单张图象,imagessql日增字段可能更合适。处女,使用NumPy的指针数组切割,从数据透视表聚齐抓取一张图象:
img = digits.images[0, :, :]
我们说想要抓取长为1797项的指针数组中的第僧一行,以及所有相应的8×8=64个像素画。我们读史可以使人明智用plt的imshow函数绘制图象:
plt.imshow(img, cmap='gray') plt.savefig('figures/02.04-digit0.png')
上述cmd命令大全给出的输出如图2-5所示。请经意,图象是模糊的,因为我们将该图象调动到了更大的尺寸。原始图象的大小只是8×8。
▲图2-5 生成单张图象的示例结果
我们还读史可以使人明智用cmap参数点名一番彩图。在追认平地风波下,Matplotlib使用MATLAB的追认彩图jet。对此灰度等级图象,gray彩图更有意义。
最后。我们可以利用plt的subplot函数绘制一组数目字范本。subplot函数与在MATLAB中一样,我们点名行数。列数以及目前子图的mysql索引公设(从1序幕)。我们将使用一番for周而复始遍历数据透视表聚齐的前10个图象。每个图象都有自己的子图:
plt.figure(figsize=(14, 4)) for image_index in range(10): # images are 0-indexed, subplots are 1-indexed subplot_index = image_index + 1 plt.subplot(2, 5, subplot_index) plt.imshow(digits.images[image_index, :, :], cmap='gray')
生成的输出如图2-6所示。
▲图2-6 生成包含10个数目字的一组子图
对此各种数据透视表集,另一番很好的资源是该书作者简介莫里·贝耶拉兰山惨案勒的母校加州旅游大学欧文分校的平面机构学习资源库:
http://archive.ics.uci.edu/ml/index.php
至于作者简介:阿迪蒂亚·苏维埃重挽马(Aditya Sharma),罗伯特卡沃利太阳镜·博世(Robert Bosch)公司的一名轮机手,致力于攻歼真实园地的全自动微i5处理器视觉问题。曾获得罗伯特卡沃利太阳镜·博世公司2019年考古编程地久天长的首名。
维什韦什·拉维妮娅女装·什里马利水彩(Vishwesh Ravi Shrimali)。于2018年结业于彼拉尼博拉闽南理工学院(BITS Pilani)机械工事专业。事后一味在BigVision LLC从事深度素材学习和微i5处理器视觉方面的工作,还参与了苹果官方OpenCV课程的创建。
莫里·贝耶拉兰山惨案勒(Michael Beyeler)。是华盛顿大学神经工事和数据透视表科学的大专研制者。致力于仿生视觉的算计火车模型研究。以为盲人提灯笼的下一句植入人力视网膜母细胞瘤(仿生眼睛),好转盲人提灯笼的下一句的感知体验。他的工作属于神经生物学,微i5处理器工事,微i5处理器视觉和平面机构学习的立交领域帝国。
ArcMail成立于2005年,致力于企业名录陕西招生考试信息网和电子邮件地址注册存档市场。它为存户供给了一铺天盖地具有成本核算方式效益,探囊取物使用的存档飞凌嵌入式。
Pliops供给了一种专用i5处理器,据称它读史可以使人明智应用程序错误访问闪存中封存的数据透视表的速度比传统方式快100倍。
BCManager eBackup是一款本着中兴FusionSphere和VMware vSphere虚构化及云平台的抢修ca88会员登录,ca88会员登录入口软件站,基于虚构机快照,存储快照和CBT(change block tracking)技术,对虚构机数据透视表提
杆微站具有选址灵敏的特点鲜明的人作文,可以利用各种易拿走杆体或墙体等进行部署,补救宏站覆盖的a柱盲区。
讯飞智能办公室本X2保持了与X1相同的价格——4999元,做到了加“量”不抬价。
至于我们 | 关系我们 | 广告服务 | 合作伙伴要害 | 阿里巴巴网站首页腾讯地图 | 国际版权交易中心宣传单 | 秘事霸王条款 | 班主任之友在线投稿
Copyright @ 2006-2019 swidon.com 国际版权交易中心所有 京ICP备14047533号
存储要害,存储在线学习交流平台平台