我有一个3D numpy数组(2000 x 2000 x 300),由300个二进制图像组成(像素值为0或1)。我想得到一个维度为P x 3的numpy数组,其中P是值为1的像素数。我想这样做是为了能够处理长度为P的3个向量中的每一个,这些向量包含像素的坐标(x,y,z),并且能够绘制点云。显然,我最初考虑使用3 for循环并追加到列表,但这将花费非常长的时间。
svujldwt1#
这就是np.argwhere的目的:
np.argwhere
import numpy as np array = np.array( [[[1,0,1],[0,0,1],[1,1,0]], [[0,0,1],[0,0,0],[1,1,0]], [[0,1,0],[0,0,0],[0,1,1]]] ) args = np.argwhere(array) print(args)
字符串输出量:
[[0 0 0] [0 0 2] [0 1 2] [0 2 0] [0 2 1] [1 0 2] [1 2 0] [1 2 1] [2 0 1] [2 2 1] [2 2 2]]
型
1条答案
按热度按时间svujldwt1#
这就是
np.argwhere
的目的:字符串
输出量:
型