Как я могу получить все пиксели для всех объектов в OpenCV? - PullRequest
1 голос
/ 29 июня 2019

У меня есть изображение с отдельными объектами, которые имеют один цвет.

пример изображения:

example

Я хочу получить всепикселей от каждого объекта.Я использую Python и CV2.Но я не знаю, как это сделать.

пример, который я хочу получить:

  • object1: [(x1, y1), (x2, y2) ... (xn1, yn1)] где n1 - подсчитать все пиксели в object1
  • object2: [(x1, y1), (x2, y2) ... (xn2, yn2)] где n2 - подсчитать все пиксели в object2
  • ...
  • objectm: [(x1, y1), (x2, y2) ... (xnm, ynm)] где nm - подсчитать все пиксели в объекте

UPD: Это можно сделать с помощью cv2.connectedComponents ().См. маркировку подключенного компонента в python .Спасибо мензурка

1 Ответ

0 голосов
/ 29 июня 2019

с учетом того, что img открыто в 'img' Вы можете использовать immg [i, j], чтобы вернуть значения синего красного зеленого цвета, например

>>img[12,12]
[143,144,255] // this is what is returned [blue green red]

так что вы можете использовать что-то вроде

rows = img.shape[0]
cols = img.shape[1]
for (i in range(0,rows)):
    for (j in range(0,cols)):
        bgr=img[i,j]
    #now use if condition and match brg values with color you wnana detect then append the pair i,j in the a list if the condition matcches 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...