如何标记它们不具有相同值的区域?

How to label regions that they do not have same values?

我在一个 numpy 数组中堆叠了 5 个概率图(a,形状为 256x256x5),我堆叠了它们,然后我得到了所有这些的 argmax,最终输出是以不同的5种颜色显示,然而,对应于区域内像素的值是不相同的(值在[0,1]之间变化)。

max_= np.argmax(a, axis=2)
plt.imshow(max_)
plt.show()

我不知道如何按值分隔每个对象,因为区域内的像素没有相同的值。有人知道如何标记这五个对象(彩色部分和背景)吗?

如果我理解这个问题,您想要的是最大概率本身,而不是最大概率的 指数 。 (小问题:如果你的数组真的是 5 × 256 × 256 的形状,那么我认为你 np.argmanx(a, axis=0) 得到了那个结果。)

这会给你最大的概率:

max_prob = np.amax(a, axis=0)

如果您希望每个 'object' 独立,则可以对每个区域执行此操作:

prob_1 = np.zeros((256, 256))
prob_1[max_ == 1] = max_prob[max_ == 1]
prob_1[prob_1 == 0] = np.nan