python基础——读取图片

本文介绍了Python中处理图像的基础知识,包括图像的mode概念,如1位像素、L模式、RGB模式等,并讲解了不同图像后缀名在PIL库中的处理方式,统一转换为RGB或L模式。此外,还列举了多种Python库,如PIL、OpenCV、scipy和matplotlib等,用于读取图片的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用于机器学习也好,深度学习也好,都需要读取图片的操作。

了解图像的mode

图像的模式定义了图像的类型和像素的位宽。当前支持如下模式:

1:1位像素,表示黑和白,但是存储的时候每个像素存储为8bit。非黑即白

L:8位像素,表示黑和白。在PIL中从模式转换为L按照线面公式转换  L = R * 299/1000 + G * 587/1000+ B * 114/1000

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

RGB:3x8位像素,为真彩色。

RGBA:4x8位像素,有透明通道的真彩色。

CMYK:4x8位像素,颜色分离。

YCbCr:3x8位像素,彩色视频格式。

I:32位整型像素。灰色图像。(0,255)之间的数字表示不同的灰度。从模式转为i模式的公式 I = R * 299/1000 + G * 587/1000 + B * 114/1000。结果与L结果完全一样,只是L像素是8bit,i像素是32bit

F:32位浮点型像素。与L转换公式是一样的,都是RGB转为灰色值的公式,但模式F会保留小数部分

图像后缀名的转换:

要注意的是:对于彩色图像,不管其格式是png,还是bmp,或者jpg,在PIL中,使用Image模块的open()函数打开后,返回的图像对象的模式都是RGB,对于灰度图像,不管其图像格式是PNG,还是BMP,JPG,打开后,其模式为L。

PNG BMP JPG彩色图像格式之间的转换:可以通过Image模块的open函数和save函数,具体来说,在打开这些图像时,PIL会将他们解码成三通道的RGB图像。用户可以基于RGB进行处理。处理完毕后可以将其处理结果保存成PNG BMP JPG中任何格式。

PNG BMP JPG灰度图像格式之间的转换,同理也可以通过类似途径,只是解码后时模式为L的图像。

python库可以用来读取图片的库

1. PIL.Image.open   (首选)


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值