Найти в Дзене
SergSergius

Пример кода на Python, позволяющий заменить один цвет пикселей изображения на другой

В этот раз немного пофотошопим! Я взял сгенерированное генератором смайликов изображение и обнаружил, что подпись под смайликом слишком темная и ее плохо видно на темном фоне. Значит ее надо как-то осветлить. А поможет мне с этим как всегда python, в котором мы, с помощью модуля PIL, сможем попиксельно выполнить поиск нужного нам цвета подписи и заменить его на новый. Пусть это будет зеленый цвет. В этом примере функция `replace_color` принимает путь к изображению, целевой цвет который нужно заменить, и новый цвет на который нужно заменить. Вложенные циклы `for` проходят по каждому пикселю изображения, и если цвет пикселя совпадает с целевым цветом, то он заменяется на новый цвет с помощью метода `putpixel()`. Измененное изображение сохраняется и возвращается путь к новому изображению. Как оказалось, пиксели подписи имеют множество оттенков темно-синего цвета, поэтому эту процедуру нужно выполнить несколько раз, с разными цветами. На фото ниже вы можете наблюдать две фотографии: исходн

В этот раз немного пофотошопим! Я взял сгенерированное генератором смайликов изображение и обнаружил, что подпись под смайликом слишком темная и ее плохо видно на темном фоне. Значит ее надо как-то осветлить. А поможет мне с этим как всегда python, в котором мы, с помощью модуля PIL, сможем попиксельно выполнить поиск нужного нам цвета подписи и заменить его на новый. Пусть это будет зеленый цвет.

В этом примере функция `replace_color` принимает путь к изображению, целевой цвет который нужно заменить, и новый цвет на который нужно заменить. Вложенные циклы `for` проходят по каждому пикселю изображения, и если цвет пикселя совпадает с целевым цветом, то он заменяется на новый цвет с помощью метода `putpixel()`. Измененное изображение сохраняется и возвращается путь к новому изображению.

Как оказалось, пиксели подписи имеют множество оттенков темно-синего цвета, поэтому эту процедуру нужно выполнить несколько раз, с разными цветами.

На фото ниже вы можете наблюдать две фотографии: исходная и после первой замены.

-2

-3

Текстовый код вы сможете скопипастить по ссылке: https://sergsergius.ru/forum/topic/%d0%bc%d0%b5%d0%bd%d1%8f%d0%b5%d0%bc-%d0%b2-python-%d1%86%d0%b2%d0%b5%d1%82-%d0%bf%d0%b8%d0%ba%d1%81%d0%b5%d0%bb%d0%b5%d0%b9-%d0%b8%d0%b7%d0%be%d0%b1%d1%80%d0%b0%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-%d0%be/#postid-114