Matplotlib 入门之 Image Tutorial
在 Matplotlib 中,可以利用图像、矩阵和 DataFrame 数据来进行高质量的图形绘制。
加载图像
要加载图像,我们需要导入 matplotlib.image
包。
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
# 读取图像
img = mpimg.imread('example.png')
# 显示图像
imgplot = plt.imshow(img)
plt.show()
其中 imshow
函数是用来显示图像的, show
函数则是用来展示图像的。
裁剪图像
要裁剪图像,我们可以使用 NumPy 中的数组切片的方法。下面是一个将图像的指定区域裁剪下来并显示的例子。
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
# 读取图像
img = mpimg.imread('example.png')
# 裁剪图像
cropped_img = img[200:400, 300:500]
# 显示图像
imgplot = plt.imshow(cropped_img)
plt.show()
矩阵表示图像
图像可以看成是一个二维的矩阵,可以通过 Matplotlib 的 imshow
函数来实现。需要注意的是,图像的像素值需要在 0-1 范围内。
import matplotlib.pyplot as plt
import numpy as np
# 生成随机二维矩阵
img = np.random.rand(10, 10)
# 显示图像
imgplot = plt.imshow(img, cmap='gray')
plt.show()
上述代码中,我们使用 np.random.rand
生成了一个 10×10 的随机矩阵,并最后使用 cmap='gray'
参数将图像显示为灰度图。
绘制 RGB 图像
对于 RGB 图像,我们通常使用三个 2D 矩阵表示红、绿、蓝三个通道。下面是一个将这三个通道合并在一起的例子。
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
# 读取图像
img = mpimg.imread('example.png')
# 每个通道的数组
r = img[:, :, 0]
g = img[:, :, 1]
b = img[:, :, 2]
# 合并三个通道在一起
img = np.dstack([r, g, b])
# 显示图像
imgplot = plt.imshow(img)
plt.show()
在上述代码中,我们使用 NumPy 的 dstack
函数将红、绿、蓝三个通道的数组合并起来。
总结
在本文中,我们介绍了 Matplotlib 中针对图像的几种操作方式,包括加载图像、裁剪图像、矩阵表示图像和绘制 RGB 图像等。这些操作对于将 Matplotlib 应用于图像处理和计算机视觉任务非常重要。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:matplotlib 入门之Image tutorial - Python技术站