使用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使用pil生成缩略图的方法
Mar 26 Python
python数据结构之链表的实例讲解
Jul 25 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
元组列表字典(莫烦python基础)
Apr 03 Python
Python字符串的常见操作实例小结
Apr 08 Python
简单介绍django提供的加密算法
Dec 18 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 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
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
Symfony核心类概述
2016/03/17 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
iframe实用操作锦集
2014/04/22 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
python 如何对logging日志封装
2020/12/02 Python
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
标准的毕业生自荐信
2014/04/20 职场文书