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怎么学好python?
Oct 07 Python
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
numpy np.newaxis 的实用分享
Nov 30 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
Dec 10 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
Python 数据可视化之Seaborn详解
Nov 02 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 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的错误信息
2006/10/09 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
php支付宝接口用法分析
2015/01/04 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
CI框架网页缓存简单用法分析
2018/12/26 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
详解vue 组件
2020/06/11 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
基于python实现查询ip地址来源
2020/06/02 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
党员活动总结
2015/02/04 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python