Matplotlib - 图片



Matplotlib 中的图片是什么?

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

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

Matplotlib 中图片的用例

以下是 Matplotlib 库中图片的用例。

可视化网格数据

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

图像处理

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

人工智能和机器学习

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

加载和显示图片

要使用 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') − 关闭坐标轴标签和刻度,对于仅显示图片而不显示坐标轴是可选的。

输出

Matplolib Image

自定义图片显示

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

  • 颜色图 − 我们可以通过在imshow()中指定cmap参数来应用颜色图以增强图片可视化效果。

  • 颜色条 − 若要添加一个指示强度映射的颜色条,可以在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()
输出
Matplolib Image

图片处理

我们可以使用以下提到的函数对图片进行处理。

  • 裁剪 − 通过在将其传递给imshow()之前切片数组来选择图片的特定部分。

  • 调整大小 − 使用 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()
输出
Matplolib Image

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

广告
© . All rights reserved.