Python学习笔记第七十一天(Matplotlib imsave)

Python学习笔记第七十一天

Matplotlib imsave

imsave() 方法是 Matplotlib 库中用于将图像数据保存到磁盘上的函数。

通过 imsave() 方法我们可以轻松将生成的图像保存到我们指定的目录中。

imsave() 方法保存图片支持多种图像格式,例如 PNG、JPEG、BMP 等。

imsave() 方法的语法如下:

复制代码
matplotlib.pyplot.imsave(fname, arr, **kwargs)

参数说明:

  • fname:保存图像的文件名,可以是相对路径或绝对路径。
  • arr:表示图像的NumPy数组。
  • kwargs:可选参数,用于指定保存的图像格式以及图像质量等参数。

imsave保存图像

以下是一个使用 imsave() 方法保存图像的简单实例:

python 复制代码
# 实例 1
import matplotlib.pyplot as plt
import numpy as np

# 创建一个二维的图像数据
img_data = np.random.random((100, 100))

# 显示图像
plt.imshow(img_data)

# 保存图像到磁盘上
plt.imsave('test.png', img_data)

以上实例我们使用 imsave() 方法将这个图像保存到了当前目录下,文件名为 test.png。

由于没有指定图像格式,Matplotlib 库默认将其保存为 PNG 格式的文件。

打开当前目录,会发现一个 test.png 文件。

保存灰度图像和彩色图像

以下实例演示了如何使用 imsave() 方法将一个灰度图像和一个彩色图像保存到当前目录上

python 复制代码
# 实例 2
import matplotlib.pyplot as plt
import numpy as np

# 创建一幅灰度图像
img_gray = np.random.random((100, 100))

# 创建一幅彩色图像
img_color = np.zeros((100, 100, 3))
img_color[:, :, 0] = np.random.random((100, 100))
img_color[:, :, 1] = np.random.random((100, 100))
img_color[:, :, 2] = np.random.random((100, 100))

# 显示灰度图像
plt.imshow(img_gray, cmap='gray')

# 保存灰度图像到磁盘上
plt.imsave('test_gray.png', img_gray, cmap='gray')

# 显示彩色图像
plt.imshow(img_color)

# 保存彩色图像到磁盘上
plt.imsave('test_color.jpg', img_color)

以上实例中我们使用了 numpy.random 模块分别创建了一幅灰度图像和一幅彩色图像,然后分别使用 imshow() 方法显示这两幅图像。

接着,我们使用 imsave() 函数将这两幅图像分别保存到了当前目录傻姑娘,文件名分别为 test_gray.png 和 test_color.jpg。

在保存灰度图像时,我们使用了 cmap 参数将其保存为灰度图像格式。

在保存彩色图像时,我们没有指定图像格式,Matplotlib 库默认将其保存为 JPEG 格式的文件(.jpg拓展名文件)。

后记

今天学习的是Python Matplotlib imsave学会了吗。 今天学习内容总结一下:

  1. imsave保存图像
  2. 保存灰度图像和彩色图像
相关推荐
tju新生代魔迷3 分钟前
Verilog HDL 学习笔记(十)| 第10章 时序和延迟
笔记·学习·fpga开发
幼儿园蛋小黄9 分钟前
嵌入式学习总结:从入门到实战的完整路径
学习
-To be number.wan11 分钟前
编译原理第三章:编译器是怎么“认字“的?——词法分析全解析
学习·编辑器
论文复现现场14 分钟前
RTX 4090 24GB 能跑 Qwen3.8-27B 吗?单卡显存计算与云端部署指南
人工智能·python·云计算·llama·gpu算力
Patrick在香港19 分钟前
模型路由器实测:12 个任务省 77%,旗舰过载时的降级要打出显式标记
python·llm·智能路由器·api·架构设计·成本优化
Looooking28 分钟前
Python 之 jwt 令牌生成和校验
python·jwt
zyf1044161 小时前
暑期实践日志 Day47:复盘第七章内容,规整对应成果
学习·计算机网络·剪辑·暑期实践·课题任务
传奇开心果编程1 小时前
【Rust入门知识点学与练】第10课:Option 和 Result(错误处理入门)
开发语言·学习·rust
喵的前端路1 小时前
《EDVAC》学习记录(第二部分)
学习
2601_962295992 小时前
嵌入式开发语言用哪个最好,C,python或者其他
c语言·python·嵌入式开发·开发效率·系统资源