使用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 相关文章推荐
非递归的输出1-N的全排列实例(推荐)
Apr 11 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
pandas series序列转化为星期几的实例
Apr 11 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
python截取两个单词之间的内容方法
Dec 25 Python
Python判断有效的数独算法示例
Feb 23 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
使用python模拟高斯分布例子
Dec 09 Python
深入浅析Python 命令行模块 Click
Mar 11 Python
python 实现PIL模块在图片画线写字
May 16 Python
python中复数的共轭复数知识点总结
Dec 06 Python
Flask使用SQLAlchemy实现持久化数据
Jul 16 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分割合并两个字符串的函数实例
2015/06/19 PHP
PHP序列化操作方法分析
2016/09/28 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
Javascript 之封装(Package)
2018/09/14 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
python备份文件的脚本
2008/08/11 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
Python将图片转换为字符画的方法
2020/06/16 Python
python实现输入数字的连续加减方法
2018/06/22 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
Python PyQt5整理介绍
2020/04/01 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
市场营销专业个人求职信范文
2013/12/14 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
2014年师德师风学习材料
2014/05/16 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
中学教师读书笔记
2015/07/01 职场文书
运动会800米赞词
2015/07/22 职场文书
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers