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中基于生成器的状态机
Apr 13 Python
python使用标准库根据进程名如何获取进程的pid详解
Oct 31 Python
使用python画个小猪佩奇的示例代码
Jun 06 Python
Django ModelForm组件使用方法详解
Jul 23 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
python类中super() 的使用解析
Dec 19 Python
解决keras backend 越跑越慢问题
Jun 18 Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
celery在python爬虫中定时操作实例讲解
Nov 27 Python
浅谈Python中的正则表达式
Jun 28 Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 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
php5中类的学习
2008/03/28 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
js面向对象的写法
2016/02/19 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
python提示No module named images的解决方法
2014/09/29 Python
高效使用Python字典的清单
2018/04/04 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
django-filter和普通查询的例子
2019/08/12 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
小学教师的个人自我鉴定
2013/10/24 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS