PIL包中Image模块的convert()函数
2018-02-23 15:34
127 查看
将彩色图片转换成黑白图片是自己拿到的第一个小任务。在全文开始之前给自己科普一个公式:
RGB到灰度图转换公式:Y' = 0.299 R + 0.587 G + 0.114 B
网上有诸多版本的转换公式,但是系数大同小异。
接下来是正文。
由于几乎可以说是零基础= =所以只好赶紧依靠pip install pillow把PIL装好。。。
convert()函数,用于不同模式图像之间的转换。PIL中有九种不同模式,分别为1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。我主要尝试了1和L。
convert()的三种定义:
img.convert(mode) ⇒ imageimg.convert(“P”, **options) ⇒ imageimg.convert(mode, matrix) ⇒ image
代码如下:from PIL import Image
# import numpy as np
img = Image.open('picture.jpg')
img1 = img.convert('1')
img2 = img.convert('L')
img1.save('result_1.jpg')
img2.save('result_L.jpg')由于昨天正好因为微信小程序的事情在看JS。。于是就顺手拿了一张JS的图作为小白鼠了= =
picture.jpg:
result_1.jpg:
模式“1”为二值图像,每个像素用8bit表示,0表示黑,255表示白。
result_L.jpg:
模式L为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的:
L = R * 0.299 + G * 0.587+ B * 0.114
RGB到灰度图转换公式:Y' = 0.299 R + 0.587 G + 0.114 B
网上有诸多版本的转换公式,但是系数大同小异。
接下来是正文。
由于几乎可以说是零基础= =所以只好赶紧依靠pip install pillow把PIL装好。。。
convert()函数,用于不同模式图像之间的转换。PIL中有九种不同模式,分别为1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。我主要尝试了1和L。
convert()的三种定义:
img.convert(mode) ⇒ imageimg.convert(“P”, **options) ⇒ imageimg.convert(mode, matrix) ⇒ image
代码如下:from PIL import Image
# import numpy as np
img = Image.open('picture.jpg')
img1 = img.convert('1')
img2 = img.convert('L')
img1.save('result_1.jpg')
img2.save('result_L.jpg')由于昨天正好因为微信小程序的事情在看JS。。于是就顺手拿了一张JS的图作为小白鼠了= =
picture.jpg:
result_1.jpg:
模式“1”为二值图像,每个像素用8bit表示,0表示黑,255表示白。
result_L.jpg:
模式L为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的:
L = R * 0.299 + G * 0.587+ B * 0.114
相关文章推荐
- PIL Image模块 show函数不能正常显示图片
- win 7 下 PIL python Image模块 show函数不能正常显示图片
- Python-----PIL Image模块 show函数不能正常显示图片
- win7环境下python PIL Image模块 show函数不能正常显示图片
- PIL中Image模块的show函数无法正常显示图片
- PIL 中的 Image 模块
- cvConvertImage函数使用实例
- Python图像处理库PIL的ImageFile模块介绍
- Python图像处理库PIL的ImageStat模块介绍
- mac python2.7安装PIL.Image模块
- Python图像处理库PIL的Image模块介绍(二)
- Python图像处理库PIL的Image模块介绍(四)
- python图像融合(基于PIL Image模块)
- Python PIL ImageDraw 和ImageFont模块学习
- PIL Image模块 show函数无法正常显示图片
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
- Python PIL ImageDraw 和ImageFont模块学习
- python2.7安装PIL.Image模块
- Python图像处理库PIL的Image模块介绍(五)
- Python PIL ImageDraw 和ImageFont模块学习