You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

图像数组处理中np.unique返回的indices参数含义咨询

理解numpy.unique的return_index参数

我来帮你搞清楚return_index=True在这里的作用哈!你得到的indices数组里的数值,对应着原图像数组中每个唯一值第一次出现的位置索引——注意这里的索引是把多维数组展平成一维后的位置哦。

核心逻辑拆解

当你调用np.unique(img, return_index=True)时,numpy会返回两个结果:

  • a:原数组中所有不重复的数值,默认按升序排列(也就是你得到的[0,1])
  • indices:数组里每个唯一值,在被展平为一维的原数组中第一次出现的索引位置。

结合你的例子分析

从你显示的黑白图像来看,这是一张单通道的二值图(只有0和1两种像素值),假设图像数组的形状是(height, width),那么展平后的一维数组长度就是height * width:

  • indices[0] = 0:说明像素值0是展平数组的第一个元素,对应图像左上角的像素就是0
  • indices[1] = 879385:说明像素值1第一次出现在展平后的第879386个位置(因为索引从0开始计数)。如果想知道这个位置在图像里的二维坐标,可以用np.unravel_index(879385, img.shape)来转换,得到对应的(row, col)位置。

验证小技巧

你可以用下面的代码验证这个逻辑:

# 验证展平数组中对应索引的数值
print(img.flatten()[indices[0]])  # 输出:0
print(img.flatten()[indices[1]])  # 输出:1

# 转换为二维坐标并验证
row, col = np.unravel_index(indices[1], img.shape)
print(img[row, col])  # 输出:1

内容的提问来源于stack exchange,提问作者user297850

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:18:19