колірні моделі

Завдання: Визначити, яке зображення закодоване.

from PIL import Image


# Відкриття текстового файлу з кольорами

with open("colors.txt", "r") as file:

    # Зчитування рядка з кольорами

    line = file.readline().strip()


# Розділення рядка на окремі кольори за комою і перетворення їх у кортежі кольорів

colors = [tuple(map(int, color.strip().split(','))) for color in line.split()]


# Розмір зображення

width = len(colors)

height = 1


# Створення нового зображення

img = Image.new("RGB", (width, height))


# Заповнення зображення кольорами

for x in range(width):

    img.putpixel((x, 0), colors[x])


# Збереження зображення

img.save("decoded_image.png")

(255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (254,254,254) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (254,254,254) (250,250,250) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (251,251,251) (252,252,252) (255,255,255) (255,255,255) (255,255,255) (251,251,251) (255,255,255) (250,250,250) (255,255,255) (255,255,255) (255,255,255) (250,250,250) (252,252,252) (255,255,255) (255,255,255) (255,255,255) (251,251,251) (253,253,253) (246,246,246) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) 

(255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (254,254,254) (253,253,253) (254,254,254) (255,255,255) (254,254,254) (254,254,254) (252,252,252) (255,255,255) (255,255,255) (254,254,254) (252,252,252) (255,255,255) (255,255,255) (255,255,255) (250,250,250) (255,255,255) (255,255,255) (254,254,254) (252,252,252) (255,255,255) (255,255,255) (254,254,254) (255,255,255) (253,253,253) (253,253,253) (254,254,254) (251,251,251) (255,255,255) (255,255,255) (252,252,252) (253,253,253) (251,251,251) (253,253,253) (255,255,255) (251,251,251) (255,255,255) (246,246,246) (255,255,255) (253,253,253) (254,254,254) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255) (255,255,255)

https://replit.com

завантажити в файли файл з текстом вище

pip install pillow 

from PIL import Image


# Відкриття зображення

img = Image.open('image3.jpg')


# Отримання розмірів зображення

width, height = img.size


# Ітерування через кожен піксель

for y in range(height):

    for x in range(width):

        # Отримання кольору пікселя

        r, g, b = img.getpixel((x, y))

        # Перетворення кольору в текстовий код

        pixel_code = f'({r},{g},{b})'

        # Виведення коду пікселя

        print(pixel_code, end=' ')

    print()  # Перехід на новий рядок для нового рядка пікселів

import base64

from PIL import Image

from io import BytesIO

# Зчитати текстовий файл, де закодоване зображення

with open("зображення7.txt", "r") as file:

  encoded_image = file.read()

# Розкодувати зображення з Base64

decoded_image = base64.b64decode(encoded_image)

# Створити об'єкт зображення з BytesIO

image = Image.open(BytesIO(decoded_image))

# Зберегти зображення

image.save("зображення.png")

ресурс для кодування зображення у текст https://www.base64-image.de/tutorial