把一个取值为0到127的二维numpy数组,用plt作为灰度图保存的python代码
时间: 2024-10-13 19:11:16 浏览: 32
python实现把两个二维array叠加成三维array示例
5星 · 资源好评率100%
使用matplotlib库中的`imshow()`函数可以将二维numpy数组转换为灰度图像并保存。这里是一个简单的示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设你的二维numpy数组叫做gray_array,取值范围0到127
gray_array = np.random.randint(0, 128, (10, 10)) # 生成一个随机的10x10灰度矩阵
# 将0-127映射到0-255,因为imshow通常需要0-255的灰度值
gray_scaled = gray_array * 255 / 127
# 创建一个新的figure
plt.figure()
# 使用imshow显示灰度图像
plt.imshow(gray_scaled, cmap='gray') # 'gray' 是灰度模式
# 添加标题和坐标轴标签
plt.title('Gray-scale Image')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
# 保存图片
plt.savefig('gray_scale_image.png', dpi=300) # 可以调整dpi以提高图像质量
# 显示图像
plt.show()
```
这段代码首先将原始的0-127范围调整到0-255范围,然后创建一个灰度图像,并将其保存为PNG文件。`cmap='gray'`指定了灰度颜色映射。
阅读全文