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验证码识别的实例详解
Sep 09 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
Python基于TCP实现会聊天的小机器人功能示例
Apr 09 Python
python爬虫实例详解
Jun 19 Python
Django model序列化为json的方法示例
Oct 16 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
python+os根据文件名自动生成文本
Mar 21 Python
python 图片去噪的方法示例
Jul 09 Python
python怎么对数字进行过滤
Jul 05 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
生成卡号php代码
2008/04/09 PHP
php join函数应用
2011/05/04 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
面试自我评价范文
2014/09/17 职场文书
思想工作总结范文
2015/08/12 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
导游词之湖州-太湖
2019/10/11 职场文书