gpt4 book ai didi

python - 在图像文件中将特定 RGB 颜色像素更改为另一种颜色

转载 作者:太空狗 更新时间:2023-10-29 18:16:32 24 4
gpt4 key购买 nike

我想用 Python 改变一种颜色。

如果存在使用 PIL 的快速解决方案,我会更喜欢此解决方案。

目前,我使用

convert -background black -opaque '#939393' MyImage.png MyImage.png

最佳答案

如果 numpy 在您的机器上可用,请尝试执行以下操作:

import numpy as np
from PIL import Image

im = Image.open('fig1.png')
data = np.array(im)

r1, g1, b1 = 0, 0, 0 # Original value
r2, g2, b2 = 255, 255, 255 # Value that we want to replace it with

red, green, blue = data[:,:,0], data[:,:,1], data[:,:,2]
mask = (red == r1) & (green == g1) & (blue == b1)
data[:,:,:3][mask] = [r2, g2, b2]

im = Image.fromarray(data)
im.save('fig1_modified.png')

它将使用多一点(3 倍)的内存,但它应该快得多(~5 倍,但对于更大的图像更多)。

另请注意,如果您只有 RGB(而不是 RGBA)图像,上面的代码会比它需要的稍微复杂一些。但是,此示例将单独保留 alpha 波段,而更简单的版本则不会。

关于python - 在图像文件中将特定 RGB 颜色像素更改为另一种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6483489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com