执行ImageEnhance.Sharpness()时“无法过滤调色板图像”错误

时间:2012-04-25 20:59:11

标签: python image image-processing python-imaging-library pillow

我有一个GIF图像文件。我使用PIL.Image打开它并对其进行了几次大小的转换。然后我尝试在其上使用ImageSharpness.Enhance() ......

sharpener = PIL.ImageEnhance.Sharpness(img)
sharpened = sharpener.enhance(2.0)

这导致异常:

<type 'exceptions.ValueError'>
('cannot filter palette images',)

我试图谷歌这个错误,但没有找到任何东西。有人能帮我弄清楚出了什么问题吗?

仅供参考,输入图像的模式为'P'。如果我使用jpg图像,我没有这个问题。

1 个答案:

答案 0 :(得分:9)

sharpener = PIL.ImageEnhance.Sharpness (img.convert('RGB'))

算法无法使用基于调色板的图像是很常见的。上面的convert会将其更改为在每个像素位置都有一个完整的RGB值。