使用PIL(Python-Imaging)反转图像的颜色方法


Posted in Python onJanuary 24, 2019

利用PIL将图片转换为黑色与白色反转的图片,下面笔者小白介绍如何实现。

解决方案一:

from PIL import Image
import PIL.ImageOps  
#读入图片
image = Image.open('your_image.png')
#反转
inverted_image = PIL.ImageOps.invert(image)
#保存图片
inverted_image.save('new_name.png')

注意:“ImageOps模块包含多个'ready-made'图像处理操作,该模块有些实验性,大多数操作符只适用于L和RGB图像。”

解决方案二:

如果图像是RGBA透明的,参考如下代码。

from PIL import Image
import PIL.ImageOps  

image = Image.open('your_image.png')
if image.mode == 'RGBA':
  r,g,b,a = image.split()
  rgb_image = Image.merge('RGB', (r,g,b))

  inverted_image = PIL.ImageOps.invert(rgb_image)

  r2,g2,b2 = inverted_image.split()

  final_transparent_image = Image.merge('RGBA', (r2,g2,b2,a))

  final_transparent_image.save('new_file.png')

else:
  inverted_image = PIL.ImageOps.invert(image)
  inverted_image.save('new_name.png')

解决方案三:

注:对于使用”1″模式的图像(即,1位像素,黑白色,以每个字节为单位存储的see docs),您需要在调用PIL.ImageOps.invert之前将其转换为”L”模式。

im = im.convert('L')
im = ImageOps.invert(im)
im = im.convert('1')

以上这篇使用PIL(Python-Imaging)反转图像的颜色方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现在windows下操作word的方法
Apr 28 Python
利用Python如何生成随机密码
Apr 20 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
Python发展史及网络爬虫
Jun 19 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
python中sys模块是做什么用的
Aug 16 Python
编写python代码实现简单抽奖器
Oct 20 Python
Python+Xlwings 删除Excel的行和列
Dec 19 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 #Python
python 实现图片旋转 上下左右 180度旋转的示例
Jan 24 #Python
Python对象与引用的介绍
Jan 24 #Python
selenium+python自动化测试之多窗口切换
Jan 23 #Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 #Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 #Python
selenium+python自动化测试之页面元素定位
Jan 23 #Python
You might like
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
[34:08]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS EG
2018/03/30 DOTA
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
Django框架实现在线考试系统的示例代码
2020/11/30 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
2013的个人自我评价
2013/12/26 职场文书
写给领导的感谢信
2015/01/22 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
爱的教育观后感
2015/06/17 职场文书
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python