Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 4, 2018 13:05:00

lllNF
Зарегистрирован: 2018-08-04
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка: 'int' object is not subscriptable'

Вот сам код

 from PIL import Image,ImageGrab
V = S = T = S_old = grab = EndColor = lis = 0
ColorD = []
RUN = True
while RUN:
    if grab <= 0:
        image = ImageGrab.grab(bbox=None)
        for i in range (0, 630):
            if lis <= 630:
                ColorD.append(0)
            lis += 1
            ColorD = (image.getpixel((245, i)))
            if ColorD[i[0]] >= 240:
                print("All Be FINE!")
Ошибка в строке "if ColorD[i] >= 240:"

Я хочу получить массив со значениями цветов определенных пикселей, но не выходит

Отредактировано lllNF (Сен. 6, 2018 17:09:47)

Офлайн

#2 Сен. 4, 2018 13:55:19

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Ошибка: 'int' object is not subscriptable'

PEHDOM
Вот сам код
код делает непонятно что, поэтому ХЗ как будет правильно

вместо запятой нужно равно поставить
 V = S = T = S_old = grab = EndColor = lis = 0
а
  ColorD[i[0]]
не имеет смысла, так как i у вас целое число то у него не может быть срезов.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Сен. 4, 2018 14:05:11)

Офлайн

#3 Сен. 6, 2018 17:11:35

lllNF
Зарегистрирован: 2018-08-04
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка: 'int' object is not subscriptable'

PEHDOM
Код все время сканирует определенные пиксели с экрана и если RED значение пикселя больше 240 то выводит “All be FINE!”
Но он не работает, а именно строка где я обращаюсь к RED значению пикселю i выдает данную ошибку

Офлайн

#4 Сен. 7, 2018 12:10:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Ошибка: 'int' object is not subscriptable'

lllNF
Код все время сканирует определенные пиксели с экрана и если RED значение пикселя больше 240 то выводит “All be FINE!”
честно говоря, он у вас делает совершенно другое, но что я хоть убейте не могу понять.
в чем смысл переменных V, S, T, S_old, grab, EndColor, lis? часть из них вообще не используется, часть используеться но смысл использования от меня ускользает. ColorD у вас то список то кортеж то ХЗ знает что..
lllNF
а именно строка где я обращаюсь к RED значению пикселю i выдает данную ошибку
внимательно прочитал еще раз код, так и не смог найти где вы обращаетесь к red пикселу.
вот так
 from PIL import ImageGrab
image = ImageGrab.grab(bbox=None)
for i in range (630):
    r, g, b = (image.getpixel((245, i)))
    if r >= 240:
        print("All Be FINE!")
все чудно работает



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Сен. 7, 2018 12:10:50)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version