Matplotlib 简明教程

Matplotlib - Images

What are Images in Matplotlib?

在 Matplotlib 库中,显示和处理图像涉及使用 imshow() 函数。此函数可视化二维数组或图像。此函数特别适用于显示各种格式的图像,例如表示像素值或实际图像文件的数组。

Matplotlib 中的图像提供了一种可视化网格数据的办法,帮助解释和分析二维数组中表示的信息。这种功能对于处理图像数据的各种科学、工程和机器学习应用至关重要。

Use Cases for Images in Matplotlib

以下是在 Matplotlib 库中使用图像的用例。

Visualizing Gridded Data

matplotlib 库可用于显示科学数据,例如热图、地形图、卫星图像等。

Image Processing

在计算机视觉或图像识别等应用中分析和处理图像数据。

Artificial Intelligence and Machine Learning

在模型训练和评估中处理和处理图像数据。

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()
  1. matplotlib.image.imread() - 加载图像文件并作为数组返回。应指定文件路径('image_path')。

  2. plt.imshow() - 显示数组表示的图像。

  3. plt.axis('off') - 关闭轴标签和刻度线,这对纯粹显示无轴图像来说是可选的。

matplotlib image

Customizing Image Display

我们可以根据需要通过下面提到的函数自定义图像。

  1. Colormap - 我们可以通过在 imshow() 中指定 cmap 参数来应用颜色图以增强图像可视化效果。

  2. 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()
matplotlib image1

Image Manipulation

我们可以使用以下功能对我们的图像进行处理。

  1. Cropping - 通过在将图像传递给 imshow() 之前对数组进行切片,选择图像的特定部分。

  2. 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 image2

请记住,Matplotlib 的 imshow() 适用于基本图像显示和可视化。对于更高级的图像处理任务(例如,调整大小、过滤等),建议使用 OpenCV 或 Pillow 等专用图像处理库。