Python图像处理 PIL中convert('L')函数原理

1. img = img.convert()

  PIL有九种不同模式: 1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。

1.1 img.convert('1')

  为二值图像,非黑即白。每个像素用8个bit表示,0表示黑,255表示白。

1.1.1 Code

1 from PIL import Image
2 
3 
4 def convert_1():
5     image = Image.open("D:/pytorch_code/pytorch_study/fusion_datasets/1.jpg")
6     image_1 = image.convert('1')
7     image.show()
8     image_1.show()

1.1.2 结果显示

1.2 img.convert('L')

   为灰度图像,每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。

   转换公式:L = R * 299/1000 + G * 587/1000+ B * 114/1000。

1.2.1 Code

1 from PIL import Image
2 
3 
4 def convert_L():
5     image = Image.open("D:/pytorch_code/pytorch_study/fusion_datasets/1.jpg")
6     image_L = image.convert('L')
7     image.show()
8     image_L.show()

1.2.2 结果显示

 

1.3 img.convert('P')

1.3.1 Code

1 from PIL import Image
2 
3 
4 def convert_P():
5     image = Image.open("D:/pytorch_code/pytorch_study/fusion_datasets/1.jpg")
6     image_P = image.convert('P')
7     image.show()
8     image_P.show()

1.3.2 结果显示

 

 1.4 其他

其他几个不做说明,宝宝们根据需要使用哈O(∩_∩)O!

原文地址:https://www.cnblogs.com/haifwu/p/12825741.html