I
I
ilya_ya2018-05-27 18:11:03
Python
ilya_ya, 2018-05-27 18:11:03

What is pix[4,4][0] construct?

Hello. I watched an article on Habré on how to edit images using the Python PIL library.
Here is the code that works like this
. Makes the image black and white.

from PIL import Image, ImageDraw #Подключим необходимые библиотеки.
imagename = input('Введите имя изображения ')#получаем имя изображения
mode = int(input('mode:')) #Считываем номер преобразования.
image = Image.open(imagename) #Открываем изображение.
draw = ImageDraw.Draw(image) #Создаем инструмент для рисования.
width = image.size[0] #Определяем ширину.
height = image.size[1] #Определяем высоту.
pix = image.load() #Выгружаем значения пикселей.
if (mode == 0):
  for i in range(width):
    for j in range(height):
      a = pix[i, j][0]
      b = pix[i, j][1]
      c = pix[i, j][2]
      S = (a + b + c) // 3
      draw.point((i, j), (S, S, S))
image.save("ans.jpg", "JPEG")

and I do not understand this moment (more precisely, the data type in it).
pix = image.load() #Выгружаем значения пикселей.
a = pix[i, j][0]
b = pix[i, j][1]#вместо i и j понятно, что значения ширины и высоты.
c = pix[i, j][2]

but what is this?
pix[1, 1]#допустим, что значения ширины и высоты равны 1.

it's not like indexing lists, tuples.
Help me please...

Answer the question

In order to leave comments, you need to log in

1 answer(s)
R
Ruslan., 2018-05-27
@LaRN

Here is a good description of this library, though in English :
www.pythonware.com/media/data/pil-handbook.pdf ]) This code should be inserted after pix = image.load()

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question