当前位置 博文首页 > PIL包中Image模块的convert()函数的具体使用_肖彻的博客:python

    PIL包中Image模块的convert()函数的具体使用_肖彻的博客:python

    作者:[db:作者] 时间:2021-09-02 10:19

    将彩色图片转换成黑白图片是自己拿到的第一个小任务。在全文开始之前给自己科普一个公式:

    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) ? image

    img.convert(“P”, **options) ? image

    img.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:

    8e1e8debdc7297bcf2b377fac8cf202f.png

    result_1.jpg:

    b1443d8d7cf4f89a59300fc837a3b16b.png

    模式“1”为二值图像,每个像素用8bit表示,0表示黑,255表示白。

    result_L.jpg:

    3bef42ea05294dafbd809af270158434.png

    模式L为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的:

    L = R * 0.299 + G * 0.587+ B * 0.114

    到此这篇关于PIL包中Image模块的convert()函数的具体使用的文章就介绍到这了,更多相关PIL convert()函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    cs