Форум сайта python.su
Привет.
Очень легко получить RGB цвет пикселя, указав координаты.
Вопрос: как получить координаты, указав RGB значение?
Я пришёл с следующему решению и оно работает медленно:
from PIL import Image img = Image.open('image.jpg') # Изображение на котором ищу пиксель pixels = img.load() for y in range(img.size[1]): for x in range(img.size[0]): if pixels[x, y] == (235, 187, 7): # Цвет который ищу print('НАЙДЕНО')
Офлайн
Во первых непонятно как вы будете это использовать. У вас много изображений и вы в каждом будете искать пиксел или в одном много раз будете искать разные пикселы? Во втором случае можно заранее создать словарь пиксел -> коорината. Первый вариант можно ускорить перейдя к компилированному варианту первая ссылка в гугле https://stackoverflow.com/questions/12138339/finding-the-x-y-indexes-of-specific-r-g-b-color-values-from-images-stored-in Но все равно нужен перебор всех пикселей.
Во вторых постановка выглядит неправильно. Где гарантия что он есть и что он один такой на картинке?
p.s.
В такой постановке как вы ее поставили задача не решается эффективно. Вполне вероятно что вами неправильно выбран алгоритм решения объемлющей задачи. Напишите какова конечная цель ваших манипуляций.
Отредактировано doza_and (Июль 4, 2018 05:49:02)
Офлайн
dianarа сколько медленно ?
Я пришёл с следующему решению и оно работает медленно:
Отредактировано Vigi (Июль 25, 2018 08:46:40)
Офлайн
Vigi +1
ежли поднапрячься - через ctypes в С завернуть
Офлайн