我有2维阵列与RGB像素数据(2行与3像素在一行)。
[[[255, 255, 255],[3, 0, 2],[255, 255, 255]],[[255, 255, 255],[3, 0, 2],[255, 255, 255]]]
我怎样才能得到唯一的像素?我想要得到
[[255, 255, 255], [3, 0, 2]]
我正在尝试将np.unique和np.transpose与np.reshape一起使用,但我无法获得想要的结果。
np.unique
np.transpose
np.reshape
lp0sw83n1#
将阵列重塑为2D,然后将np.unique与axis=0配合使用
axis=0
arr = np.array([[[255, 255, 255],[3, 0, 2],[255, 255, 255]],[[255, 255, 255],[3, 0, 2],[255, 255, 255]]]) shape = arr.shape arr = arr.reshape((shape[0] * shape[1], shape[2])) print(np.unique(arr, axis=0))
输出
[[ 3 0 2] [255 255 255]]
d4so4syb2#
这个怎么样?
import itertools np.unique(np.array(list(itertools.chain(*arr))), axis=0)
array([[ 3, 0, 2], [255, 255, 255]])
2条答案
按热度按时间lp0sw83n1#
将阵列重塑为2D,然后将
np.unique
与axis=0
配合使用输出
d4so4syb2#
这个怎么样?