首页IT科技cannot open source input file(OSError: cannot write mode RGBA as JPEG解决办法)

cannot open source input file(OSError: cannot write mode RGBA as JPEG解决办法)

时间2025-06-15 21:44:29分类IT科技浏览9348
导读:OSError: cannot write mode RGBA as JPEG...

OSError: cannot write mode RGBA as JPEG

当用labelme标注图片时                 ,打开存放图片的文件夹                          ,出现闪退          ,控制台出现以下报错:

这是因为你的图像是rgba四个通道的             ,第四个通道是透明通道                  。

错误原因主要是因为png格式和jpg格式图片的通道数不同                           。

png是四通道:RGBA意思是红色                         ,绿色               ,蓝色         ,Alpha的色彩空间                        ,Alpha指透明度 jpg是三通道:RGB意思是红色                   ,绿色     ,蓝色

所以                         ,png格式图片要保存成jpg格式就要丢弃A通道                       ,反之不可以        。

png格式的不只是文件名后缀是 .png ,也可能是后缀名是 .jpg 但是图片里面的深度是为32的                     ,常规的后缀是 .jpg 格式的图片一般深度是为24的             。

如何查看你的图片是几通道的? 1. 直接查看图片属性                           ,如果图片位深度是24则说明是3通道     ,如果图片位深度是32则是4通道的                            。 2. 用代码查看: from PIL import Image img = Image.open(E:/Apple/train/image/tr_160.jpg) print(img.mode) 若是四通道则将其改为三通道 from PIL import Image img = Image.open(E:/Apple/train/image/tr_16.jpg) print(img.mode) if img.mode == "RGBA":img = img.convert(RGB) img.save(E:/Apple/train/image/16.jpg)

拓展:labelme打标打到一半闪退出错                 ,这是因为那张图片有问题                          ,因为我们用了PIL模块          ,对于PIL模块来说             ,其模式包括以下几种:

1        1位像素                         ,黑和白               ,存成8位的像素

L        8位像素         ,黑白

P        8位像素                        ,使用调色板映射到任何其他模式

RGB       3×8位像素                   ,真彩

RGBA       4×8位像素     ,真彩+透明通道

CMYK       4×8位像素                         ,颜色隔离

YCbCr       3×8位像素                       ,彩色视频格式

I          32位整型像素

F         32位浮点型像素

参考:

https://blog.csdn.net/qiuzitao/article/details/108325150

https://blog.csdn.net/tp_0moyi0/article/details/120993213

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
php递归算法经典实例(php递归遍历文件夹) 上帝制造的时候图片大全(Luogu P4145 上帝造题的七分钟 2 / 花神游历各国 题解)