Итак, я работаю над небольшим исследовательским проектом, и отчасти это связано с тем, что мне необходимо получить пиксельные координаты изображения, которые соответствуют определенному цвету.Пример изображения (с именем testpic.png) показан здесь:
То, что я пытаюсь сделать, это определить местоположение всех точек, которыецвет бирюзовый.Однако следующий код (адаптированный из Поиск пикселей с заданными цветами RGB ) выдает мне ошибку: «AttributeError: у объекта« PngImageFile »нет атрибута« read »», и я не уверен, что происходит.
from PIL import Image
myImage = Image.open("testpic.png")
def find_turq_pixels(image_name):
# Set the value you want for these variables
r_min = 0
r_max = 65
g_min = 220
g_max = 255
b_min = 220
b_max = 255
turq_pixels = set()
img = Image.open(image_name)
rgb = img.convert('rgb')
for x in range(img.size[0]):
for y in range(img.size[1]):
r, g, b = rgb.getpixel((x, y))
if r >= r_min and r <= r_max and b >= b_min and b <= b_max and g >= g_min and g <= g_max:
turq_pixels.add((x,y))
return turq_pixels
print(find_turq_pixels(myImage))
В настоящее время я использую Python 3.7, и если я все правильно установил, python говорит, что "PIL.PILLOW_VERSION" работает 5.4.1.Файл python и файл изображения также находятся в одной папке, если это вызвало ошибку.Я впервые за последние несколько лет использую Python, поэтому заранее извиняюсь, если я очень глуп по этому поводу, так как я уже забыл кучу о программировании, но если кто-нибудь может помочь мне это исправить, это будет очень цениться!Спасибо:)