我想保存一个没有任何通道的图像,所以尺寸只能是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 。”
看到他给他点赞!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句