我有带有单独对象的图像,这些对象只有一种颜色。

示例图片:

python - 我如何在opencv中获取所有对象的所有像素?-LMLPHP

我想从每个对象获取所有像素。我使用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-计算objectm中的所有像素

  • UPD:这可以通过cv2.connectedComponents()完成。看到这个connected component labeling in python。谢谢beaker

    最佳答案

    考虑到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
    

    关于python - 我如何在opencv中获取所有对象的所有像素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56817279/

    10-16 21:39