欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-19 21:38:01
利用pil将图片转换为黑色与白色反转的图片,下面笔者小白介绍如何实现。 解决方案一: from pil import image import pil.ima...

利用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)反转图像的颜色方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。