如何使用 Matplotlib 绘制 http URL 上的远程图像?

如何使用 Matplotlib 绘制 http URL 上的远程图像?

Matplotlib 是一个用于创建数据可视化效果的Python库。通过它,用户可以将数据可视化,更好的理解和展示数据。其中 Matplotlib 的pyplot子模块是比较常用的一个工具,可以完成各种简单的图形绘制。本文将介绍如何使用 Matplotlib 绘制 http URL 上的远程图像,让用户在数据可视化方面得到更多的灵活性。

安装 Matplotlib

在开始之前,我们需要先安装 Matplotlib 库。有多种方式可以安装 Matplotlib ,如使用pip 或 Anaconda 等工具,这里我们以pip的方式进行安装。打开命令行窗口,输入以下命令进行安装:

pip install matplotlib

安装成功后,我们就可以使用Matplotlib来绘图了。

导入 Matplotlib

在使用 Matplotlib 绘制图形之前,我们需要导入所需的包和模块。这里我们需要导入pyplot子模块以及imread函数。pyplot是 Matplotlib 里比较方便的一个模块,可以实现如同 Matlab 的画图功能,而imread函数是Matplotlib专门处理图像的函数。

import matplotlib.pyplot as plt
from matplotlib.pyplot import imread

以URL方式读取远程图像

使用 Matplotlib 绘制远程图像必须先将远程图像下载至本地,然后再使用 Matplotlib 绘制即可。而从URL读取远程图像的方式并非将远程图像下载到本地,而是将远程图像加载到函数中。这种方式的好处是可以快速获取图像并减少本地存储成本。使用 Matplotlib 读取远程图像非常简单。只需要使用imread函数,将图像的URL作为参数传入即可,如下所示:

#读取远程图像
img_url = "http://dl.chanjet.com/171011/6781ce2a448d3037820fcc752ae4a364.png"
img = imread(img_url)

上面代码中,我们将远程图像的URL作为参数传入imread函数,将其读取为一个ndarray数组对象,并将其赋值给变量img。从远程图像读取到内存中后,我们就可以开始调用 Matplotlib 的函数来进行绘图了。

绘制图像

Matplotlib 绘制图像是通过pyplot子模块实现的。具体实现过程如下所示:

#以URL方式读取远程图像
img_url = "http://dl.chanjet.com/171011/6781ce2a448d3037820fcc752ae4a364.png"
img = imread(img_url)

#绘制图像
plt.imshow(img)
plt.show()

上面代码中,我们首先使用imread函数读取远程图像,然后将其存储到img变量中。接着,我们使用plt.imshow函数将图像绘制到屏幕上。(此处我们调用plt.show()函数来显示窗口)。

加入标题

如果我们要给绘制出来的图像加上标题,只需要简单地加入一行代码即可。我们只需使用 Matplotlib 的 title 函数,并将要添加的标题作为参数传入即可,如下所示:

#添加标题
plt.title('My Image')

#绘制图像
plt.imshow(img)
plt.show()

更换颜色

如果我们想要改变远程图像的颜色,可以这样做:

#以URL方式读取远程图像
img_url = "http://dl.chanjet.com/171011/6781ce2a448d30378207820fcc752ae4a364.png"
img = imread(img_url)

#将色调反转
img = 255 - img

#绘制图像
plt.imshow(img)
plt.show()

上面代码中,我们使用 255 - img 将图像色调反转,然后使用 plt.imshow 绘制图像。

调整图像大小

当远程图像太大或太小时,我们可能需要调整它的大小以便更好的展示。我们可以使用 Matplotlib 提供的 resize 函数来调整图像的大小。具体实现如下所示:

#以URL方式读取远程图像
img_url = "http://dl.chanjet.com/171011/6781ce2a448d3037820fcc752ae4a364.png"
img = imread(img_url)

#调整图像大小
img_resized = resize(img, (200, 200))

#绘制图像
plt.imshow(img_resized)
plt.show()

结论

本文介绍了如何使用 Matplotlib 绘制 http URL 上的远程图像,以及如何进行图像颜色反转、加入图像标题和调整图像大小等操作。使用 Matplotlib 绘制远程图像,可以让我们不必将远程图像下载到本地,减少本地存储的成本,并且操作简单便捷,适用于各种数据可视化场景。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程