news 2026/4/23 20:40:48

PIL库将图片位深度是1、8、32统一转换为24的方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PIL库将图片位深度是1、8、32统一转换为24的方法

深度学习中通常遇到各种各样的图片,位深度有的时候各不相同,容易影响训练测试,因此为了避免麻烦,一般将图片统一为位深度是24

  1. 通用转换方法
fromPILimportImagedefconvert_to_24bit(input_path,output_path):""" 将任意位深度的图片转换为24位RGB图像 参数: input_path: 输入图片路径 output_path: 输出图片路径 """# 打开图片img=Image.open(input_path)# 转换为RGB模式(24位)rgb_img=img.convert('RGB')# 保存图片rgb_img.save(output_path)print(f"转换完成:{input_path}->{output_path}")print(f"原始模式:{img.mode}, 转换后模式:{rgb_img.mode}")print(f"原始大小:{img.size}, 转换后大小:{rgb_img.size}")returnrgb_img# 使用示例convert_to_24bit('input.png','output_24bit.jpg')
  1. 针对不同位深度的详细转换方法
fromPILimportImageimportnumpyasnpdefconvert_specific_bit_depth(input_path,output_path):""" 针对不同位深度进行详细转换 """img=Image.open(input_path)print(f"原始图像信息:")print(f" 模式:{img.mode}")print(f" 大小:{img.size}")print(f" 位深度:{img.bits}(如果可用)")# 根据原始模式进行相应处理ifimg.mode=='1':# 1位黑白图像print("处理1位黑白图像...")# 方法1: 直接转换为RGBrgb_img=img.convert('RGB')# 方法2: 通过L模式中转(保留更多控制)# gray_img = img.convert('L')# rgb_img = gray_img.convert('RGB')elifimg.mode=='L':# 8位灰度图像print("处理8位灰度图像...")# 将灰度转换为RGB(三个通道值相同)rgb_img=img.convert('RGB')elifimg.mode=='P':# 调色板模式(通常是4位或8位)print("处理调色板图像...")# 先转换为RGBifimg.palette:print(f" 调色板模式:{img.palette.mode}")rgb_img=img.convert('RGB')elifimg.mode=='RGBA':# 32位RGBA图像print("处理32位RGBA图像...")# 创建白色背景background=Image.new('RGB',img.size,(255,255,255))# 将RGBA图像粘贴到白色背景上background.paste(img,mask=img.split()[3])# 使用alpha通道作为掩码rgb_img=backgroundelifimg.mode=='CMYK':# 32位CMYK图像print("处理CMYK图像...")rgb_img=img.convert('RGB')elifimg.mode=='RGB':# 已经是24位print("图像已经是24位RGB模式")rgb_img=imgelse:# 其他模式print(f"处理未知模式:{img.mode}")rgb_img=img.convert('RGB')# 保存图像rgb_img.save(output_path,quality=95)print(f"转换完成 ->{output_path}")print(f"转换后模式:{rgb_img.mode}")returnrgb_img
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:46:46

PFC2D预制裂隙巴西劈裂试验模拟:探索岩石破裂奥秘

pfc2d预制裂隙的巴西劈裂试验模拟在岩石力学研究领域,巴西劈裂试验是一种常用的测试岩石抗拉强度的方法。而通过PFC2D(Particle Flow Code in 2D)软件对预制裂隙的巴西劈裂试验进行模拟,能帮助我们更深入理解岩石在复杂裂隙条件下…

作者头像 李华
网站建设 2026/4/23 9:47:56

16 位 SAR ADC 逐次逼近型 ADC 模拟集成电路设计探秘

【16位SAR ADC 逐次逼近型ADC模拟集成电路设计】 16位SAR ADC 同步时序; 采样率1MHz; 动态比较器; 栅压自举采样开关; 测试电路; 精度为14.61; 台湾65nm工艺 下载后可直接使用,保证仿出正确波形…

作者头像 李华
网站建设 2026/4/23 9:46:40

超越宣传:基于数据与案例的软件人才外包服务商价值评估指南

随着企业技术架构复杂化与项目节奏敏捷化并行,组建高效、稳定的技术团队已成为核心挑战。软件人才外包公司作为企业获取弹性技术能力的关键渠道,其市场正伴随数字化转型浪潮快速演进。据工信部运行监测协调局发布的2025年数据显示,我国软件和…

作者头像 李华
网站建设 2026/4/23 12:34:17

MQ消息队列相关知识与对比

一、MQ相关的概念 1.1 什么是MQ? MQ,即Message Queue(消息队列),是一种基于“生产者-消费者”模式的分布式通信中间件。从字面意思上看就个 FIFO 先入先出的队列,只不过队列中存放的内容是 message 而已&#xff0c…

作者头像 李华
网站建设 2026/4/23 11:12:28

基于SpringBoot实现的大学生创新创业交流与分享平台

系统介绍基于SpringBootVue实现的大学生创新创业交流与分享平台采用前后端分离的架构方式,系统设计了管理员、导师、学生三种角色,管理员实现了首页看板、学生管理、导师管理、项目类型、创业资讯、创业项目、活动类型、报名、系统管理、个人中心等模块。…

作者头像 李华