使用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实现获取某天是某个月中的第几周
Feb 11 Python
Python中字典的基本知识初步介绍
May 21 Python
利用Python爬取可用的代理IP
Aug 18 Python
详解python单元测试框架unittest
Jul 02 Python
Python实现的KMeans聚类算法实例分析
Dec 29 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Python面向对象编程之类的概念
Nov 01 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
PHPCMS的使用小结
2010/09/20 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
基于php编程规范(详解)
2017/08/17 PHP
python进程与线程小结实例分析
2018/11/11 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
给Function做的OOP扩展
2009/05/07 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
Python版微信红包分配算法
2015/05/04 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
python将回车作为输入内容的实例
2018/06/23 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
Python grpc超时机制代码示例
2020/09/14 Python
python在协程中增加任务实例操作
2021/02/28 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
彩妆大赛策划方案
2014/05/13 职场文书
医德医风自我评价2015
2015/03/03 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android