Skip to content

Instantly share code, notes, and snippets.

@rupython
Created March 1, 2019 18:36
Show Gist options
  • Select an option

  • Save rupython/34de4e74696561e076a1563b9862d634 to your computer and use it in GitHub Desktop.

Select an option

Save rupython/34de4e74696561e076a1563b9862d634 to your computer and use it in GitHub Desktop.
From: UNI WOW
from PIL import Image
# Создаем палитру для изображения
palettedata = [191,116,202,208,149,228,222,179,235,145,41,52,195,92,118,225,148,157,243,198,208,207,91,82,121,48,34,175,76,33,114,97,50,143,124,64,172,161,104,87,66,57,142,130,113,172,157,141,195,190,186,83,56,51,163,133,107,220,197,185,190,15,43,144,99,126,181,142,175,187,139,88,209,178,108,228,212,150,92,90,53,128,132,89,150,153,105,207,128,108,229,207,7,207,206,199,236,227,140,206,29,83,42,38,40,58,65,107,66,84,139,145,64,89,199,107,157,103,96,111,157,151,172,50,77,52,99,136,93,202,5,32,94,119,181,200,16,58,124,47,119,161,184,221,243,143,182,223,70,85,116,65,169,110,136,185,244,80,77,244,124,127,61,85,44,93,116,58,108,133,70,158,178,96,234,68,128,207,45,106,236,138,183,59,55,96,82,93,65,105,126,89,138,151,98,57,47,48,153,129,212,164,163,214,216,36,50,206,8,43,233,66,65,241,93,91,245,144,137,246,187,176,174,48,48,215,63,151,239,122,199,242,152,219,78,116,77,135,166,118,158,42,91,202,64,125,241,162,203,241,162,203,182,208,163,156,127,72,240,50,93,248,83,139,195,9,28,156,130,74,235,95,110,246,187,205,244,145,193,175,155,103,166,58,73,183,78,98,159,80,105,215,140,177,217,67,130,235,106,159,125,78,99,206,179,207,129,92,187,198,193,229,56,67,97,169,186,209,191,206,224,137,166,207,220,228,234,90,134,171,172,211,222,60,109,142,135,187,198,95,115,120,246,224,207,174,96,90,212,139,128,239,197,182,214,104,52,156,35,45,223,116,106,240,168,161,109,74,60,185,154,132,108,90,79,131,99,83,76,65,71,243,29,72,127,47,76,158,42,91,218,15,116,236,85,167,109,102,170,46,92,90,59,114,123,87,144,154,171,212,212,18,154,106,157,187,176,62,142,108,86,133,102,112,158,133,149,184,164,16,97,43,191,193,24,222,161,29,228,180,53,239,202,91,238,223,174,245,142,145,243,150,113,179,84,40,229,155,94,188,131,76,174,109,44,197,69,63,205,36,75,229,52,106,237,89,138,120,48,101,155,80,142,192,119,178,142,50,164,109,105,189,130,132,206,168,183,233,184,203,225,60,87,134,19,127,202,7,146,178,11,182,211,55,200,225,42,108,89,68,141,122,101,166,150,13,148,80,76,184,126,207,136,14,225,106,37,238,145,74,241,194,125,238,172,127,125,50,48,148,69,71,198,114,108,139,91,100,167,123,133,136,89,71,159,109,92,194,151,137,248,247,245,229,215,209,147,53,28,235,138,95,199,124,118,86,82,91,124,114,134,180,175,193,162,100,54,208,160,100,125,63,46,158,81,48,185,110,55,208,140,84,218,159,108,225,181,7,231,232,89,147,116,125,182,149,162,205,183,186,86,100,42,116,133,44,132,143,72,174,185,96,184,15,40,48,67,58,76,107,95,104,139,124,135,171,159,179,209,193,76,110,163,104,154,179,145,185,210,74,91,69,129,140,115,150,156,129,161,164,135,93,86,87,229,197,188,96,25,97,150,55,157,170,78,176,212,135,210,59,107,85,90,148,101,135,193,147,160,209,166,92,99,38,123,137,43,113,167,173,151,198,197,209,6,88,225,7,109,234,32,132,241,76,163,242,119,191,245,153,213,225,2,14,242,5,40,114,86,64,143,106,78,174,141,100,207,184,160,146,69,62,139,113,90,160,139,116]
# Открываем изображение
oldimage = Image.open("resh.jpg")
# Создаем новое изображение(копию)
palimage = Image.new('P', oldimage.size)
# Применяем палитру
palimage.putpalette(palettedata)
# Применяем палитру к изображению
newimage = oldimage.quantize(palette=palimage)
# Конвертируем изображение в РГБ
convert_image = newimage.convert("RGB")
# Смотрим что получилось
convert_image.show()
# Сохраняем изображение
convert_image.save("RESH1.png")
# Полуаем размеры изображения
width_img, height_img = convert_image.size
# Стартовая Позиция курсора в столбце (Х)
gird_x = 1
# Стартовая Позиция курсора в строке (У)
gird_y = 1
# Создаем пустой список для цветов изображения
rgb_list = []
# Создаем циклом список со всеми цветами в изображении
while gird_y <= height_img -1 :
# Получаем цвет пикселя из координат
z = convert_image.getpixel((gird_x, gird_y))
print(z)
# Добавляем полученный цвет в конец списка
rgb_list.append(z)
# Переходим в след столбец
gird_x = gird_x + 1
# Если достигли последнего столбца
if gird_x >= width_img -1:
# переходим на следующую строку
gird_y = gird_y + 1
# устанавливаем курсор в начало строки
gird_x = 1
# Удаляем дубликаты цветов из списка
sorted_list = list(set(rgb_list))
# Выдаем результат сортировки
print(sorted_list)
# Считаем количество цветов в списке
len_points = len(sorted_list)
# Удаляем дубликаты цветов из списка
print(len_points)
point = 0
while point < len_points:
print(str(sorted_list[point]) + " - " + str(rgb_list.count(sorted_list[point])) + " шт")
point = point + 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment