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入门者的一些编程建议
Jun 15 Python
python套接字流重定向实例汇总
Mar 03 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
Apr 27 Python
python获取服务器响应cookie的实例
Dec 28 Python
python二进制文件的转译详解
Jul 03 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
Python while循环使用else语句代码实例
Feb 07 Python
python连接mongodb集群方法详解
Feb 13 Python
Python库skimage绘制二值图像代码实例
Apr 10 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
Python urllib库如何添加headers过程解析
Oct 05 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 XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
用PHP书写安全的脚本代码
2012/02/05 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
JavaScript类和继承 constructor属性
2010/03/04 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
js转换对象为xml
2017/02/17 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
python实现多线程行情抓取工具的方法
2018/02/28 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
linux面试相关问题
2013/04/28 面试题
基层党员公开承诺书
2014/05/29 职场文书
小学捐书活动总结
2014/07/05 职场文书
2019军训心得体会
2019/06/27 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技