Python 反转颜色

Python invert colors

我需要使用 PIL 在 Python 中反转图像的颜色,问题是我只需要反转图像右半部分的颜色,我不知道该怎么做它。 下面是图像的外观示例。

这是我编写的代码,它会反转所有图像的颜色。

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import PIL.ImageOps

image_file = Image.open("Abbildung1.jpg")
image_file.load()
image_data = np.asarray(image_file, dtype=np.uint8)

inverted_image = PIL.ImageOps.invert(image_file)

inverted_image.save("neuesBild.jpg")

您可以使用 numpy 将图像分成两部分,然后应用变换,最后将其合并。

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import PIL.ImageOps

image_file = Image.open("some_image.jpeg")
image_file.load()
image_data = np.asarray(image_file, dtype=np.uint8)
width = image_data.shape[1]

left_half = image_data[:,0:width//2, :]
right_half = image_data[:,width//2:, :]

inverted_image_right = np.asarray(PIL.ImageOps.invert(Image.fromarray(right_half)))

total_image = np.hstack((left_half, inverted_image_right))

inverted_image = Image.fromarray(total_image)


inverted_image.save("invertion_half.jpeg")

就是这样:

from PIL import Image
import PIL.ImageOps

img = Image.open('img.png').convert('RGB')
img.paste(ImageOps.invert(img.crop((img.width/2,0,img.width,img.height))),box=(int(img.width/2),0))

我们已经裁剪、反转和粘贴裁剪反转图像。

那你可以查看:

img.show()