使用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中的闭包总结
Sep 18 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
django框架使用方法详解
Jul 18 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
Python3爬虫关于代理池的维护详解
Jul 30 Python
Python爬取12306车次信息代码详解
Aug 12 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
获取body标签的两种方法
2011/10/13 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
国外的一些J2EE面试题一
2012/10/13 面试题
质量工程师岗位职责
2013/11/16 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
美容院经理岗位职责
2014/04/03 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
2016春季幼儿园小班开学寄语
2015/12/03 职场文书
2016中秋节广告语
2016/01/28 职场文书
Python源码解析之List
2021/05/21 Python