2024-05-16 15:28:30 发布
网友
如何使用PIL或枕头更改图像的饱和度?最好我想能够使用解决方案与django imagekit包。我需要更改饱和度的原因是创建一个效果,当用户悬停黑白图像时,它会变成彩色。
如果需要灰度图像,只需将其转换为L(亮度)模式:
L
greyscale = rgba_image.convert('L')
把它应用到我的忍者身上:
如果需要中间步骤,则需要将RGB值转换为HLS或HSV,调整饱和度,然后再次将其转换回RGB。您可以使用colorsys来实现这一点,或者调整this ^{} solution;我希望后者的性能会更好。
如果您使用的是django imagekit,则可以使用捆绑的Adjust处理器:
Adjust
from imagekit.processors import Adjust Adjust(color=0.5)
在引擎盖下,这将完全执行@abarnertrecommended。
你可能想要^{}。
img = PIL.Image.open('bus.png') converter = PIL.ImageEnhance.Color(img) img2 = converter.enhance(0.5)
这样得到的图像只有原始图像的一半“颜色”。这与饱和的一半并不完全相同(因为饱和的一半或两倍通常会下溢或溢出),但这可能是大多数情况下实际需要的。正如医生所说,它的工作原理就像电视上的“彩色”旋钮。
以下是0.5、1.0和2.0颜色下相同图像的示例:
如果需要灰度图像,只需将其转换为
L
(亮度)模式:把它应用到我的忍者身上:
如果需要中间步骤,则需要将RGB值转换为HLS或HSV,调整饱和度,然后再次将其转换回RGB。您可以使用colorsys来实现这一点,或者调整this ^{} solution ;我希望后者的性能会更好。
如果您使用的是django imagekit,则可以使用捆绑的
Adjust
处理器:在引擎盖下,这将完全执行@abarnertrecommended。
你可能想要^{} 。
这样得到的图像只有原始图像的一半“颜色”。这与饱和的一半并不完全相同(因为饱和的一半或两倍通常会下溢或溢出),但这可能是大多数情况下实际需要的。正如医生所说,它的工作原理就像电视上的“彩色”旋钮。
以下是0.5、1.0和2.0颜色下相同图像的示例:
相关问题 更多 >
编程相关推荐