Я новичок в программировании и недавно начал кодирование в python. Я работаю с учебником, в котором есть коды с образцами программ. следующий код из этой книги и должен превратить цветное изображение в черно-белое изображение, назначив цветам черный или белый для каждого пикселя в зависимости от их яркости (сумма их значений RGB).Код Python tkinter не работает
from tkinter import *
def black_white():
average = 382.5
for x in range (image.width()):
for y in range (image.height()):
c = image.get(x, y)
brightness = int(c[0]) + int(c[1]) + int(c[2])
if brightness < average:
image.put("black", (x))
else:
image.put("white", (x))
window = Tk()
image = PhotoImage(file="1.gif")
button = Button(master=window, command=black_white,
font=("Arial", 14),
text="Bearbeiten")
label = Label(master=window, image=image)
label.pack()
button.pack(fill=X)
window.mainloop()
однако код не работает, то сообщение об ошибке я получаю:
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 1550, in __call__
return self.func(*args)
File "/Users/(anonymous)/Desktop/programmieren/raspberry_lehrbuch/schwarzweiß.pyw", line 8, in black_white
brightness = int(c[0]) + int(c[1]) + int(c[2])
ValueError: invalid literal for int() with base 10: ' '
я уже сделал несколько исследований, но не смогли найти ничего, что заставило его работать. помощь очень высоко ценится :) ой, и я использую Macbook Pro 2010 с El Capitan
ошибка означает, что вы пытаетесь преобразовать пустую строку в целое число. Попробуйте 'int (" ")' и вы получите то же сообщение об ошибке. Проверьте 'c' перед тем, как вы сделаете' bright = int (c [0]) + int (c [1]) + int (c [2]) ' – furas