使用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分析apache访问日志脚本分享
Feb 26 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
May 20 Python
编写Python CGI脚本的教程
Jun 29 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
Python Json序列化与反序列化的示例
Jan 31 Python
Python2中文处理纪要的实现方法
Mar 10 Python
python如何统计序列中元素
Jul 31 Python
python 同时运行多个程序的实例
Jan 07 Python
详解如何管理多个Python版本和虚拟环境
May 10 Python
python 将视频 通过视频帧转换成时间实例
Apr 23 Python
Python创建临时文件和文件夹
Aug 05 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
python绘制直线的方法
2018/06/30 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
入党积极分子介绍信
2014/01/17 职场文书
学习经验交流会主持词
2014/04/01 职场文书
党建工作先进材料
2014/05/02 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
GPU服务器的多用户配置方法
2022/07/07 Servers