gpt4 book ai didi

python - 有没有好的彩色图可以使用python的PIL将灰度图像转换为彩色图像?

转载 作者:行者123 更新时间:2023-12-02 06:13:38 27 4
gpt4 key购买 nike

Matplotlib 有很多不错的颜色图,但性能较差。我正在编写一些代码来使灰度图像变得丰富多彩,其中用彩色图进行插值是一个好主意。我想知道是否有开源的彩色图可用或演示代码可以使用Pillow通过彩色图将灰度图像转换为彩色图像?

<小时/>

澄清:

  1. Matplotlib 适合演示使用,但对于数千个图像来说性能不佳。
  2. Matplotlib colormaps
  3. 您可以将灰度图像映射到色彩图以获得彩色图像。

演示:

第一个图像是灰度图像,第二个图像在“jet”cmap 中映射,第三个图像是“hot”。

Matplotlib demo

问题是我对颜色不太了解,我想在PIL中实现这样的效果以获得更好的性能。

最佳答案

您可以使用 matplotlib 中的颜色图并应用它们而无需任何 matplotlib 图形等。这将使事情变得更快:

import matplotlib.pyplot as plt

# Get the color map by name:
cm = plt.get_cmap('gist_rainbow')

# Apply the colormap like a function to any array:
colored_image = cm(image)

# Obtain a 4-channel image (R,G,B,A) in float [0, 1]
# But we want to convert to RGB in uint8 and save it:
Image.fromarray((colored_image[:, :, :3] * 255).astype(np.uint8)).save('test.png')

注意:

  • 如果您的输入图像是 float ,则值应位于区间 [0.0, 1.0] 内。
  • 如果您的输入图像是整数,则整数应在 [0, N) 范围内,其中 N 是 map 中的颜色数量。但您可以根据需要将 map 重新​​采样为任意数量的值:

    # If you need 8 color steps for an integer image with values from 0 to 7:
    cm = plt.get_cmap('gist_rainbow', lut=8)

关于python - 有没有好的彩色图可以使用python的PIL将灰度图像转换为彩色图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457308/

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