Python在二维数组中保存和读取灰度图像?

我想保存没有任何通道的图像,因此尺寸仅为 2。那么,有没有办法在 matplotlib 中做到这一点?

我已经尝试过使用

matplotlib.pyplot.imsave('img.png', image, cmap='gray')

但是当我使用它来阅读它时

matplotlib.pyplot.imread('img.png')

维度是 3。所以我很困惑如何。我知道也许我不能使用 imread 但我能做什么呢?


慕桂英546537
浏览 151回答 1
1回答

呼唤远方

如果你安装了opencv,你可以尝试:cv2.imread('1.png', cv2.IMREAD_GRAYSCALE)另外,你也可以尝试PIL。from PIL import Image Image.fromarray(array)skimage.io.imsave('1.png', np.around(image*255).astype(np.uint8))要使用它,您必须预先安装 skimage。pip3 install scikit-image“从文档来看,matplotlib 似乎只保存 RGB 或 RGBA 格式的图像文件。您必须使用不同的包来保存灰度图像。下面建议的 OpenCV 只是一种选择。还有很多选择。尝试 PIL ”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python