Matplotlib 简明教程
Matplotlib - Images
What are Images in Matplotlib?
在 Matplotlib 库中,显示和处理图像涉及使用 imshow() 函数。此函数可视化二维数组或图像。此函数特别适用于显示各种格式的图像,例如表示像素值或实际图像文件的数组。
Matplotlib 中的图像提供了一种可视化网格数据的办法,帮助解释和分析二维数组中表示的信息。这种功能对于处理图像数据的各种科学、工程和机器学习应用至关重要。
Use Cases for Images in Matplotlib
以下是在 Matplotlib 库中使用图像的用例。
Loading and Displaying Images
要使用 Matplotlib 库加载和显示图像,我们可以使用以下代码行。
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# Load the image
img = mpimg.imread('Images/flowers.jpg') # Load image file
# Display the image
plt.imshow(img)
plt.axis('off') # Turn off axis labels and ticks (optional)
plt.show()
-
matplotlib.image.imread() - 加载图像文件并作为数组返回。应指定文件路径('image_path')。
-
plt.imshow() - 显示数组表示的图像。
-
plt.axis('off') - 关闭轴标签和刻度线,这对纯粹显示无轴图像来说是可选的。
Customizing Image Display
我们可以根据需要通过下面提到的函数自定义图像。
-
Colormap - 我们可以通过在 imshow() 中指定 cmap 参数来应用颜色图以增强图像可视化效果。
-
Colorbar - 要添加一个指示强度映射的colorbar,我们可以在 imshow() 后使用 plt.colorbar() 。
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# Load the image
img = mpimg.imread('Images/flowers.jpg') # Load image file
# Display the image
plt.imshow(img, cmap = 'Oranges')
plt.colorbar()
# Turn on axis labels and ticks (optional)
plt.axis('on')
plt.show()
Image Manipulation
我们可以使用以下功能对我们的图像进行处理。
-
Cropping - 通过在将图像传递给 imshow() 之前对数组进行切片,选择图像的特定部分。
-
Resizing - 使用各种图像处理库(例如,Pillow、OpenCV)在显示图像之前调整图像大小。
在本例中,我们通过使用上述函数对图像进行处理并显示图像。
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import cv2
# Load the image
img = mpimg.imread('Images/flowers.jpg')
# Display the image with grayscale colormap and colorbar
plt.imshow(img, cmap='gray')
plt.colorbar()
# Display only a portion of the image (cropping)
plt.imshow(img[100:300, 200:400])
# Display a resized version of the image
resized_img = cv2.resize(img, (new_width, new_height))
plt.imshow(resized_img)
plt.show()
请记住,Matplotlib 的 imshow() 适用于基本图像显示和可视化。对于更高级的图像处理任务(例如,调整大小、过滤等),建议使用 OpenCV 或 Pillow 等专用图像处理库。