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自动zip压缩目录的方法
Jun 28 Python
Django框架中方法的访问和查找
Jul 15 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 Python
使用Python多线程爬虫爬取电影天堂资源
Sep 23 Python
python利用正则表达式提取字符串
Dec 08 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
Django rest framework工具包简单用法示例
Jul 20 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
django搭建项目配置环境和创建表过程详解
Jul 22 Python
你需要学会的8个Python列表技巧
Jun 24 Python
python实现人工蜂群算法
Sep 18 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
js遍历td tr等html元素
2012/12/13 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
js实现自定义路由
2017/02/04 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
2017/06/25 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python实现简单状态框架的方法
2015/03/19 Python
python中黄金分割法实现方法
2015/05/06 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
机电专业毕业生求职信
2013/10/27 职场文书
早餐连锁店计划书
2014/01/08 职场文书
保密工作责任书
2014/04/16 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers