Скрипт зависает после завершения цикла while в цикле while (упс) - PullRequest
0 голосов
/ 06 ноября 2018

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

сценарий:

image = input("image:")
im = Image.open(image)
pix = im.load()
width, height = im.size
x = 0
y = 0
#for each pixel in the Y
while (y < height):
    # for each pixel in the X
 while (x < width):
     print pix[x,y]
     x = x + 1
y = y + 1

1 Ответ

0 голосов
/ 06 ноября 2018

Проблема инициализации ваших значений x и y. X должен быть инициализирован обратно в ноль непосредственно перед вторым циклом while, чтобы отсчет снова начался для ширины следующей строки. Что-то вроде:

x = 0
y = 0
#for each pixel in the Y
while (y < height):
    # for each pixel in the X
 x = 0 #start counting again for the next row
 while (x < width):
     print pix[x,y]
     x = x + 1
y = y + 1

Ваш цикл останавливается, потому что в конце первой строки x = width, и вы забыли сбросить его обратно на ноль для второй итерации первого цикла while.

...