网络编程
位置:首页>> 网络编程>> Python编程>> 使用PIL(Python-Imaging)反转图像的颜色方法

使用PIL(Python-Imaging)反转图像的颜色方法

作者:JohnieLi  发布时间:2022-12-15 19:16:48 

标签:PIL,Python,Imaging

利用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')

来源:https://blog.csdn.net/JohinieLi/article/details/77448766

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com