使用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实现数据库并行读取和写入实例
Jun 09 Python
Python实现将doc转化pdf格式文档的方法
Jan 19 Python
python如何通过实例方法名字调用方法
Mar 21 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
Aug 24 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
pycharm 配置svn的图文教程(手把手教你)
Jan 15 Python
Python基础之Socket通信原理
Apr 22 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 stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
phpwind放自动注册方法
2006/12/02 Javascript
lib.utf.js
2007/08/21 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
python实现自动更换ip的方法
2015/05/05 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
协议书范本
2014/04/23 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python