Я хочу создать изображение, передав список кортежей в python

import numpy as np

from PIL  import Image

img=Image.open("Car.jpg")

array= np.array(img)

a = array

rgb=250,0,0

for  i  in  range(768):
      for  j  in  range(500):
             a[ i ] [ j ]=rgb

new_image=Image.fromarray(array)

new_image.save( "new.jpg" )

new_image.show()

Я хочу передать значения rgb, такие как список кортежей:

rgb = [(255,0,0),
(198, 252, 247), (255, 255, 250) ,(254, 253, 248) ,(251, 252, 246), (247, 248, 240) ... 
(100, 144, 247), (255, 200, 250), (254, 253,0)]

и изменение значения rgb с i и j

a [ i ] [ j ] = rgb

какова будет длина этого rgb списка? ака, сколько кортежей передается?

Paritosh Singh 30.05.2019 07:11
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
809
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
from PIL import Image

img = Image.open("Car.jpg")
rgb = 250,0,0
for i in range(768):
    for j in range(500):
        im.putpixel((i, j), rgb)
img = img.convert("RGB") 
img.save("new.jpg")
img.show()

Вы имели в виду этот путь?

Вы можете получить RGB, используя получить данные(). Затем вы можете свободно манипулировать каждым пикселем. Например, вы хотите перевернуть изображение.

from PIL import Image

# Resize for minimising pixels
width, height = 300, 200
src_image = ImageCall('cat.jpg').get_img()
src_image = src_image.resize((width, height), Image.ANTIALIAS)

# Get pixels in a list
pixels = list(src_image.getdata())
pixels = list(map(lambda i: i[::-1], pixels[:])) # Flipping
# pixels = [(r,g,b), (r,g,b), (r,g,b), (r,g,b), ..... n]

# Add new pixels to construct a new image
dst_image = Image.new('RGB', (width, height))
dst_image.putdata(pixels)  # Place pixels in the new image.
dst_image.save('result.png')  # Save the new image.

Результат:

Другие вопросы по теме