«Невозможно фильтровать изображения палитры» при выполнении ImageEnhance.Sharpness ()

У меня есть файл изображения GIF. Я открыл его с помощью PIL.Image и сделал несколько преобразований размеров. Затем я попытался использовать ImageSharpness.Enhance() на нем …

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

Это вызывает исключение:

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

Я попытался Google для этой ошибки, но ничего не нашел. Может кто-нибудь помочь мне выяснить, что происходит не так?

FYI режим входного изображения – 'P' . У меня нет этой проблемы, если я работаю с jpg-изображениями.

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

Для алгоритмов довольно часто не удается работать с изображением на основе палитры. convert в приведенном выше изменяет его, чтобы иметь полное значение RGB в каждом местоположении пикселя.