PIL包中Image模块的convert()函数的具体使用


Posted in Python onFebruary 26, 2020

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

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:

PIL包中Image模块的convert()函数的具体使用

result_1.jpg:

PIL包中Image模块的convert()函数的具体使用

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

result_L.jpg:

PIL包中Image模块的convert()函数的具体使用

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

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

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

Python 相关文章推荐
python模拟鼠标拖动操作的方法
Mar 11 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
Dec 30 Python
flask应用部署到服务器的方法
Jul 12 Python
python3获取当前目录的实现方法
Jul 29 Python
python实现批量修改服务器密码的方法
Aug 13 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
python next()和iter()函数原理解析
Feb 07 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
python 实现性别识别
Nov 21 Python
Pandas —— resample()重采样和asfreq()频度转换方式
Feb 26 #Python
python实现银行实战系统
Feb 26 #Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 #Python
python序列类型种类详解
Feb 26 #Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 #Python
Python中if有多个条件处理方法
Feb 26 #Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 #Python
You might like
php下载excel无法打开的解决方法
2013/12/24 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python开发游戏的前期准备
2019/05/05 Python
python简单验证码识别的实现方法
2019/05/10 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
Python日志syslog使用原理详解
2020/02/18 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
培训讲师岗位职责
2014/04/13 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
小学英语复习计划
2015/01/19 职场文书
接收函格式
2015/01/30 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
Python Django获取URL中的数据详解
2021/11/01 Python
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python