Я пытаюсь создать программу, которая удаляет только «r» и «b» значений rgb изображения, оставляя изображение с различными оттенками зеленого. Вот мой код:Я не понимаю «AttributeError: __getitem__»
import matplotlib.pyplot as plt
from PIL import Image
im = Image.open('Image.jpg')
rgb_im = im.convert('RGB')
width, height = rgb_im.size
for x in range(width):
for y in range(height):
r, g, b = rgb_im.getpixel((x, y))
im[x][y] = [0, g, 0, 255]
fig, ax = plt.subplots(1, 1)
ax.imshow(im, interpolation='none')
fig.show()
Я новичок в программировании и не понимаю, почему мой код бросает эту ошибку:
AttributeError: __getitem__
Может кто-нибудь объяснить, как это исправить или рекомендовать лучшее решение ? AttributeError: __getitem__
Можете ли вы дать более подробную информацию? Какова полная ошибка? Какую строку он показывает? – DJMcMayhem
Проводили ли вы какие-либо исследования по этому вопросу? Нет сомнений, что тысячи вопросов о потоке stackoverflow относятся к 'AttributeError: __getitem__'. –
Без номера строки Я не уверен, что в вашем коде выбрасывает эту ошибку, но '__getitem__' - встроенная функция, вызываемая при использовании квадратных скобок для получения элемента (например, в списке или dict). [Справочник по Python 2] (https://docs.python.org/2/reference/datamodel.html#object.__getitem__), [Справочник по Python 3] (https://docs.python.org/3/reference/datamodel .html # object .__ getitem__) – whrrgarbl