获取按标签索引的图像的像素值

时间:2019-02-04 18:53:10

标签: python numpy indexing

我有一个已分割的RGB图像Img(256,256,3)。该图像的标签位于数组Lbl(256,256)中,标签值的范围为0-n,其中n是图像中的簇数。如何获得分配给特定群集的像素的实际RGB值?例如,如何找到分配给群集1的所有像素值?

我确定在Numpy中有一种非常Python方式可以做到这一点。

1 个答案:

答案 0 :(得分:1)

您可以使用np.where()来做到这一点:

import numpy as np

# Make sample empty image
a = np.zeros((8,8),dtype=np.uint8)                                                         

# Label a couple of random pixels as "3" to find
a[2,2]=3                                                                                   
a[3,4]=3                                                                                   

# Find them
my3s = np.where(a==3)                                                                             
Out[13]: (array([2, 3]), array([2, 4]))