python相册特效模块_PIL包中Image模块的convert()函数的具体使用

本文介绍了如何使用Python的PIL库将RGB彩色图片转换为灰度图像。通过convert()函数,可以将图片从RGB模式转换为'1'(二值图像)和'L'(灰度图像)。在PIL中,从RGB到灰度的转换遵循Y'=0.299R+0.587G+0.114B的公式。示例代码展示了如何读取图片并保存转换结果。
摘要由CSDN通过智能技术生成

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

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:

v1jdxan5nm1.jpg

result_1.jpg:

cewdmbhbavh.jpg

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

result_L.jpg:

sdb1dklxjfh.jpg

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

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

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

本文标题: PIL包中Image模块的convert()函数的具体使用

本文地址: http://www.cppcns.com/jiaoben/python/301514.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值