Python PIL模块中的convert函数使用
在做深度学习的时候,我们首先会用到python PIL模块中的convert函数将原始图片(例如png)转化为对应的像素值,再将像素值转化成tensor之后进行模型的训练。
1、安装PIL
1 pip install pillow 2 3 conda install pillow
2、使用方式
1 from PIL import Image 2 3 input_img = Image.open('input.png') 4 5 output_img = input_img.convert('1') 6 7 output_img.save('output.png')
3、参数
convert中可设置转换模式,介绍比较常用的三种模式:
(1)RGB模式
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,每个通道的值在0~255之间。
使用示例:
1 output_img = input_img.convert('RGB')
(2)1模式
转化为为二值图像,非黑即白,每个像素用8个bit表示,0表示黑,255表示白。
使用示例:
output_img = input_img.convert('1')
(3)L模式
转化为为灰色图像,每个像素用8个bit表示,0表示黑,255表示白,0~255代表不同的灰度。需要注意的是,在PIL中,RGB是通过以下公式转化为L的:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
使用示例:
output_img = input_img.convert('L')