rgba通道转rgb_图像转换者略图.colormatplotlib ims将rgba到rgb另存为rgba

该博客讲述了如何使用matplotlib和skimage将PNG的RGBA图像转换为RGB格式,并在转换过程中遇到图像保存后仍保留原RGBA格式的问题。通过代码示例展示了转换和保存过程,以及解决保存后形状错误的方案。
摘要由CSDN通过智能技术生成

我需要将PNG H*W*4rgba图像转换为rgb形状为H*W*3的图像。在

我可以这样做,但是当我保存它时,图像会再次保存为H*W*4

以下是代码片段:for idx, image in enumerate(image_names):

#matplotlib as mpi here I use plt for plotting and mpi for read

rgba = mpi.imread(os.path.join(read_path,image))

#convert to rgb using skimage.color as rtl,

rgb = rtl.rgba2rgb(rgba)

#change path of the image to be saved

resized_path = os.path.join(os.path.sep,Ims,p[0],image)

print(np.shape(rgb))#shape is printed (136,136,3)

mpi.imsave(resized_path,rgb)

在这之后,当我再次阅读它时,它的形状又是H*W*4知道为什么吗?我猜matplotlib imsave有什么问题吗?在

参考图像:

编辑

更新代码如下:

^{pr2}$

出现以下错误:ValueError Traceback (most recent call last)

in ()

6 print(np.shape(rgb))

7 rgb = Image.fromarray((rgb*255).astype(np.uint8))

----> 8 rgb.save(resized_path)

9 #mpi.imsave(resized_path,rgb)

/usr/local/lib/python2.7/dist-packages/PIL/Image.pyc in save(self, fp, format, **params)

1809 format = EXTENSION[ext]

1810 except KeyError:

-> 1811 raise ValueError('unknown file extension: {}'.format(ext))

1812

1813 if format.upper() not in SAVE:

ValueError: unknown file extension:

解决方案

下面的答案是正确的上面唯一的问题是调整了路径的大小,下面是更改:resized_path = os.path.join(os.path.sep,Ims,p[0],image)

resized_path = (resized_path+".png")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值