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求crc32值的方法
Oct 05 Python
PyQt5每天必学之切换按钮
Aug 20 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
学习python的前途 python挣钱
Feb 27 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
pytorch中的transforms模块实例详解
Dec 31 Python
你可能不知道的Python 技巧小结
Jan 29 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
Apr 16 Python
python进行参数传递的方法
May 12 Python
python绘制趋势图的示例
Sep 17 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python字典的元素访问实例详解
Jul 21 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中SQL注入攻击与XSS攻击
2012/06/10 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
JavaScript中的其他对象
2008/01/16 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
python实现人像动漫化的示例代码
2020/05/17 Python
python 实现客户端与服务端的通信
2020/12/23 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
会计专业推荐信
2013/10/29 职场文书
商超业务员岗位职责
2014/03/12 职场文书
房产继承公证书
2014/04/09 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
图书借阅制度范本
2015/08/06 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang