利用PIL将图像转换为白色和黑色反转的图片,接下来笔者小白介绍如何使用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')
参考资料:
1、https://gxnotes.com/link.php?target=https%3A//stackoverflow.com/questions/2498875/how-to-invert-colors-of-image-with-pil-python-imaging%3Fanswertab%3Dvotes 2017.8.21
2、https://gxnotes.com/article/181306.html 2017.8.21