|
目录
|
|
Matplotlib image图像处理 |
来源:C语言中文网 |
120 次浏览 |
4次 |
|
|
Matplotlib 软件包中的 image 模块提供了加载、缩放和显示图像的功能,该模块只能支持 PNG 格式的图片,如果格式不符,需要对图片的格式进行转换。
Matplotlib 支持的图片格式非常有限,所以通常情况下,建议采用 Python 图像处理库 Pillow 来处理图像,若感兴趣可以自行了解。
下面示例,imread() 函数用于读取图像数据并形成 ndarray 数组 ,其数据类型为 float32。
- import matplotlib.pyplot as plt
- import matplotlib.image as mpimg
- import numpy as np
- img = mpimg.imread('mtplogo.png')
|
假设在当前目录中存在名为 mtplogo.png 的图像。

图1:mtplogo图像 通过执行 imsave() 函数,可以将包含图像数据的 ndarray 数组保存到磁盘文件中。
plt.imsave("logo.png", img, cmap = 'gray', origin = 'lower') |
如下所示,将 imsave()方法的origin参数设置为 lower 实现了原始图像的垂直翻转。

图2:垂直翻转图
从上述示例可以看出,虽然数学表达式种类繁多,但是 Matplotlib 对各种数学符号都做了良好的支持。
imgplot = plt.imshow(img) |
下面列举一组示例:
- import matplotlib.pyplot as plt
- import numpy as np
- fig=plt.figure()
- ax1=fig.add_subplot(221)
- ax2=fig.add_subplot(222)
- ax3=fig.add_subplot(223)
- ax4=fig.add_subplot(224)
- points=np.arange(-5,5,0.01)
- xs,ys=np.meshgrid(points,points)
- z=np.sqrt(xs**2+ys**2)
- ax = fig.add_subplot(221)
- ax.imshow(z)
- ax = fig.add_subplot(222)
- ax.imshow(z,cmap = "gray")
- ax = fig.add_subplot(223)
- ax.imshow(z,cmap="cool")
- ax = fig.add_subplot(224)
- ax.imshow(z,cmap="hot")
- plt.show()
|

图3:输出结果
|
120 次浏览 |
4次 |
|
|
|