首页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-08-03 13:43:15分类IT科技浏览10233
导读: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
it技术工作内容(IT 技术工作详解 -小马说工作) n个数的逆序数(LeetCode-400. 第N位数字)