函数说明
plt.imshow()是Matplotlib中的一个函数,用于显示图像。它可以传递一个二维或三维数组作为image
参数, 并将图像数据显示为图形,并对图像进行不同的可视化设置。
关于二维/三维数组的解释说明
image
支持的数组形状包括:
- (M, N):具有标量数据的图像。使用归一化和颜色映射将值映射到颜色。
- (M, N, 3):具有RGB值(0-1浮点数或0-255整数)的图像。
- (M, N, 4):具有RGBA值(0-1浮点数或0-255整数)的图像,即包括透明度。
- 前两个维度(M, N)定义了图像的行和列。
- 超出范围的RGB(A)值将被裁剪。
#二维数组(M, N)
np.random.rand(2,2)
#三维数组(M, N, 3)
np.random.rand(2,2,3)
#三维数组(M, N, 4)
np.random.rand(2,2,4)
第一行代码创建了一个形状为(2, 2)的二维数组。它将包含2行2列的随机值,类似于一个2x2的二维表格。
第二行代码创建了一个形状为(2, 2, 3)的三维数组。这个数组类似于由2个2x3的二维数组构成的集合,它包含2个2x3的二维数组,并且每个元素都是一个长度为3的一维数组。
第三行代码创建了一个形状为(2, 2, 4)的三维数组。这个数组类似于由2个2x4的二维数组构成的集合,它包含2个2x4的二维数组,并且每个元素都是一个长度为4的一维数组。
常用参数介绍
-
cmap
:颜色设置。常用的值有’viridis’、‘gray’、'hot’等。可以通过plt.colormaps()
查看可用的颜色映射。 -
aspect
:调整坐标轴。这将根据图像数据自动调整坐标轴的比例。常用的值有’auto’、'equal’等。设置为’auto’时会根据图像数据自动调整纵横比,而设置为’equal’时则会强制保持纵横比相等。 -
interpolation
:插值方法。它定义了图像在放大或缩小时的插值方式。常用的值有’nearest’、‘bilinear’、'bicubic’等。较高的插值方法可以使图像看起来更平滑,但计算成本更高。 -
alpha
:透明度。它允许您设置图像的透明度,取值范围为0(完全透明)到1(完全不透明)之间。 -
vmin
和vmax
:用于设置显示的数据值范围。当指定了这两个参数时,imshow()
将会根据给定的范围显示图像,超出范围的值会被截断显示。
官网文件地址:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.imshow.html
函数示例
import numpy as np
import matplotlib.pyplot as plt
# 创建一个简单的二维数组作为图像数据
image = np.random.rand(4, 4)
# 显示图像
plt.imshow(image, cmap='viridis', interpolation='nearest', aspect='auto')
plt.colorbar() # 显示颜色条
plt.title('Random Image') # 设置标题
plt.show()