使用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深入学习之闭包
Aug 31 Python
python中lambda函数 list comprehension 和 zip函数使用指南
Sep 28 Python
从Python程序中访问Java类的简单示例
Apr 20 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
matplotlib作图添加表格实例代码
Jan 23 Python
flask框架中勾子函数的使用详解
Aug 01 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
python lxml中etree的简单应用
May 10 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 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
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
JObj预览一个JS的框架
2008/03/13 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
无闪烁更新网页内容JS实现
2013/12/19 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python实现从URL地址提取文件名的方法
2015/05/15 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
python实现剪切功能
2019/01/23 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
三年大学自我鉴定
2014/01/16 职场文书
大学生作弊检讨书
2014/02/19 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
工作求职自荐信
2014/06/13 职场文书
会计师事务所实习证明
2014/11/16 职场文书
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android