使用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 相关文章推荐
简单介绍Ruby中的CGI编程
Apr 10 Python
Python动态生成多维数组的方法示例
Aug 09 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
python scrapy爬虫代码及填坑
Aug 12 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Python中Selenium库使用教程详解
Jul 23 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
Python大批量搜索引擎图像爬虫工具详解
Nov 16 Python
聊聊Python String型列表求最值的问题
Jan 18 Python
Python加密与解密模块hashlib与hmac
Jun 05 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 裁剪图片成固定大小代码方法
2009/09/09 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
用原生js做单页应用
2017/01/17 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
python2.7的编码问题与解决方法
2016/10/04 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Python创建字典的八种方式
2019/02/27 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
Ref与out有什么不同
2012/11/24 面试题
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
市场营销专科应届生求职信
2013/11/24 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
好学生评语大全
2014/05/05 职场文书
毕业生求职信
2014/06/10 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
工作表扬信范文
2015/01/17 职场文书