如何解决Python保存并读取二维数组中的灰度图像?
我想保存一个没有任何通道的图像,所以尺寸只能是2。这样,我可以在matplotlib中做到这一点吗?
我已经尝试使用
matplotlib.pyplot.imsave('img.png',image,cmap='gray')
但是当我使用
阅读它时matplotlib.pyplot.imread('img.png')
尺寸为3。所以我很困惑。我知道也许我不能使用imread,但是我可以怎么做呢?
解决方法
如果已安装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
感谢上面的评论中的@ Cris Luengo指出这一点
”在文档中,看起来matplotlib仅保存RGB或RGBA格式 图像文件。您必须使用其他软件包才能保存 灰度图像。如下所示,OpenCV只是一种选择。那里 很多。尝试PIL。”
看到他给他点赞!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。